圍繞區(qū)塊鏈的炒作是巨大的。周圍區(qū)塊鏈炒作的聲音告訴我們,區(qū)塊鏈在現(xiàn)在這個(gè)時(shí)代將:
解決收入不平等
永遠(yuǎn)確保所有數(shù)據(jù)的安全
使一切變得更加高效和無需信任
無論如何,區(qū)塊鏈到底是什么?真的可以做所有這些事情嗎?區(qū)塊鏈能否為醫(yī)療,金融,供應(yīng)鏈管理和音樂版權(quán)等行業(yè)帶來驚人的收益?
而且因?yàn)槟悴皇?a href="http://ttokpm.com/tags/比特幣/" target="_blank">比特幣就意味著你是更高端的區(qū)塊鏈嗎?普通人為何只看到比特幣三個(gè)字,卻對(duì)其背后偉大的技術(shù)默不作聲?
在本文中,我試圖通過讓你了解區(qū)塊鏈?zhǔn)鞘裁?,更重要的是,讓人們了解不是因?yàn)槿魏螙|西掛上區(qū)塊鏈三個(gè)字就可以解決很多現(xiàn)實(shí)問題。
什么是區(qū)塊鏈?
為了研究其中一些說法,我們必須定義什么是區(qū)塊鏈,而這正是其中許多困惑的來源。許多公司使用“區(qū)塊鏈”一詞來描述某種神奇的設(shè)備,通過這些設(shè)備,他們的所有數(shù)據(jù)都不會(huì)出錯(cuò)。當(dāng)然,至少在現(xiàn)實(shí)中,這種傳說中的設(shè)備是不存在的。
那么什么是區(qū)塊鏈?從技術(shù)上講,區(qū)塊鏈?zhǔn)菂^(qū)塊的鏈條,而區(qū)塊是一組有序交易。如果你不了解最后一句話,可以將區(qū)塊鏈視為數(shù)據(jù)庫(kù)里的子集,并具有一些其他屬性。
區(qū)分區(qū)塊鏈和普通數(shù)據(jù)庫(kù)的主要關(guān)鍵點(diǎn)是,關(guān)于如何將數(shù)據(jù)放入數(shù)據(jù)庫(kù)有特定的規(guī)則。也就是說,它不能與數(shù)據(jù)庫(kù)中已有的其他數(shù)據(jù)沖突(一致性),只能追加(不可變性),數(shù)據(jù)本身被鎖定為所有者(可擁有),可復(fù)制且可用。最后,每個(gè)人都同意在沒有中央?yún)⑴c者(去中心化)的情況下處理數(shù)據(jù)庫(kù)中事物的狀態(tài)(規(guī)則)。
最后一點(diǎn)確實(shí)是區(qū)塊鏈的圣杯。去中心化非常具有吸引力,因?yàn)樗馕吨鴽]有單點(diǎn)故障。也就是說,沒有任何一個(gè)權(quán)威機(jī)構(gòu)能夠拿走您的資產(chǎn)或更改“歷史記錄”以滿足他們的需求。您無需信任任何人,這條不變的審計(jì)線索就是所有使用該技術(shù)的人都在尋找的好處。然而,這種好處需要付出巨大的代價(jià)。
區(qū)塊鏈的成本代價(jià)
不受任何一方控制的不可變的審計(jì)跟蹤無疑是有用的,但是創(chuàng)建這樣一個(gè)系統(tǒng)要付出很多成本。讓我們研究一些問題。
創(chuàng)建一個(gè)更嚴(yán)謹(jǐn),不可篡改的,可證明一致性的系統(tǒng)并非易事。一個(gè)小錯(cuò)誤可能會(huì)破壞整個(gè)數(shù)據(jù)庫(kù)或?qū)е履承?shù)據(jù)庫(kù)與其他數(shù)據(jù)庫(kù)不同。當(dāng)然,已損壞或拆分的數(shù)據(jù)庫(kù)不再具有任何一致性保證。此外,所有此類系統(tǒng)必須從一開始就進(jìn)行設(shè)計(jì)以保持一致。區(qū)塊鏈無法做到“快速確認(rèn)并解決問題”。如果你破壞事物,則會(huì)失去一致性,并且區(qū)塊鏈將變得毫無價(jià)值。
您可能在想,為什么不能只修復(fù)數(shù)據(jù)庫(kù)或重新開始并繼續(xù)前進(jìn)?在中心化的系統(tǒng)中這樣做很容易,但是在去中心化的系統(tǒng)中則很難。你需要達(dá)成共識(shí)或系統(tǒng)中所有參與者的同意才能更改數(shù)據(jù)庫(kù)。區(qū)塊鏈必須是不受單個(gè)實(shí)體(去中心化,還記得嗎?)控制的公共資源,否則整個(gè)工作是創(chuàng)建緩慢的集中式數(shù)據(jù)庫(kù)的一種非常昂貴的方法。
激勵(lì)結(jié)構(gòu)難以設(shè)計(jì)
添加正確的激勵(lì)結(jié)構(gòu)并確保系統(tǒng)中的所有參與者都不能濫用或破壞數(shù)據(jù)庫(kù)也是一個(gè)重要的考慮因素。區(qū)塊鏈可能是一致的,但是如果其中有很多瑣碎無用的數(shù)據(jù),那么區(qū)塊鏈就不會(huì)很有用,因?yàn)閷?shù)據(jù)放入其中的成本非常低。如果幾乎沒有數(shù)據(jù),那么一致的區(qū)塊鏈也沒有用,因?yàn)閷?shù)據(jù)放入其中的成本非常高。
是什么賦予數(shù)據(jù)確定性?您如何確保獎(jiǎng)勵(lì)與網(wǎng)絡(luò)目標(biāo)保持一致?為什么節(jié)點(diǎn)在發(fā)生沖突時(shí)會(huì)保留或更新數(shù)據(jù),又為何使它們選擇一個(gè)數(shù)據(jù)而不是另一個(gè)呢?這些都是激勵(lì)性問題,需要良好的答案,并且不僅需要在開始時(shí)而且在未來隨著技術(shù)和公司的變化而協(xié)調(diào)一致,否則區(qū)塊鏈將無用。
再次,您可能想知道為什么您不能“解決”一些壞的動(dòng)機(jī)。再一次,在中心化的系統(tǒng)中這很容易,但是在分布式系統(tǒng)中,您根本無法在沒有共識(shí)的情況下進(jìn)行任何更改。除非所有人都同意,否則任何事情都無法“修復(fù)”。
維護(hù)區(qū)塊鏈系統(tǒng)非常昂貴
傳統(tǒng)的集中式數(shù)據(jù)庫(kù)只需寫入一次。區(qū)塊鏈需要被寫入數(shù)千次。傳統(tǒng)的集中式數(shù)據(jù)庫(kù)只需要檢查一次數(shù)據(jù)。區(qū)塊鏈需要檢查數(shù)據(jù)數(shù)千次。傳統(tǒng)的集中式數(shù)據(jù)庫(kù)只需傳輸一次數(shù)據(jù)即可存儲(chǔ)。區(qū)塊鏈需要傳輸數(shù)據(jù)數(shù)千次。
維護(hù)區(qū)塊鏈的成本要高出幾個(gè)數(shù)量級(jí),而且成本需要通過效用來證明。大多數(shù)應(yīng)用程序在尋找前面提到的某些屬性(如一致性和可靠性)時(shí),可以通過完整性檢查,收據(jù)和備份來以更低的價(jià)格獲得這些東西。
用戶是主權(quán)控制者
由于公司不希望將用戶數(shù)據(jù)放在首位,因此這確實(shí)非常好。但是,如果用戶“行為不當(dāng)”,這可能很糟糕。沒有辦法用瑣碎的數(shù)據(jù)來阻止用戶向你的區(qū)塊鏈發(fā)送垃圾郵件,或者想辦法以某種方式獲利,從而給其他用戶帶來很多不便。這與上述觀點(diǎn)有關(guān),即激勵(lì)結(jié)構(gòu)必須設(shè)計(jì)得非常好,特別是如果發(fā)現(xiàn)漏洞的用戶不太可能放棄,尤其是在為用戶帶來利益的情況下。
你可能會(huì)認(rèn)為可以拒絕對(duì)惡意用戶的服務(wù),這在集中式服務(wù)中非常容易做到。但是,與集中式服務(wù)不同,拒絕服務(wù)很困難,因?yàn)闆]有一個(gè)實(shí)體有權(quán)將任何人趕出去。區(qū)塊鏈必須公正并執(zhí)行軟件定義的規(guī)則。如果規(guī)則不足以阻止不良行為,那么您就不走運(yùn)了。這里沒有法律的“精神”。你只需要與惡意或行為不端的行為者打交道,可能就需要很長(zhǎng)時(shí)間。
所有版本升級(jí)均為自愿
強(qiáng)制升級(jí)不是區(qū)塊鏈系統(tǒng)的選擇。網(wǎng)絡(luò)上的其他廣播者沒有義務(wù)更改你的軟件。如果他們這樣做的話,將這樣的系統(tǒng)構(gòu)建為中心化系統(tǒng)將更加容易,快捷和便宜。區(qū)塊鏈的要點(diǎn)是,它不受單個(gè)實(shí)體的控制,并且強(qiáng)制升級(jí)違反了這一規(guī)則。
相反,所有升級(jí)都必須向后兼容。這顯然是相當(dāng)困難的,特別是如果您想添加新功能,并且從測(cè)試角度考慮時(shí)甚至更加困難。該軟件的每個(gè)版本都在測(cè)試矩陣中增加了很多內(nèi)容,并延長(zhǎng)了發(fā)布時(shí)間。
同樣,如果這是一個(gè)中心化系統(tǒng),則不再維修舊系統(tǒng)將很容易糾正它。但是在分散式系統(tǒng)中,你無法執(zhí)行此操作,因?yàn)槟悴荒軓?qiáng)迫任何人執(zhí)行任何操作。
擴(kuò)容真的很難
最后,擴(kuò)容區(qū)塊鏈系統(tǒng)比傳統(tǒng)中心化式系統(tǒng)難至少大幾個(gè)數(shù)量級(jí)。原因很明顯。相同的數(shù)據(jù)必須存在于數(shù)百或數(shù)千個(gè)位置中,而不是單個(gè)位置。傳輸,驗(yàn)證和存儲(chǔ)的開銷是巨大的,因?yàn)閿?shù)據(jù)庫(kù)的每個(gè)副本都必須支付這些費(fèi)用,而不是在傳統(tǒng)的集中式數(shù)據(jù)庫(kù)中一次支付這些費(fèi)用。
當(dāng)然,您可以通過減少節(jié)點(diǎn)數(shù)來減輕負(fù)擔(dān)。但是到那時(shí),為什么您根本需要一個(gè)去中心化的系統(tǒng)?如果擴(kuò)展成本是主要問題,為什么不僅僅建立一個(gè)中心化的數(shù)據(jù)庫(kù)呢?中心化化要容易得多。
如果您注意到一個(gè)主題,那就是分布式系統(tǒng)很難使用,維護(hù)成本高,難以升級(jí)且難以擴(kuò)展。集中式數(shù)據(jù)庫(kù)比區(qū)塊鏈更快,更便宜,更易于維護(hù)和升級(jí)。那么,為什么人們繼續(xù)使用“區(qū)塊鏈”一詞來解決所有問題呢?
大多數(shù)行業(yè)都不是這樣。大多數(shù)行業(yè)需要新功能或升級(jí),并且需要根據(jù)需要自由更改和擴(kuò)展。鑒于區(qū)塊鏈難以升級(jí),難以更改且難以擴(kuò)展,大多數(shù)行業(yè)對(duì)區(qū)塊鏈的使用并不多。
但我們發(fā)現(xiàn)的只有一個(gè)東西例外——金錢。
與大多數(shù)工業(yè)用例不同,如果不進(jìn)行改變,錢會(huì)變得更好。不可變性和更改規(guī)則的困難對(duì)金錢是有利的,而不是不利的。這就是為什么就比特幣而言,區(qū)塊鏈?zhǔn)峭瓿蛇@項(xiàng)工作的正確工具的原因。
顯而易見的是,許多希望使用區(qū)塊鏈的公司實(shí)際上根本就不需要區(qū)塊鏈,而是將IT升級(jí)到其特定行業(yè)。一切都很好,但是使用“區(qū)塊鏈”一詞到那里是不誠(chéng)實(shí)的,并且超出他們能力。
結(jié)論
如今,區(qū)塊鏈?zhǔn)且粋€(gè)流行的名詞,不幸的是,這種“想要區(qū)塊鏈而非比特幣”的思維模式并不會(huì)消失。如果您是中心化的服務(wù),則區(qū)塊鏈無法為您提供任何您無法使用集中式數(shù)據(jù)庫(kù)便宜一千倍的東西。如果您是去中心化服務(wù),那么你可能會(huì)自欺欺人,而不考慮系統(tǒng)中存在的單點(diǎn)故障。真正的去中心化服務(wù)根本不會(huì)有“你”。
早在2000年代初期,技術(shù)行業(yè)的許多高管就開始推動(dòng)使用Java和XML。盡管這兩種語言是工具,而不是實(shí)際產(chǎn)品,但無論他們的工程師想要達(dá)到的目標(biāo)多么糟糕,許多高管仍堅(jiān)持使用它們。區(qū)塊鏈非常像當(dāng)時(shí)的那種情況。專注于你要解決的問題,這些工具將使自己變得顯而易見。專注于您要使用的工具,最終您將制造出性能不佳的Rube Goldberg機(jī)器。
從某種意義上說,當(dāng)前的區(qū)塊鏈概念正在試圖做不可能的事情。他們希望在中心化系統(tǒng)的控制下實(shí)現(xiàn)分布式系統(tǒng)的安全性。欲望是兩全其美的,但他們最終得到的卻是兩敗俱傷的。通過集中式系統(tǒng)的模式,你會(huì)得到分布式系統(tǒng)的成本和困難。
大量使用區(qū)塊鏈作為流行語來出售大量無用的毒藥。我們擺脫炒作的速度越快,長(zhǎng)期的發(fā)展就越好。
責(zé)任編輯;zl
評(píng)論
查看更多