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

系列目錄

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

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

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

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

1、引子

前面介紹的算法,不管是 Paxos 仍是 Raft 都只能解決 非拜占庭將軍容錯的一致性問題CFT,Crash Fault Tolerance),不可以應對「故意的發送錯誤信息」問題。
本節咱們分析一下, BFT(Byzantine Fault Tolerance)僞造信息的拜占庭錯誤。常見的有工做量證實(PoW)、權益證實(PoS)、委託權益證實(DPoS),這些算法在區塊鏈獲得普遍應用。

2、常見BFT共識算法

2.1 POW算法

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

1. 算法核心post

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

 

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

這個工做量隨着哈希值前面0的位數的增長而呈指數型的增長,可是檢驗這個哈希值只須要進行一次哈希運算就能夠了。

 

2.特色spa

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

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

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 

相關文章
相關標籤/搜索