分佈式共識算法 (四) BTF算法(區塊鏈使用)

系列目錄

分佈式共識算法 (一) 背景

分佈式共識算法 (二) Paxos算法

分佈式共識算法 (三) Raft算法

分佈式共識算法 (四) BTF算法

一、引子

前面介紹的算法,無論是 Paxos 還是 Raft 都只能解決非拜占庭將軍容錯的一致性問題CFT,Crash Fault Tolerance),不能夠應對“故意的發送錯誤信息”問題。
本節我們分析一下,BFT(Byzantine Fault Tolerance)僞造信息的拜占庭錯誤。常見的有工作量證明(PoW)、權益證明(PoS)、委託權益證明(DPoS),這些算法在區塊鏈得到廣泛應用。

二、常見BFT共識算法

2.1 POW算法

工作量證明(POW,Proof-of-Work)是一個用於阻止拒絕服務攻擊的協議,它在 1993 年被 Cynthia Dwork 和 Moni Naor 提出,它能夠幫助分佈式系統達到拜占庭容錯。

1. 算法核心

使用窮舉法,不停的用哈希算法(比如SHA-256)去運算,直到使得運算出的哈希值前面若干位都是0,即小於某個值。掌握了全網51%的算力,就可以所有結果。

 

SHA-256:是由256位二進制的數字(0和1)構成,轉換後由64位16進制的數表示,比如:6b88c087247aa2f07ee1c5956b8e1a9f4c7f892a70e324f1bb3d161e05ca107b。

這個工作量隨着哈希值前面0的位數的增加而呈指數型的增加,但是檢驗這個哈希值只需要進行一次哈希運算就可以了。

 

2.特點

完全去中心化,安全性高,每個節點是公平的,被攻擊成功的可能性小。需要耗費大量的算力,造成能源浪費,交易吞吐量有限。
3.應用

比特幣,萊特幣.每秒個位數交易量。

2.2 POS算法

權益證明(POS,Proof-of-Stake)最早在2013年被提出,並在Peercoin系統中實現,類似股東機制,擁有股份越多的人越容易獲取記賬權。

1.算法核心

通過保證金來對賭一個合法的塊成爲新的區塊,收益爲抵押資本的利息和交易服務費。保證金越多,獲得記賬權概率越大。惡意參與者存在保證金被懲罰的風險。一般情況下,掌握超過全網1/3的資源,纔可能左右最終的結果。

2.特點

POS不需要消耗大量的電力就能夠保證區塊鏈網絡的安全性,也不需要在每個區塊中創建新的貨幣來激勵礦工參與當前網絡的運行,縮短了達成共識所需要的時間。

3.應用

Ethereum 每秒大概能處理 30 筆交易左右。

 

2.3 DPOS算法

委託權益證明(DPOS,Delegated Proof-of-Stake)能夠讓每一個人選出可以代表自己利益的人蔘與到記賬權的爭奪中,這樣多個小股東就能夠通過投票選出自己的代理人,保障自己的利益。整個網絡中選舉出的多個節點能夠在 1s 中之內對 99.9% 的交易進行確認
1.算法核心:
在委託權益證明中,每一個參與者都能夠選舉任意數量的節點生成下一個區塊,得票最多的前 N 個節點會被選擇成爲區塊的創建者組,下一個區塊的創建者就會從這樣一組當選者中隨機選取,除此之外,N 的數量也是由整個網絡投票決定的,所以可以儘可能地保證網絡的去中心化。
 
應用:使用委託權益證明的 EOS 能夠每秒處理幾十萬筆交易。


 

========參考==========

https://www.jianshu.com/p/f73cee95821e

https://blog.csdn.net/yangwei256/article/details/83023649 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章