Filecoin: 影響力容錯(PFT)和預期共識(EC)
名字翻譯:Power Fault Tolerance-影響力容錯
關於這個名字翻譯,小編思考了大約2周時間,期間也跟各路技術牛人進行了交流。
The Power Fault Tolerance model (PFT) unifies all these classes of protocols by modeling the influence participants have over the output of the protocol as power
這是filecoin協議裡面對 PFT的解釋,power概念就是礦工的影響力(influence),「Power」是filecoin系統的投票權力的大小度量,根據礦工貢獻的Power來計算礦工的投票權有多大,根據信達雅的基本要求,所以稱為「影響力容錯」。之前曾經考慮過「權利容錯」和「權益容錯」,「權利」這個詞本身表達不了大小的概念,而「權益」又跟Proof of Stake(權益證明:EC共識是在這個基礎上進行的,有必要區分)有衝突,於是小編把這個詞翻譯成影響力容錯。或許有更貼切的表達方式,歡迎討論!
共識(Consensus):拜占庭共識
共識---一個區塊鏈領域領域裡面經常談起的一個概念,任何區塊鏈都無法繞開的一個問題。在我們的日常生活中,絕大多數機構都是中心化的,一家銀行,快遞公司,電商網站等等。共識是在參與者之間達成一致。由於中心化的機構由中心化的機構本身來維護共識,比如:銀行,幫我們所有人記賬,由國家權力保障,我們信任銀行,這是我們的經濟得以發展的基礎。
在區塊鏈領域裡面,所有節點都是對等節點,就是說沒有任何一個節點有超越其他節點的許可權。那麼想在這麼一個一盤散沙的節點中維護一個共識是一件非常難的事情,試想一下,大廣場上有1000個平等的互相不信任的人,要讓他們對一件事情做出共同的決策,其難度有多高?
起源
在學術界裡面這個問題起源於1982年Leslie Lamport(圖靈獎獲得者)在他的論文裡面提出的「拜占庭將軍問題」(Byzantine Generals Problem),目的是解決分散式對等網路的通信容錯問題。
拜占庭將軍問題描述:
簡單的描述:假設有9個拜占庭將軍共同圍困一座城市,將軍之間都是平等的,他們的對於城市的策略只有兩種:進攻和撤退。如果一部分進攻一部分撤退,將會造成災難性的後果。9個將軍分布在城市的不同方向,只能通過信使進行通信。那麼他們要達成一致,就需要進行投票,每位將軍根據收到的情報來決定進攻還是撤退。
問題是將軍裡面會有叛徒,比如:當將軍的投票達到4個進攻4個撤退的時候,叛徒將軍可以採取對4個進攻的將軍投進攻票,對4個撤退的將軍投撤退票。決策的最終結果就會崩潰,一部分將軍選擇了進攻,一部分將軍選擇了撤退。
在這個問題中,將軍投票達成一致協議,就叫做拜占庭共識,在有將軍叛變的情況下仍然能夠達成正確的共識就做拜占庭容錯,當然這是一個很簡化版的描述。(小編在巴比特上面找到一個講的比較全面的,大家可以參考一下:http://www.8btc.com/bitcoin-and-the-byzantine-generals-problem)。
將這個問題轉換到計算機裡面,對等節點之間的通訊是通過電信號進行的,電信號是會出現各種干擾(例如磁場),0和1最終可能會發生錯誤。
這個難題困擾了學術界很久很久,直到1999年Miguel Castro和Barbara Liskov提出了實用拜占庭容錯演算法PBFT(Practical Byzantine Fault Tolerance),提供了(n-1)/3節點的容錯。這是一個非常了不起的成就(演算法的具體過程不屬於本文的討論範圍,有興趣的讀者可以自行Google一下)。
2009年中本聰使用工作量證明(Proof of Work)解決了這一問題,使得BTC能夠成為現實。
那麼具體到Filecoin上,Filecoin是如何解決拜占庭容錯的呢?
Filecon在拜占庭容錯BTF的基礎上提出了改進版的拜占庭容錯,這就是 影響力容錯(Power Fault Tolerance)和預期共識(Expected Consensus),用來替代能源和計算資源嚴重浪費的工作量證明(Proof-of-Work)機制。
Filecoin的分散式網路協議可以使用任何共識協議來實現,完全可以使用BTC的機制(Proof-of-Work)。但是BTC的工作量證明帶來的問題是能源和計算資源的巨大浪費,於是Filecoin協議拋棄這個共識機制,使用Proof-of-Spacetime(PoSt)來替代工作量證明,PoSt是filecoin在驗證礦工存儲用戶數據的時候產生的,Filecoin把礦工在網路中的當前存儲數據相對於整個網路的存儲比例轉化為礦工投票權(voting power of the miner),重用PoSt來產生共識,太環保了,不用像BTC那樣浪費計算資源和能源,並且能激勵礦工投入更多的硬碟而不是計算資源和能源,為網路做貢獻-----完美!!!
預期共識(Expected Consensus,EC):
Filecoin的共識協議是基於權益共識(Proof-of-Stake)構建的,將權益共識裡面的權益(stake)換成了存儲,這就是Filecoin的預期共識(Expected Consensus),策略是每一輪裡面選舉出來一名或者多名礦工來創建新的block,礦工贏得選舉的可能性跟礦工已分配的存儲成比例。
在每一個周期裡面,預期選舉出來的領導礦工(Leader)是1個,但是在某些情況下也會選舉出來多個領導礦工。被選舉出來的礦工創建新的block,並把新的block對網路進行廣播。儘管鏈中的block是線性的,但是filecoin的block數據結構採用的DAG(有向無環圖),可以在同一時間產生多個block(所以Filecoin的交易要比BTC的有效的多,這也是為什麼把filecoin叫做「可能的blockchain 3.0」)。
共識是一個區塊鏈領域的核心,區塊鏈天生就是對等的分散式網路,這就是所謂的去中心化。去中心化現在被吹的有點過了,去中心化不是萬物的靈藥,只是在自己領域裡面有獨特的作用,中心化的效率還是非常高的。所以不應一味的強調去中心化,而是應該根據實際的應用場景來決定使用範圍。相信區塊鏈的共識協議會隨著區塊鏈的發展進化出更加美好的共識協議,區塊鏈也會逐步進化,成長!
本專欄的微信公眾號IPFS指南(ipfs_guide),致力於IPFS的知識的普及,如果你對IFPS、Filecoin,挖礦感興趣,敬請關注!
本專欄的文章允許轉載,但請註明:原文來自於知乎專欄:IPFS指南(IPFS指南)作者:飛向未來
推薦閱讀:
※比特幣礦機耗電量這麼大,到底在計算什麼?
※如何評價「比特幣中國:即日起暫停ICOCOIN充值與交易業務」?
※區塊鏈技術如此有前景,為什麼國內沒有專門做這方面應用的公司?
※EOS怎麼做映射?
※怎麼看待人人網發布的區塊鏈平台「人人坊」,以及Token(代幣)RRcoin?
TAG:IPFS | FILECOIN | 区块链Blockchain |