首先,交易發起方構造交易,加上數字簽名,廣播到
區塊鏈P2P網絡之中。然后, 區塊鏈網絡中的“礦工”節點陸續收到這筆交易。然后,所有礦工都會把交易打包到自己構建的備選區塊之中,然后將自己的備選區塊廣播。
這時候,全網根據”共識機制“來決定哪個礦工負責寫入這個區塊。然后這個礦工將會負責把這個區塊添加到區塊鏈上,完成該區塊中的所有交易。最后交易完成,交易參與方可以查詢到交易執行結果。
那么, “共識機制”是從什么時候出現的?
1982年, Lamport首次發表了關于拜占庭將軍問題解決方案的論文,后來獲得了計算機界的最高獎:圖靈獎。
1999年,Jakobsson發表了關于PoW的論文。
2008年11月,中本聰發表了
比特幣的論文,并用了PoW作為共識機制。
2012年,PeerCoin項目開始采用PoS作為共識機制。
2016年,Tendermint項目開始采用PBFT作為公示機制。
2018年,
以太坊項目提出在2.0版本中,通過Casper方法采用PoS作為共識機制。實際上,V神今天正在歐洲介紹這方面的最新進展。
共識機制的基本要求和不可能三角
這里需要提的是,任何分布式系統(包括比特幣甚至貨幣),都存在一個不可能三角形:性能、可擴展性和去中心化。
譬如人民幣,性能和可擴展性很高(每天無數人用它來交易),但是去中心化低(央行想印多少就印多少)。對于比特幣,去中心化程度高,可擴展性也高,但是性能低。
所以在設計、選擇共識機制時候,我們必須記住這三點:我們應該優化哪一方面,犧牲哪一方面,因為你不可能同時達到這三點。另外,所有的共識算法必須具備三個基本要求:
1.一致性 (safety):所有參與共識的誠實的節點,得到的計算結果是相同的,而且是符合共識協議的。
2. 終局性 (liveness):所有參與共識的誠實的節點,最終可以達成一致性結果。
3. 容錯性 (fault tolerance):在共識算法的成功執行過程中,可以容許參與共識的節點發生一些錯誤。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。