官术网_书友最值得收藏!

Chapter Five
第5章 公鏈面臨的技術(shù)挑戰(zhàn)

5.1 區(qū)塊鏈技術(shù)的不可能三角

5.1.1 CAP定理

計(jì)算機(jī)科學(xué)家埃里克·布魯爾提出了關(guān)于分布式計(jì)算系統(tǒng)的一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partition-tolerant)的CAP定理。CAP定理證明,當(dāng)網(wǎng)絡(luò)存在分區(qū)時(shí),一致性、可用性和分區(qū)容錯(cuò)性之間只能三取二。

先來(lái)解釋三個(gè)名詞:

1)一致性:統(tǒng)一的記錄。

2)可用性:正常節(jié)點(diǎn)響應(yīng)。

3)分區(qū)容錯(cuò)性:指的是網(wǎng)絡(luò)中允許丟失從一個(gè)節(jié)點(diǎn)發(fā)送到另一個(gè)節(jié)點(diǎn)的任意數(shù)量的消息。

在網(wǎng)絡(luò)分區(qū)發(fā)生時(shí),兩個(gè)分布式節(jié)點(diǎn)之間無(wú)法進(jìn)行通信,那么我們對(duì)一個(gè)節(jié)點(diǎn)進(jìn)行的修改操作將無(wú)法同步到另外一個(gè)節(jié)點(diǎn),所以數(shù)據(jù)的“一致性”將無(wú)法滿足,因?yàn)閮蓚€(gè)分布式節(jié)點(diǎn)的數(shù)據(jù)不再保持一致。除非我們犧牲“可用性”,也就是暫停分布式節(jié)點(diǎn)服務(wù),在網(wǎng)絡(luò)分區(qū)發(fā)生時(shí),不再提供修改數(shù)據(jù)的功能,直到網(wǎng)絡(luò)狀況完全恢復(fù)正常再繼續(xù)對(duì)外提供服務(wù)。或者為了保證可用性而犧牲數(shù)據(jù)一致性。

所謂區(qū)塊鏈技術(shù)的不可能三角,是指在區(qū)塊鏈公鏈中,很難同時(shí)做到既有很好的“去中心化”,又有良好的系統(tǒng)“安全性”,同時(shí)還能有很高的“交易處理性能”。其中“交易處理性能”也就是經(jīng)常說(shuō)的TPS(Transactions Per Second)——每秒處理交易的筆數(shù)(見(jiàn)圖5-1)。

圖5-1 區(qū)塊鏈技術(shù)的“不可能三角”

接下來(lái)用CAP定理,來(lái)解釋區(qū)塊鏈不可能三角為什么不可突破。

1.一致性是安全性的必要條件

當(dāng)系統(tǒng)中出現(xiàn)不一致時(shí)(兩個(gè)節(jié)點(diǎn)記錄的數(shù)據(jù)不一致),我們認(rèn)定這樣的區(qū)塊鏈系統(tǒng)是不安全的。在這樣的定義下,一致性是區(qū)塊鏈系統(tǒng)安全的基本前提,區(qū)塊鏈的安全性是比分布式系統(tǒng)的一致性更加嚴(yán)格的需求。

2.可用性是可擴(kuò)展性的必要條件

可擴(kuò)展性指的是每秒可以處理的交易量,高可擴(kuò)展性即是實(shí)現(xiàn)每秒高頻次的可讀可寫操作。在邏輯上,可用性是比可擴(kuò)展性更基礎(chǔ)的網(wǎng)絡(luò)要求,不能實(shí)現(xiàn)可用性的區(qū)塊鏈系統(tǒng),是不能實(shí)現(xiàn)可擴(kuò)展性的,即可用性是可擴(kuò)展性的前提。

3.分區(qū)容錯(cuò)性是去中心化的必要條件

在真實(shí)分布式環(huán)境中,分布式系統(tǒng)必然存在分區(qū),不可能保證系統(tǒng)中的每個(gè)節(jié)點(diǎn)都不會(huì)出現(xiàn)任何故障。也就是說(shuō),去中心化必定導(dǎo)致發(fā)生分區(qū)的可能,也就意味著分區(qū)容錯(cuò)性是實(shí)現(xiàn)去中心化的前提。

5.1.2 公鏈技術(shù)現(xiàn)狀

目前最著名的三大公鏈?zhǔn)潜忍貛拧⒁蕴缓虴OS[1](詳見(jiàn)本書第8章“熱門公鏈對(duì)比解析”)。其他公鏈要么是模仿三大公鏈,要么是從三大公鏈分叉出來(lái),在各方面都和三大公鏈很類似。因此我們主要觀察三大公鏈就可以看到公鏈技術(shù)的現(xiàn)狀。

1.比特幣

