天天看點

分布式之PoW算法寫在前面1:PoW算法寫在後面

寫在前面

在分布式之PBFT算法 一文中我們分析了PBFT

(pratical byzantine fault tolerant)

算法,但是該算法對惡意節點的個數有要求,即不能超過

(n-1/3)

,試想下如果将該算法用在區塊鍊中,那就麻煩了。想要解決這個問題,就需要用到PoW算法,也正是本文要分析的内容,下面我們就開始吧!

1:PoW算法

首先PoW算法和PBTF算法一樣都是一種拜占庭容錯的分布式共識算法,但不同于PBFT,PoW全稱是proof of work,即工作量證明,即某節點如果是想要加入到叢集中,則需要完成一定的工作,什麼意思呢?比如某公司招聘Java開發崗位,需要完成一道程式設計題,你完成了這道程式設計題,就是

你工作量的證明

,然後面試官負責對你的程式進行稽核,進而确定是否滿足其要求。在PoW算法就會引入請求方和驗證方,請求方執行運算,運算處結果後,将結果發送給驗證方進行驗證,如下圖:

分布式之PoW算法寫在前面1:PoW算法寫在後面

其實在區塊鍊中使用的就是PoW算法,并且在其應用場景中,這個運算的成本是非常高的,有多高呢?以比特币為例,想要完整作惡的話,總的成本大概在百億。是以Pow算法并非是能夠讓叢集中沒有作惡節點,而是通過提高加入叢集的門檻

(通過工作量證明)

,來提高壞人作惡的成本,進而讓壞人因為得不償失而不去作惡。

寫在後面

參考文章清單

分布式之PBFT算法 。

繼續閱讀