兩軍問題中通道是不可靠的,並且其中沒有叛徒之說。
解決方式:tcp的三次握手可以提供相對可靠地通道通訊。
目前,區塊鏈採用的共識機制主要基於工作量證明(pow)、權益證明(pos)、拜占庭協議(ba)等。各類共識機制在效率、安全性等方面有利有弊,目前區塊鏈協議的效率,特別是高速處理海量資料的能力是阻礙區塊鏈落地應用的主要障礙。
practical byzantine fault tolerance: pbft,是聯盟幣的共識演算法的基礎。實現了在有限個節點的情況下的拜占庭問題,有3f+1的容錯性,並同時保證一定的效能。
1)從全網節點中選舉出乙個主節點(leader),新區塊由主節點負責生成。
2)每個節點把客戶端發來的交易向全網廣播,主節點將從網路收集到需放在新區塊內的多筆交易,排序後打包存入列表,並將該列表向全網廣播。
3)每個節點接收到交易列表後,根據排序模擬這些交易。所有交易執行完後,基於交易結果計算新區塊的hash摘要,並向全網廣播。
4)如果乙個節點收到了2f(f為可容忍的拜占庭節點數)個其他節點發來的hash摘要都和自己相等,就向全網廣播一條commit訊息。
5)如果乙個節點收到2f + 1條commit訊息,即可提交新區塊及其交易到本地的區塊鏈和狀態資料庫。
區塊鏈 拜占庭將軍問題 BFT
拜占庭將軍問題很多人可能聽過,但不知道具體是什麼意思。那麼究竟什麼是拜占庭將軍問題呢?本文從最通俗的故事講起,並對該問題進行抽象,並告訴大家拜占庭將軍問題為什麼在區塊鏈領域作為乙個重點研究問題。拜占庭將軍問題 也被稱為 拜占庭容錯 拜占庭將軍問題是leslie lamport 2013年的圖靈講得住...
區塊鏈共識演算法 二 拜占庭容錯演算法 BFT
1.拜占庭將軍問題簡介 拜占庭將軍問題 byzantine generals problem 主要指分布式對等網路節點間的通訊容錯問題。2.bft簡介 bft byzantine fault tolerance 即拜占庭容錯,是分布式計算領域的容錯技術,拜占庭容錯 於拜占庭將軍問題。拜占庭將軍問題是...
Paxos 與拜占庭將軍問題
拜占庭將軍問題是由 paxos 演算法作者萊斯利 蘭伯特提出的點對點通訊中的基本問題。該問題要說明的含義是,在不可靠通道上試圖通過訊息傳遞的方式達到一致性是不可能的。所以,paxos 演算法的前提是不存在拜占庭將軍問題,即通道是安全的 可靠的,集群節點間傳遞的訊息是不會被篡改的。一般情況下,分布式系...