在每一個偉大的數(shù)字貨幣背后,都有一個很好的共識算法。沒有一種共識算法是完美的,但它們都有各自的優(yōu)點(diǎn)。在密碼術(shù)的世界里,存在著防止雙倍支出的共識算法。這里有一個到目前為止最流行的一些算法的快速概述,從區(qū)塊鏈到DAG和所有介于兩者之間的東西。
工作量證明(PoW)
流行的實現(xiàn)方式:比特幣、Ethereum、Litecoin、Dogecoin(大多數(shù)比特幣)
優(yōu)點(diǎn):我們知道它是有效的
缺點(diǎn):緩慢的吞吐量;
工作證明是第一個區(qū)塊鏈共識算法。由中本聰(Satoshi Nakamoto)設(shè)計,用于比特幣區(qū)塊鏈。我們要感謝全球范圍內(nèi)的大規(guī)模采礦作業(yè)和電力消耗。我們知道它是可行的(對于許多其他的共識算法,我們可以說它是可行的),但在游戲的這個階段,它開始被視為一種遺留技術(shù)。甚至以太坊也在從PoW遷移到更節(jié)能、更經(jīng)濟(jì)的PoS。有了這么多新的替代方案,很難理解為什么新的區(qū)塊鏈會還會使用PoW。
?
在POW中,礦工們通過解決一些困難的、無用的問題來制造塊。PoW運(yùn)行在“最長鏈獲勝”的系統(tǒng)上。“因此,假設(shè)大多數(shù)礦商都在同一條鏈上工作,那么增長最快的那條鏈將是最長、最值得信賴的?!币虼?,只要礦商投入的工作中有50%以上是誠實的,比特幣就是安全的。
權(quán)益證明(PoS)
一些常用的實現(xiàn): Decred、Ethereum、Peercoin
優(yōu)點(diǎn): 攻擊更昂貴;更多的分散
缺點(diǎn): 沒有什么利害關(guān)系
在PoS中,塊不是由正在工作的礦工創(chuàng)建的,而是由礦工用他們的代幣“打賭”哪些塊是有效的。在使用分叉的情況下,鑄造者使用代幣投票來支持某個分叉。假設(shè)大多數(shù)人都在正確的分叉上投票,那么在錯誤的分叉上投票的驗證器就會在正確的分叉上“失去他們的利益”。
權(quán)益證明的常見論點(diǎn)是利益無關(guān)問題。令人擔(dān)憂的是,由于與PoW不同,驗證器幾乎不需要計算能力來支持一個分叉,所以驗證器可以為發(fā)生的每個分叉的兩邊投票。這樣一來,在PoS的分叉可能會比POW的分叉普遍得多,一些人擔(dān)心這會損害貨幣的信譽(yù)。
委托權(quán)益關(guān)系證明 (DPoS)
流行的實現(xiàn): Steemit, EOS, bitshare
優(yōu)點(diǎn): 廉價的交易;可伸縮性的;
缺點(diǎn): 部分集中
DPoS是Daniel Larimer的產(chǎn)物,實際上和PoS有很大的不同。在DPoS中,代幣擁有者并不會投票給塊本身,而是投票給選舉人來代表他們進(jìn)行驗證。DPoS系統(tǒng)中一般有21-100名當(dāng)選代表。代表們定期洗牌,并接到命令,要把他們的塊送進(jìn)去。只有少量的委托允許它們有效地組織自己,并為每個委托創(chuàng)建指定的時間間隔來發(fā)布它們的塊。如果委托持續(xù)丟失它們的塊或發(fā)布無效的事務(wù),賭注就會將它們的投票排除,并使用更好的委托替換它們。
在DPoS中,采礦者可以協(xié)作生成塊,而不是像在PoW和PoS中那樣進(jìn)行競爭。通過部分集中化塊的創(chuàng)建,DPoS能夠比大多數(shù)其他共識算法運(yùn)行速度快幾個數(shù)量級。EOS設(shè)置為第一個塊乘以《 1秒的區(qū)塊鏈!比比特幣的10分鐘阻塞時間快一點(diǎn)。
權(quán)威證明(PoA)
流行的實現(xiàn): POA.Network, Ethereum Kovan testnet
優(yōu)點(diǎn): 高吞吐量;可伸縮性的
缺點(diǎn): 集中系統(tǒng)
PoA是一種共識算法,其中事務(wù)由經(jīng)過批準(zhǔn)的帳戶驗證,有點(diǎn)像系統(tǒng)的“管理員”。這些帳戶是其他節(jié)點(diǎn)從其接收真相的權(quán)威。PoA具有較高的吞吐量,并針對私有網(wǎng)絡(luò)進(jìn)行了優(yōu)化。由于PoA的集中性,您不太可能看到它在公共區(qū)塊鏈上運(yùn)行。
權(quán)重證明(PoWeight)
流行的實現(xiàn): Algorand、Filecoin、Chia
優(yōu)點(diǎn): 可定制;可伸縮性的
缺點(diǎn): 激勵可能是一個挑戰(zhàn)
PoWeight是一種廣泛分類的協(xié)商共識算法。一般的想法是,在PoS系統(tǒng)中,您在網(wǎng)絡(luò)中擁有代幣的百分比代表您“發(fā)現(xiàn)”下一個塊的概率,在PoWeight系統(tǒng)中,可以使用其他一些相對加權(quán)的值。具體示例:Filecoin的PoWeight是根據(jù)您存儲的IPFS數(shù)據(jù)的多少來確定的。其他系統(tǒng)可能包括一些權(quán)重,比如聲譽(yù)證明。
拜占庭式容錯(BFT)
流行的實現(xiàn): Hyperledger, Stellar, Dispatch和 Ripple
優(yōu)點(diǎn): 高吞吐量;低成本;可伸縮的
缺點(diǎn): 半信任
這個經(jīng)典問題是分布式計算,通常用拜占庭將軍來解釋。問題是幾個拜占庭將軍和他們各自所在的拜占庭軍隊包圍了一座城市。他們必須一致決定是否進(jìn)攻。如果一些將軍沒有攻擊其他將軍,他們的圍攻將以悲劇告終。將軍們通常隔著一段距離,必須傳遞信息進(jìn)行溝通。一些加密貨幣協(xié)議使用一些版本的BFT來達(dá)成共識,每個協(xié)議都有各自的優(yōu)缺點(diǎn):
實用拜占庭式容錯(PBFT):最早解決這個問題的方法之一就是發(fā)明實用拜占庭式容錯。優(yōu)點(diǎn):高事務(wù)吞吐量。缺點(diǎn):集中。
聯(lián)邦拜占庭協(xié)議(FBA): FBA是另一種解決拜占庭將軍問題的方法,類似于Stellar和Ripple。一般的想法是,每一個拜占庭將軍,對他們自己的鎖鏈負(fù)責(zé),在他們進(jìn)來建立真理時,對信息進(jìn)行分類。在Ripple基金會中,將軍(驗證器)是預(yù)先選定的。在Stellar系統(tǒng)中,任何人都可以是驗證程序,您可以選擇信任哪個驗證程序。
由于其驚人的吞吐量、低事務(wù)成本和網(wǎng)絡(luò)可伸縮性,我相信FBA類的協(xié)商共識算法是我們發(fā)現(xiàn)的用于分布式協(xié)商共識的最佳算法。
定向無環(huán)圖(DAG)
流行的實現(xiàn): Iota, Hashgraph, Raiblocks/Nano
優(yōu)點(diǎn): 網(wǎng)絡(luò)可伸縮性;低成本
缺點(diǎn): 取決于實現(xiàn)
DAG現(xiàn)在比Vitalik的Tinder更火。DAG是一種共識形式,它不使用區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu),主要異步處理事務(wù)。從理論上講,big pro是每秒無限次的交易,但與其他共識一樣,DAG也有優(yōu)點(diǎn)和缺點(diǎn)。
Tangle: Tangle是Iota使用的DAG共識算法。為了發(fā)送Iota事務(wù),您需要驗證接收到的前兩個事務(wù)。隨著越來越多的交易被添加到混亂之中,“一賠二、一付一”的共識增強(qiáng)了交易的有效性。因為共識是由事務(wù)建立的,理論上,如果有人能產(chǎn)生1/3的事務(wù)他們就能說服網(wǎng)絡(luò)的其他部分。除非有足夠的事務(wù)量,以至于無法創(chuàng)建三分之一的事務(wù)量,否則Iota就是在一個名為“協(xié)調(diào)器”的集中節(jié)點(diǎn)上“重復(fù)檢查”所有網(wǎng)絡(luò)事務(wù)。Iota說,協(xié)調(diào)員就像系統(tǒng)的輔助輪,一旦纏結(jié)足夠大,就會被移除。
Hashgraph: Hashgraph是由Leemon Baird開發(fā)的一個八卦協(xié)議共識。節(jié)點(diǎn)隨機(jī)地與其他節(jié)點(diǎn)共享它們已知的事務(wù),因此最終所有的事務(wù)都被散布到所有節(jié)點(diǎn)。Hashgraph非??欤棵氤^250,000個事務(wù)),但是不能抵抗Sybil攻擊。所以Hashgraph對于私有網(wǎng)絡(luò)來說是一個很好的選擇,但是你不會很快看到它在公共網(wǎng)絡(luò)中實現(xiàn),比如Ethereum或者Dispatch。
Block-lattice: Nano(以前稱為Raiblocks)在區(qū)塊鏈上運(yùn)行時帶有一個稱為Block-lattice的扭轉(zhuǎn)。Block-lattice是一個結(jié)構(gòu),在這個結(jié)構(gòu)中,每個用戶(地址)都擁有自己只能寫入的鏈,每個人都擁有所有鏈的副本。每個事務(wù)都被分解為發(fā)送方鏈上的發(fā)送塊和接收方鏈上的接收塊。塊似乎太簡單而不能工作,但它已經(jīng)在野外運(yùn)行了。這種獨(dú)特的結(jié)構(gòu)確實讓塊向一些獨(dú)特的攻擊向量開放,比如Penny-spend攻擊,攻擊者通過向大量的空錢包發(fā)送微不足道的數(shù)據(jù)來增加節(jié)點(diǎn)必須跟蹤的鏈的數(shù)量。
工作證明事件的序列化: 通過確認(rèn)交易
Recursive Elections (更廣為人知的名稱是SPECTRE)是一種提議的比特幣可伸縮性解決方案,它利用PoW和DAG的組合來達(dá)成可伸縮的共識。在SPECTRE中,塊被挖掘指向多個父節(jié)點(diǎn),而不僅僅是一個父節(jié)點(diǎn),因此網(wǎng)絡(luò)可能每秒處理多個塊。挖掘指向某些父塊支持這些塊的有效性。與PoW的“最長鏈的勝利”相比,SPECTRE使用了類似“最多塊勝利”這樣的東西。SPECTRE還沒有經(jīng)過實戰(zhàn)考驗,新的攻擊載體可能會出現(xiàn),但它似乎是修復(fù)比特幣的一種非常聰明的潛在方式。
評論
查看更多