BFT技能即拜占庭容錯技能

2021-09-23 18:15:08 字數 1650 閱讀 4111

鏈客,專為開發者而生,有問必答!

bft技能即拜占庭容錯技能,是一類分布式計算範疇的容錯技能。稱號拜占庭是乙個泛指,它代表著計算機範疇,在這個範疇內會有很多問題,如硬體過錯、網路擁堵或中止以及遭到歹意進犯等等,造成計算機網路可能出現的混亂。bft技能便是為了使混亂狀態抵達共同性。

拜占庭將軍問題

bft技能的由**於乙個叫拜占庭將軍問題。

拜占庭坐落如今的土耳其的伊斯坦堡,是東羅馬帝國的首都,由於當時拜占庭羅馬帝國疆土遼闊,每支戎行的駐地分隔很遠,將軍們只能靠信使傳遞音訊。發作戰爭時,將軍們有必要制定統一的行動方案。可是,這些將軍中有叛徒,叛徒期望經過影響統一行動方案的制定與傳播,損壞忠實的將軍們共同的行動方案。因此,將軍們有必要有乙個預定的方法協議,使一切忠實的將軍能夠達到共同,而且少量幾個叛徒不能使忠實的將軍做出過錯的方案。也便是說,拜占庭將軍問題的本質便是要尋覓乙個方法,使得將軍們能在乙個有叛徒的非信賴環境中建立對戰鬥方案的共同,拜占庭問題就此構成。

拜占庭將軍問題(byzantine generals problem),首先由leslie lamport與另外兩人在2023年提出,很簡單的故事模型,卻困擾了計算機科學家們數十年。

我們將拜占庭將軍問題簡化一下,一切忠實的將軍都能夠讓別的將軍接納到自己的實在意圖,並最終共同行動;而形式化的要求便是,「共同性」與「正確性」。

共同性:每個忠實的將軍有必要收到相同的指令值vi(vi是第i個將軍的指令)

正確性:假如第i個將軍是忠實的,那麼他傳送的指令和每個忠實將軍收到的vi相同。

lamport 對拜占庭將軍的問題的研究表明,當 n > 3m 時,即叛徒的個數 m 小於將軍總數的 n 的 1/3 時,經過口頭同步通訊(假定通訊是牢靠的),能夠結構一起滿意「共同性」和「正確性」的解決方法,即將軍們能夠達到共同的指令。

bft理論演算法

bft即拜占庭容錯體系,英文全稱是byzantine fault tolerance,是一種理論上解決拜占庭問題的方法,並非有用,不過基於bft理論延伸出了其他共同機制。

假定分布式體系具有n臺節點,並假定整個體系拜占庭節點不超過m臺(n ≥ 3m + 1),拜占庭容錯體系需求滿意如下兩個條件:

一切非拜占庭節點使用相同的輸入資訊,產生相同的結果。在區塊鏈體系中,能夠理解為,隨機數相同、區塊演算法相同、原賬本相同的時分,計算結果相同。

假如輸入的資訊正確,那麼一切非拜占庭節點有必要接納這個音訊,並計算相應的結果。在區塊鏈體系中,能夠理解為,非拜占庭節點需求對客戶的懇求進行計算並生成區塊。

另外,拜占庭容錯體系需求達到如下兩個目標:

安全性:任何現已完成的懇求都不會被更改,它能夠在以後懇求看到。在區塊鏈體系中,能夠理解為,現已生成的賬本不行篡改,而且能夠被節點隨時檢查。

活性:能夠承受而且履行非拜占庭客戶端的懇求,不會被任何因素影響而導致非拜占庭客戶端的懇求不能履行。在區塊鏈體系中,能夠理解為,體系需求繼續生成區塊,為使用者記賬,這主要靠挖礦的激勵機制來保證。

在剖析拜占庭問題的時分,假定通道是可信的。拓寬開來,在拜占庭容錯體系,遍及採用的假定條件包含:

拜占庭節點的行為能夠是任意的,拜占庭節點之間能夠共謀;

節點之間的過錯是不相關的;

節點之間傳遞的資訊,第三方能夠嗅探到,可是不能篡改、假造資訊的內容和損壞資訊的完整性。

共識演算法 BFT

bft byzantine fault tolerance 稱為拜占庭容錯。拜占庭容錯技術是一類分布式計算領域的容錯技術。拜占庭假設是對現實世界的模型化,由於硬體錯誤 網路擁塞或中斷以及遭到惡意攻擊等原因,計算機和網路可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常行為,並滿足所要解決的...

拜占庭容錯(BFT)介紹

鏈客,專為開發者而生,有問必答!自2008年位元幣作為一種作為點對點的電子現金系統出現開端,許多加密錢銀都被發明出來,每個加密錢銀都有其特定的機制。但幾乎全部的加密錢銀都有乙個一起點,那就是區塊鏈是他們架構的中心。除了少數例外情況外,區塊鏈都是被有意規劃成去中心化的,由分布式核算機節點網路保護的數字...

區塊鏈 拜占庭將軍問題 BFT

拜占庭將軍問題很多人可能聽過,但不知道具體是什麼意思。那麼究竟什麼是拜占庭將軍問題呢?本文從最通俗的故事講起,並對該問題進行抽象,並告訴大家拜占庭將軍問題為什麼在區塊鏈領域作為乙個重點研究問題。拜占庭將軍問題 也被稱為 拜占庭容錯 拜占庭將軍問題是leslie lamport 2013年的圖靈講得住...