搞不懂區塊鏈?一個拜占庭將軍問題讓你輕鬆看懂區塊鏈技術原理

買賣虛擬貨幣

說到區塊鏈,可能很多人還會比較陌生,但提到比特幣,想必沒有人不知道,而區塊鏈就是比特幣的底層技術。

下面鏈知道就來為大家講解一下區塊鏈技術究竟是什麼原理?

區塊鏈技術(BT),又稱分散式賬本技術,是由中本聰設計的一種網際網路資料庫技術。

其分散式體現為:資料的分散式儲存以及分散式記錄。

其特點是:去中心化、去信任、公開透明、集體維護。


為了讓你們通俗點理解,在這裡結合著名的拜占庭將軍問題講解一下區塊鏈技術的原理。

在拜占庭時代有一個非常富有強大的城邦,它的周圍被10個小城邦所包圍環繞,小城邦們覬覦大城邦的財富,所以意圖侵略它。但大城邦很強大,必須至少一半以上的小城邦聯合一起才能成功。

小城邦們聯合攻打大城邦的過程中會出現以下問題:

1、小城邦們之間是互相防範與對抗的;

2、萬一聯合軍隊中有一支或更多軍隊突然不幹了,那麼剩餘的軍隊就會導致攻打失敗,全軍覆沒,並被其他小城邦侵略;

3、小城邦們之間通訊的唯一途徑就是透過騎馬傳達資訊,不可以聚眾開會。

一個小城邦透過信使在任意時間點騎馬到其他小城邦傳遞資訊:我將在第四天早上6點進攻大城邦,你願意加入嗎?

如果收信人同意了,就會在信上蓋個章以示迴應。然後將新合併了的資訊傳遞給其他小城邦,最後的目標就是,在原始資訊鏈上蓋上所有10個小城邦的圖章,在攻打時間上達成共識。

但在傳遞資訊的時候有著嚴重的問題:10個城邦都要向除自己之外的其他9個城邦派出信使,那麼總共就有90次的資訊傳輸,也就是每個城邦都會收到9個資訊。但如果信裡都寫著不同的進攻時間,或者信使弄丟了信,或者有城邦同時答應了好幾個進攻時間,故意背叛發起人等等問題就會導致需要重新傳達資訊。可見這個資訊鏈傳輸系統非常矛盾。


區塊鏈技術的解決方案:

總結下來,拜占庭將軍問題的難點在於:在任意時間系統中可能會存在多個提案,這樣就很難在一個時刻對結果進行一致性確認。

而區塊鏈技術的pow共識演算法解決了這個難題:

1、限制一段時間內提案的個數,只有擁有對應許可權的節點才可以發起提案。

2、對應一次提案的結果不需要全部的節點馬上跟進,只需要在節點能搜尋到的全網路中的所有鏈條中,選取最長的鏈條進行後續拓展就可以。這樣就能夠減少節點間垃圾訊息和假訊息的傳播。

同時,區塊鏈技術使用非對稱加密演算法,對節點間的訊息傳遞提供簽名技術支援,每個節點都有屬於自己的秘鑰(公鑰私鑰),唯一標識節點身份。使用非對稱加密演算法傳遞訊息,能夠保證訊息傳遞的私密性,而且訊息簽名不可抵賴,不可篡改。

由此,一個不可信的分散式網路變成了一個可信的網路,所有的參與者可以在某件事在達成一致。

對於區塊鏈技術,我們驚歎於其創造的可能性,並將繼續創造無限可能性,正所謂:未來可期,未來以來。一起拭目以待吧!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;