filecoin的共識機制有哪些特點


什麼是共識機制?

區塊鏈的自信任主要體現於分佈於區塊鏈中的用戶無須信任交易的另一方,也無須信任一個中心化的機構,只需要信任區塊鏈協議下的軟件系統即可實現交易。

這種自信任的前提是區塊鏈的共識機制(consensus),即在一個互不信任的市場中,要想使各節點達成一致的充分必要條件是每個節點出於對自身利益最大化的考慮,都會自發、誠實地遵守協議中預先設定的規則,判斷每一筆記錄的真實性,最終將判斷為真的記錄記入區塊鏈之中。換句話說,如果各節點具有各自獨立的利益並互相競爭,則這些節點幾乎不可能合謀欺騙你,而當節點們在網絡中擁有公共信譽時,這一點體現得尤為明顯。

區塊鏈技術正是運用一套基於共識的數學算法,在機器之間建立“信任”網絡,從而通過技術背書而非中心化信用機構來進行全新的信用創造。

共識可簡單理解為,不同群體所尋求的共同的認識、價值、想法等,在某一方面達成的一致意見。共識機制就是確定達成某種共識和維護共識的方式。

如果說共識是區塊鏈的基礎,那麼,共識機制就是區塊鏈的靈魂。

常用的共識機制有哪些?

現今區塊鏈的共識機制可分為四大類:工作量證明機制(PoW)、權益證明機制(PoS)、股份授權證明機制(DPoS)和驗證池機制(Pool)。

1、工作量證明(Proof of Work,簡稱PoW):

PoW可簡單理解為一份證明,證明你做過一定量的工作。通過查看工作結果,就能知道你完成了指定量的工作。區塊鏈共識算法用的最多的就是PoW。比特幣和以太坊都是基於PoW的共識機制。

例如:比特幣在區塊的生成過程中使用的就是PoW機制,簡單理解就是大家共同爭奪記賬權利,誰先搶到並正確完成記賬工作,誰就得到系統的獎勵,獎勵為比特幣,也就是所謂的“挖礦”。礦工通過計算機的算力去完成這個記賬工作,這個擁有計算能力的專業計算機就是所謂的“礦機”。

優點:

①完全去中心化,節點自由進出,避免了建立和維護中心化信用機構的成本。

②只要網絡破壞者的算力不超過全網總算力的50%,網絡的交易狀態就能達成一致,並不可篡改歷史記錄。

③投入越多算力,獲得記賬權概率越大,越有可能產生新的區塊獎勵。

缺點:

①目前比特幣挖礦造成大量的算力和能源浪費。

②挖礦的激勵機制也造成挖礦算力的高度集中

③結算週期長,每秒最多結算7筆交易,不適合商業應用。

2.權益證明(Proof of Stake,簡稱POS):

通過持有Token的數量和時長來決定你獲得記賬的機率,類似於股票的分紅制度,持有股權越多的人就能夠獲得更多的分紅。Token相當於區塊鏈系統的權益。目前有很多數字資產用pow發行新幣。

優點:

①降低了PoW機制的資源浪費;

②加快了運算速度,也可以理解為工作量證明的升級版;

缺點:

擁有幣齡越長的節點獲得記賬權的幾率越大,容易導致馬太效應,富者越富,權益會越來越集中,從而失去公正性。

3.委託權益證明(Delegated Proof of Stake,簡稱DPoS):

是基於PoS衍生出的更專業的解決方案,類似於董事會投票,指擁有Token的人投票給固定的節點,選舉若干代理人,由代理人負責驗證和記賬。不同於PoW和PoS的全網都可以參與記賬競爭,DPoS的記賬節點在一定時間段內是確定的。為了激勵更多人參與競選,系統會生成少量代幣作為獎勵。比特股就採用該方式。

優點:

相較於PoW,DPoS大幅提高區塊鏈處理數據的能力,甚至可以實現秒到賬,同時也大幅降低維護區塊鏈網絡安全的費用。

缺點:

去中心程度較弱,節點代理是人為選出的,公平性相比PoS較低,依賴於代幣的增發來維持代理節點的穩定性。

4.驗證池共識機制(Pool)

這是一種基於傳統的分佈式一致性技術,加上數據驗證的機制,是目前行業鏈大範圍在使用的共識機制;

優點:不需要依賴代幣也可以實現秒級共識驗證;