比特幣采用的是基于工作量證明的共識(shí)機(jī)制。在比特幣發(fā)展初期,一臺(tái)普通電腦就可以參與挖礦。但后來(lái),隨著幣價(jià)的猛漲,挖礦變得有利可圖,于是顯卡挖礦出現(xiàn),再后來(lái),算力更強(qiáng)的ASIC礦機(jī)出現(xiàn),并最終成為主要挖礦手段。普通電腦和顯卡挖礦徹底成為歷史。現(xiàn)在ASIC礦機(jī)的制造和生產(chǎn)幾乎被比特大陸所壟斷,而比特幣全網(wǎng)的算力也幾乎被幾大礦池所壟斷。因此比特幣的“去中心化”在很多人看來(lái)已經(jīng)名不符實(shí)。

在“交易處理性能”方面,比特幣的TPS大概只有每秒七筆,已經(jīng)完全不適合作為日常高頻小額轉(zhuǎn)賬使用。正是如此低下的交易性能,導(dǎo)致比特幣社區(qū)對(duì)比特幣未來(lái)的發(fā)展產(chǎn)生了分歧。而這個(gè)分歧并沒(méi)有得到妥善的解決,最終導(dǎo)致2017年比特幣硬分叉出了比特幣現(xiàn)金。

在安全性方面,比特幣目前來(lái)說(shuō)無(wú)疑是最好的。其全網(wǎng)算力一方面隨著ASIC礦機(jī)自身的更新?lián)Q代在不斷提高,另一方面新礦機(jī)源源不斷地加入也在持續(xù)增強(qiáng)全網(wǎng)算力。據(jù)測(cè)算,目前攻擊比特幣所需的代價(jià)是所有POW公鏈中最高的。

2.以太坊

以太坊也是基于工作量證明的共識(shí)機(jī)制。但它仍然可以采用顯卡挖礦,因此算力壟斷的情況沒(méi)有比特幣那么嚴(yán)重,所以在“去中心化”方面比比特幣要好一些。以太坊未來(lái)將徹底轉(zhuǎn)向POS共識(shí),以解決算力壟斷的問(wèn)題。

以太坊的TPS比比特幣稍微高一點(diǎn),每秒大概7~15筆。但由于以太坊是智能合約平臺(tái),它的應(yīng)用場(chǎng)景更復(fù)雜,相對(duì)比特幣更容易發(fā)生擁堵。因此以太坊爆出的性能問(wèn)題所受的關(guān)注度更高。也正因?yàn)槿绱耍庞辛撕髞?lái)備受期望和關(guān)注的EOS誕生。

以太坊在安全性方面僅次于比特幣。據(jù)測(cè)算,目前攻擊以太坊所需的代價(jià)僅次于比特幣。

3.EOS

EOS一出現(xiàn)時(shí),最大的賣點(diǎn)就是TPS高、交易性能強(qiáng)。現(xiàn)在EOS的真實(shí)性能雖然沒(méi)有達(dá)到官方曾經(jīng)宣揚(yáng)的百萬(wàn)級(jí),但在三大公鏈中是最高的,達(dá)到了3000~4000TPS。這個(gè)性能遠(yuǎn)遠(yuǎn)拋開了比特幣和以太坊。

但EOS為了達(dá)到這樣的TPS,在“去中心化”方面做出了巨大的犧牲。相對(duì)于比特幣和以太坊全網(wǎng)上萬(wàn)個(gè)節(jié)點(diǎn),它全網(wǎng)只有21個(gè)節(jié)點(diǎn)。因此在“去中心化”方面是三大公鏈中最受質(zhì)疑的。

在安全性方面,由于EOS全網(wǎng)只有21個(gè)節(jié)點(diǎn),因此比起攻擊比特幣或以太坊的幾千個(gè)節(jié)點(diǎn),攻擊21個(gè)節(jié)點(diǎn)對(duì)黑客來(lái)說(shuō)相對(duì)容易很多。所以在安全性方面EOS也是三者中最差的。

表5-1對(duì)三大公鏈的“不可能三角”進(jìn)行了總結(jié)對(duì)比。

表5-1 三大公鏈技術(shù)的對(duì)比總結(jié)

主站蜘蛛池模板: 祥云县| 伊金霍洛旗| 绥阳县| 宁明县| 疏勒县| 维西| 米易县| 扬州市| 化州市| 永顺县| 兴化市| 丰都县| 江口县| 吉木萨尔县| 前郭尔| 永兴县| 肇源县| 曲周县| 德清县| 临桂县| 岚皋县| 达拉特旗| 辽宁省| 海南省| 合山市| 玛曲县| 东宁县| 尖扎县| 和政县| 额敏县| 陕西省| 长武县| 洛宁县| 承德县| 吐鲁番市| 图片| 阿城市| 潞城市| 东兴市| 凤山县| 瑞昌市|