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