區(qū)塊鏈主流共識算法一文全通
在每種偉大的加密貨幣背后,都有著一個偉大的共識算法。沒有共識算法是完美的,但是它們各有千秋。在加密世界中,需要共識算法來防止重支付。這是迄今為止一些最流行的共識算法的簡要介紹,從區(qū)塊鏈到DAG以及介于兩者之間的所有內(nèi)容。
1. 工作量證明:POW (Proof - of -Work)
代表項目:BTC.ETH.BCH.LTC.Doge
優(yōu)點:目前最安全的共識算法
缺點:需要成長期,吞吐速度慢
工作量證明是第一個區(qū)塊鏈共識算法。由中本聰(Satoshi Nakamoto)設(shè)計用于比特幣區(qū)塊鏈,我們要感謝PoW,感謝我們在全球范圍內(nèi)看到的大量采礦作業(yè)和電力消耗。但是在行業(yè)發(fā)展的這個階段,它開始被認為是一種過去的技術(shù)。甚至以太坊也從PoW遷移到更多能源和經(jīng)濟高效的PoS。有這么多新的替代方案,很難理解為什么新的區(qū)塊鏈會使用PoW。
在PoW中,礦工解決了無用的難題,從而創(chuàng)建了區(qū)塊。PoW在“最長鏈勝”系統(tǒng)上運行。因此,假設(shè)大多數(shù)礦工都在同一鏈上工作,那么增長最快的人將是最長,最值得信賴的。因此,只要礦工投入的工作中超過50%是誠實的,區(qū)塊鏈就是安全的。
2. 權(quán)益證明:POS ( Proof - of - Stake )
代表項目:ETH2.0.Peercoin
優(yōu)點:攻擊成本更高,節(jié)能,可擴展
缺點:完整攻擊之后區(qū)塊鏈容易完全失去價值
在PoS中,區(qū)塊不是由礦工工作創(chuàng)建的,而是由礦工將其令牌押在有效區(qū)塊上的“賭注”中來創(chuàng)建的。對于分叉,鑄造者花費他們的代幣投票支持哪個分叉。假設(shè)大多數(shù)人對正確的分叉進行投票,那么對錯誤的分叉進行投票的驗證者將“丟掉他們的股份”。
反對股權(quán)證明的常見論點是“ 一無所有” 問題。令人擔憂的是,由于驗證器不像PoW那樣花費驗證器幾乎沒有計算能力,因此驗證器可以對發(fā)生的每個分支的兩端進行投票。這樣一來,PoS中的此時分叉可能會比PoW中的更為普遍,有些人擔心這會損害貨幣的信譽。
3. 委托權(quán)益證明:DPoS ( Delegated - Proof - of - Stake )
流行的實現(xiàn):Steemit.EOS.BitShares
優(yōu)點:便宜的交易;可擴展 ,高效節(jié)能
缺點:弱中心化,不穩(wěn)定,易攻擊
DPoS是Daniel Larimer的創(chuàng)意,實際上與PoS截然不同。在DPoS中,令牌持有者不會對區(qū)塊本身的有效性進行投票,而是會投票選舉代表他們進行驗證的代表。在DPoS系統(tǒng)中,通常有21-100位民選代表。代表會定期洗牌,并下達命令以交付他們的區(qū)塊。很少的代表可以使他們高效地組織自己,并為每個代表創(chuàng)建指定的時間以發(fā)布他們的圖塊。如果代表繼續(xù)錯過他們的障礙或發(fā)布無效交易,則大眾將其投票出去,并用更好的代表代替他們。
在DPoS中,礦工可以協(xié)作制作區(qū)塊,而不必像PoW和PoS中那樣競爭。通過部分集中塊的創(chuàng)建,DPoS可以比大多數(shù)其他共識算法計算速度快幾個數(shù)量級。EOS被設(shè)置為一個區(qū)塊時間少于1秒,大約0.5秒一個塊。
4. 授權(quán)證明PoA ( Proof - of - authority )
代表項目:POA.Network,以太坊Kovan測試網(wǎng)
優(yōu)點:高吞吐量;可擴展的
缺點:企業(yè)集中式系統(tǒng)
權(quán)威證明是一種共識算法,其中交易通過批準的帳戶進行驗證,類似于系統(tǒng)的“管理員”。這些帳戶是其他節(jié)點從其接收真相的權(quán)限。PoA具有高吞吐量,并針對專用網(wǎng)絡(luò)進行了優(yōu)化。由于其集中性,您不太可能看到PoA在公共鏈上運行。
5. 權(quán)重證明 POWeight ( Proof - of -Weight )
代表項目:Algorand,F(xiàn)ilecoin,Chia
優(yōu)點:可定制;可擴展的
缺點:激勵方式可能是一個問題
權(quán)重證明是基于Algorand共識模型的共識算法的廣泛分類。通常的想法是,在PoS中,您在網(wǎng)絡(luò)中擁有的代幣的百分比表示您“發(fā)現(xiàn)”下一個區(qū)塊的可能性,在PoWeight系統(tǒng)中,會使用其他相對加權(quán)的值。比如Filecoin的時空證明是根據(jù)您要存儲的IPFS數(shù)據(jù)量來加權(quán)的,其他系統(tǒng)可能包括信譽證明之類的權(quán)重。
6. 拜占庭容錯BFT
代表項目:Hyperledger,Stellar,Dispatch和Ripple
優(yōu)點:高吞吐量;低成本; 可擴展的
缺點:可信任度低
有一個經(jīng)典的問題是分布式計算,通常用拜占庭將軍來解釋。問題是幾位拜占庭將軍及其各自的拜占庭軍隊部分已經(jīng)包圍了一個城市。他們必須一致決定是否進攻。如果一些將軍在沒有其他人的情況下發(fā)動進攻,他們的包圍將以悲劇告終。將軍通常被距離隔開,必須傳遞信息進行交流。幾種加密貨幣協(xié)議使用某種版本的BFT達成共識,每種協(xié)議各有利弊。
實用拜占庭式容錯(PBFT):此問題的第一個解決方案是“ 實用拜占庭式容錯”。Hyperledger Fabric當前正在使用,很少(少于20個)預(yù)選的將軍PBFT高效地運行。
優(yōu)點:高事務(wù)吞吐量
缺點:集中/允許
聯(lián)邦拜占庭協(xié)定(FBA):FBA是另一種解決方案,用于解決Stellar和Ripple等貨幣使用的拜占庭將軍問題。在一般的想法,是每一個拜占庭一般情況下,對自己負責的鏈,因為他們一進來就建立真相排序消息。在Ripple中,將由Ripple基礎(chǔ)預(yù)先選擇將軍(驗證人)。在Stellar中,任何人都可以成為驗證者,因此您可以選擇信任哪些驗證者。
由于其令人難以置信的吞吐量,低交易成本和網(wǎng)絡(luò)可擴展性,我相信FBA類共識算法是我們發(fā)現(xiàn)的最佳分布式共識算法。
7. 有向無環(huán)圖 DAG
代表項目:Iota,Hashgraph,Raiblocks / Nano
優(yōu)點:網(wǎng)絡(luò)可擴展性;低成本
缺點:取決于實施
DAG現(xiàn)在比Vitalik的Tinder配置文件要熱。DAG是一種共識形式,它不使用區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)并且大部分異步處理事務(wù)。理論上最大的優(yōu)點是每秒無限事務(wù),但DAG具有與其他共識一樣的優(yōu)點和缺點。
Tangle是Iota使用的DAG共識算法。為了發(fā)送Iota交易,您需要驗證之前收到的兩個交易。越多的交易添加到“糾纏不清”中,二對一,付費支付共識就增強了交易的有效性。由于共識是由交易建立的,因此從理論上講,如果某人可以生成交易的1/3,則他們可以說服網(wǎng)絡(luò)的其余部分認為其無效交易是有效的。在沒有足夠的交易量導(dǎo)致無法創(chuàng)建交易量的1/3之前,Iota會在稱為“ 協(xié)調(diào)器 ” 的集中式節(jié)點上對網(wǎng)絡(luò)的所有交易進行“雙重檢查” 。
艾奧塔說,協(xié)調(diào)器的工作原理類似于系統(tǒng)的訓(xùn)練輪,一旦Tangle足夠大,協(xié)調(diào)器就會被拆除。