缺點:去中心化程度弱,更適合多方參與的多中心商業模式;

總結:每一種共識機制都不能同時滿足安全、效率、公平。去中心程度越弱,安全性就越低,區塊鏈的速度就越快;去中心化程度越強,安全性就會越高,區塊鏈的速度就會越慢。PoW完全去中心化,但運行效率太低。PoS提高了效率,但卻降低了公平與安全。DPoS有強烈的中心化特性,卻在短期內效率最高。目前行業區塊鏈大範圍使用Pool共識。

Filecoin的共識機制

對共識機制的探索,Filecoin無疑更具有前瞻性和突破性。Filecoin創新的採用了一種混合共識機制——複製證明(PoRep)+時空證明(PoSt)+ 預期共識(EC),其中複製證明是共識機制中的核心因素,儘管Filecoin的網絡協議、共識、其他算法都基本定型,但是複製證明仍然處於不斷完善的方案中。

複製證明(PoRep)是一個交互式證明系統。在這個系統中,存儲的提供者需要提供可公開驗證的證明,來表明其為一個數據文件副本分配了獨有的空間資源,而且所存儲的數據是可檢索的。

複製證明是新的 PoS存儲證明(Proof-of-Storage),PoRep必須能夠防範以下三種常見的攻擊方式:女巫攻擊,外源攻擊和生成攻擊,他們的共同特點是攻擊礦工實際存儲的數據大小要比聲稱存儲的數據小,這樣攻擊礦工就能獲得本不該他獲得的報酬。

女巫攻擊(Sybil Attack):利用n個身份,承諾存儲n份數據D,而實際上存儲小於n份(比如1份),但是卻提供了n份存儲證明,攻擊成功。

外部數據源攻擊(Outsourcing Attack):當攻擊者礦工收到檢驗者要求提供數據D的證明的時候,攻擊者礦工從別的礦工那裡生成證明,證明自己一直存儲了數據D,而實際上沒有存儲,攻擊成功。

生成攻擊(Generation Attack):攻擊者A可以使用某種方式生成數據D,當檢驗者驗證的時候,攻擊者A就可以重新生成數據D來完成存儲證明,攻擊成功。

防範生成攻擊比較困難,所有的PoS協議都會遇到這樣的問題,如何保證礦工真正的存儲了這些數據,PoRep需要解決這個問題。

因此,Filecoin協議採用一種叫做 RepGame 的遊戲來一起解決這三種攻擊方式,PoRes還在此基礎上引入了時限性(Time Bounded),PoRes協議的實現可能有很多種方式,不管哪種實現方式都必須能夠防止上面的三種攻擊方式,並且要能夠通過RepGame遊戲的測試。

時空證明(PoSt)提出了證明鏈(proof-chain)的數據結構,證明鏈把一些的挑戰(challenge)和證明(proof)鏈接起來形成。在證明鏈的基礎上添加上時間段,這樣就得到了一段時間內的礦工存儲數據的證明,這就是時空證明(Proof of Spacetime,PoSt)。

PoSt可以證明在該段時間內礦工存儲了特定的數據,並且利用時間戳錨定這些證明鏈,這樣即使驗證者(verifier)不在線,也可以在未來的某個時間內利用時空證明去驗證該礦工生成了證明鏈,PoSt會被提交到鏈上用來產生新的Block。

預期共識(Expected Consensus,EC)是在每一輪裡面選舉出來一名或者多名礦工來創建新的區塊,礦工贏得選舉的可能性跟礦工當前的有效存儲(算力)成正比。Filecoin把礦工在網絡中的當前存儲數據相對於整個網絡的存儲比例轉化為礦工投票權(voting power of the miner)。

無論在該週期裡,選舉出來的是一名還是多名礦工,被選舉出來的礦工都需要創建新的區塊,並把新的區塊對網絡進行廣播。

儘管鏈中的區塊是線性的,但是Filecoin的區塊數據結構採用的DAG(有向無環圖),可以在同一時間產生多個區塊(所以Filecoin的交易要比BTC的有效的多,這也是為什麼把Filecoin叫做“可能的blockchain 3.0”的原因)。

Filecoin首創的混合共識機制,從根本上定義了Filecoin是一個合理高效、去中心化的系統,並體現出Filecoin的公平性、保密性和公開可驗證性。


分享到:


相關文章: