作者:靈巧@螞蟻安全實驗室
原文鏈接:https://mp.weixin.qq.com/s/Jo76cid30J1P6qVo5NFECw

在頭條的分享中,螞蟻天宸安全實驗室的靈巧博士為大家介紹了BFT協議在區塊鏈的應用,并取了有代表性的應用案例進行分析。 現在我們進入區塊鏈協議安全系列——下集,分析BFT協議的威脅模型以及BFT協議被攻破后,對區塊鏈安全會有哪些影響。

01 拜占庭協議威脅模型

拜占庭協議已經被越來越多的鏈應用到共識協議中,共識協議的安全性直接決定了鏈的安全性。分析拜占庭協議的威脅模型有助于分析鏈的安全性。

1.1 拜占庭協議的安全假設

協議的全流程涵蓋設計,實現,運行三個階段。運行又涉及節點,網絡,運營商多個角色。任何協議設計都離不開安全假設。我們以 PBFT 為例分析協議的安全假設,其他由 PBFT 衍生出來的協議變種在安全假設方面大同小異,我們不一一展開。

1.協議在設計時假設實現過程不受語言限制,但是不能存在編碼方面的漏洞。

2.協議在設計時假設運行過程不受外界制約,處于理想狀態,具體表現為:

○超過 2/3 節點的軟硬件操作系統無漏洞,節點自身的安全性可靠

○超過 2/3 節點的網絡鏈接正常,網絡延遲在協議可接受的范圍內

○超過 2/3 節點的實際操作者誠實可信,不作惡

○超過 2/3 節點的網絡運營商誠實可信,不作惡

○超過 2/3 節點的硬件基礎設施可靠,如網線,硬盤等不損壞

協議設計在以上 2 個大的前提下展開。最開始的 PBFT 協議并非為區塊鏈而設計,而 PBFT 的安全假設又被默認繼承到區塊鏈中,這就會產生理想與現實的差距。我們分別分析這兩種情況下的威脅模型。

1.2 理想世界的威脅模型

理想世界具體是指滿足所有的安全假設的世界。在理想世界中,可以只考慮協議的設計存在的威脅。通常,協議設計者都是極為專業的研究人員,設計缺陷出現的可能性很小。目前為止,筆者了解到的小有瑕疵的設計是 PBFT 的優化設計。

1.2.1 PBFT 本身的優化方法

根據上文所述的 PBFT 的協議過程可知,PBFT 在每一個階段都需要驗證消息發送者的簽名。使用公鑰簽名的方式驗證消息存在如下不足:

●類似于RSA這樣的簽名算法,簽名速度比較慢;

●其他公鑰密碼系統,如橢圓曲線公鑰密碼系統,雖然簽名更快,但是驗簽更慢。

PBFT算法實際上在正常流程中采用 MAC(Message Authentication Code,消息驗證碼) 認證消息,因為它具有如下優點,使得算法相對于之前的算法性能提升了一個數量級以上:

●MAC 計算速度快;

●通過適當優化,可以減少其長度;

●通過對authenticator(vector of MAC)的使用,可以使驗證時間為常量,而生成時間只隨著節點數量線性增長。

具體來說,PBFT算法中使用 MAC 和公鑰簽名的具體場景是:

●所有正常操作流程中使用 MAC 驗證消息;

●視圖變更中的消息:view-change, new-view,以及出現錯誤時,使用公鑰簽名。

這些場景的出現頻率相對較低,從而對算法的性能影響較小。

1.2.2 優化導致的威脅模型

那是否采用 MAC 只有優點,沒有缺點呢?這一優化導致 PBFT 極不穩定,如果 primary 是惡意的,會導致系統不可用。具體來說如下:

首先,MAC 是對稱的,需要兩兩共享密鑰,為防止假冒,兩兩之間密鑰不同。也就是 primary 和 2,3,4 等共享等密鑰都不相同。那么,如果 primary 和 2 出現了沖突,其他人,如 3,4,無法確認誰對誰錯。其次,如果 primary 是惡意的,primary 可以控制 MAC 數組的收發,他可以任意操縱 MAC 值,讓 replica2 認為 replica3 提供的內容是錯的,replica2 無法確認到底是 primary 還是 replica 3 是錯的。那么 replica2 和 replica3 無法相互說服對方,系統就不可用了。上述攻擊可以在不同的階段實施。如,在preprepare階段,primary可以篡改用戶發送的 MAC數組,部分 replica 接受用戶請求,部分不請求。在prepare階段,primary可以讓部分mac數組為錯誤,從而部分接受 primary 的 propose,部分不接受。

未優化之前使用證書給消息簽名就不涉及這個問題。證書攜帶身份信息,且證書是節點所公認的。replica2 發現簽名錯誤,通過兩兩通信,要么大家都認為這個簽名是錯的,要么最終收到一個正確簽名, 那么可以保證所有 replica 都是一致認可、或一致不認可這個值。

在 PBFT 應用到區塊鏈時,如果鏈不采用 MAC 優化,也就不會面臨協議本身的脆弱性問題。

1.3 現實世界的威脅模型

理想很豐滿 ,現實很骨感。通常,一些安全假設在現實世界中都會面臨挑戰。

1.3.1 協議實現過程存在漏洞

任何一個設計完美的系統在實現的過程中都不能保證 100% 正確,實現過程中會引入不同的漏洞。這類問題更多的是代碼安全問題,代碼安全問題屬于另外一個課題,我們不在這里展開討論,僅簡單分析一下。

● 編碼不當

編碼不當有多種,使用的編程語言不同也會有不同的漏洞類型,比如 C/C++ 存在緩沖區溢出,整數溢出,解引用空指針,指針重釋放,內存分配失敗,內存泄漏等問題。Go 語言使用垃圾收集器自動管理內存,無需顯示釋放內存,所以不涉及指針重釋放問題,但是也有其自身的問題,如Goroutine產生內存泄漏。其他語言的問題就不再一一列舉。拜占庭協議的實現各有不同,實現中可能存在編碼不當的問題,建議找專業的團隊做代碼審計。

● 邏輯不當

邏輯不當是常見的安全問題的類別。拜占庭協議復雜,更容易出現邏輯不當的問題,且因為協議復雜,通常性能會低,難以滿足線上業務的需求,所以優化協議的實現是一個現實的問題。在優化過程中,如果沒有嚴密論證優化方法,則可能讓協議失效,如 MAC 地址的優化。實現過程中是否忠實的遵守協議設計是需要考量的一個因素。

● 權限不當

權限不當是另一類常見的安全問題。通常,BFT 協議運行在共識節點上,共識節點和普通節點的權限不同,需要在關鍵環節做鑒權。協議本身也分主節點和副節點,必要的環節也需要區別身份。如果權限不當,會導致協議安全性受挫。

1.3.2 操作系統存在漏洞

主流的操作系統有 windows,Linux,macOS,每一種操作系統都存在系統漏洞。如果沒有及時為操作系統打補丁,攻擊者就有可乘之機。

1.3.3 網絡不可用

利用節點所在的網絡特點攻擊,讓節點失去有效連接,是更貼近區塊鏈范疇的攻擊方法。BFT 協議不能脫離于網絡連接而存在,區塊鏈網絡有一些獨有的特點。有多種方法都可以讓節點的網絡不可用。

1.3.3.1 日蝕攻擊

日蝕攻擊(Eclipse Attack)是針對 P2P(或譯為點對點)網絡的一種攻擊類型:攻擊者通過使節點從整個網絡上消失,從而完全控制特定節點對信息的訪問。

P2P 網絡的節點通常會維護一個路由表。日蝕攻擊是指攻擊者通過侵占節點的路由表,將足夠多的虛假節點添加到某些節點的鄰居節點集合中,從而將這些節點“隔離”于正常區塊鏈網絡之外。當節點受到日蝕攻擊時,節點的大部分對外聯系都會被惡意節點所控制,由此惡意節點得以進一步實施路由欺騙、存儲污染、拒絕服務以及 ID 劫持等攻擊行為。因此,日蝕攻擊對區塊鏈網絡的威脅非常嚴重。

日蝕攻擊和女巫攻擊(Sybil attack)攻擊(查看鏈接了解:https://www.binance.vision/zh/security/sybil-attacks-explained)密切相關,它需要較多的 Sybil 攻擊節點相配合。為了實現對特定區塊鏈節點群的日蝕攻擊,攻擊者必須首先設置足夠多的 Sybil 攻擊節點,并且向區塊鏈網絡宣稱它們是“正常”的節點,然后使用這些Sybil節點與正常的區塊鏈節點通信,入侵其路由表,最終把它們從區塊鏈網絡中隔離出去。在日蝕攻擊中,攻擊者不像在女巫攻擊中那樣攻擊整個網絡,而是專注于隔離和瞄準某個特定節點。這種攻擊通常會導致受害者節點接收到被操縱的、偽造的區塊鏈視圖。

采用日蝕共識,可以讓節點完全被攻擊者控制,并且攻擊者的代價很小。Heilman等人在2018年發表的論文顯示,在以太坊網絡上執行日蝕攻擊只需要用到幾臺機器。日蝕攻擊對區塊鏈網絡的影響十分重大。對于區塊鏈網絡來說,日蝕攻擊破壞了網絡的拓撲結構,減少了節點數目,使得區塊鏈網絡資源共享的效率大大降低,在極端情況下,它能完全控制整個區塊鏈網絡,把它分隔成若干個區塊鏈網絡區域。對于受害的區塊鏈節點來說,它們在未知的情況下脫離了區塊鏈網絡,所有區塊鏈網絡請求消息都會被攻擊者劫持,所以它們得到的回復信息大部分都是虛假的,無法進行正常通信。

1.3.3.2 地址池污染攻擊

地址池污染,是指誘使同類鏈的節點互相侵入和污染的一種攻擊手法,主要原因是同類鏈系統在通信協議上沒有對非同類節點做識別。

地址池污染攻擊實際上是一個所有公鏈都可能面臨的問題,我們用以太坊為例子說明。以太坊的 P2P 網絡主要采用了 Kademlia (簡稱 Kad ) 算法實現,Kad 是一種分布式哈希表( DHT )技術,使用該技術,可以實現在分布式環境下快速而又準確地路由、定位數據的問題。

以太坊地址池污染攻擊是指,以太坊同類鏈(具體的說是使用以太坊 P2P discv4 節點發現協議的公鏈,包括以太坊、以太經典)由于使用了兼容的握手協議,無法區分節點是否屬于同個鏈,導致地址池互相污染,節點通信性能下降,最終造成節點阻塞的一種攻擊方式。

  • 第一步:發起惡意握手。

    攻擊者 A 模擬整個握手過程,主動發起 ping 操作,并利用協議的第4步 neighbors,將返回的鄰居表修改成我們收集到的以太坊節點地址,推送給受害節點 B(B 是一個以太坊同類鏈節點)。由于單次通信只能推送 16 個地址,我們需要多次推送以達到攻擊效果。

  • 第二步:污染地址池。

    B 收到大量 A 返回的鄰居表,嘗試跟這些節點握手,并將這些節點加入了自己的地址池(俗稱 K 桶)。

  • 第三步:污染自動擴散。 讓人意外的是,不同鏈的節點居然互相握手成功了,更為可怕的是,它們把各自地址池里已知的節點推送給了對方,導致更多的節點互相污染,最終擴散致整個網絡。

  • 威脅分析: 地址池污染攻擊的同類鏈節點無法找到真正可用的節點,無法建立 TCP 數據同步通道,導致節點被攻擊離線。對于礦池或者出塊節點,地址池污染攻擊可能導致廣播延遲甚至失敗,造成收益損失。地址池污染攻擊可以使所有以太坊同類鏈地址池相互污染,導致節點通信效率全面下降,對整個區塊鏈系統造成長久的傷害。

1.3.3.3 區塊鏈網絡 DDoS

DDoS攻擊是一種對區塊鏈網絡安全威脅最大的攻擊技術之一,它指借助于C/S技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動攻擊,從而成倍地提高拒絕服務攻擊的威力。利用 DDoS 攻擊共識節點,讓節點淪陷也是一個常見方法。

傳統的DDoS攻擊分為兩步:第一步利用病毒、木馬、緩沖區溢出等攻擊手段入侵大量主機,形成僵尸網絡;第二部通過僵尸網絡發起DoS攻擊。常用的攻擊工具包括:Trinoo、TFN、TFN2K、Stacheldraht 等。由于各種條件限制,攻擊的第一步成為制約DDoS攻擊規模和效果的關鍵。

根據攻擊方式的不同,基于區塊鏈的 DDoS 攻擊可分為主動攻擊和被動攻擊兩種。基于區塊鏈的主動DDoS攻擊是通過主動地向網絡節點發送大量的虛假信息,使得針對這些信息的后續訪問都指向受害者來達到攻擊效果的,具有可控性較強、放大倍數高等特點。這種攻擊利用區塊鏈網絡協議中基于“推(push)”的機制,反射節點在短時間內會接收到大量的通知信息,不易于分析和記錄,并且可以通過假冒源地址避過IP檢查,使得追蹤定位攻擊源更加困難。此外,主動攻擊在區塊鏈網絡中引入額外流量,會降低區塊鏈網絡的查找和路由性能;虛假的索引信息,會影響文件下載速度。

基于區塊鏈的被動,DDoS攻擊通過修改區塊鏈客戶端或者服務器軟件,被動地等待來自其它節點的查詢請求,再通過返回虛假響應來達到攻擊效果。通常情況下,會采取一些放大措施來增強攻擊效果,如:部署多個攻擊節點、在一個響應消息中多次包含目標主機、結合其它協議或者實現漏洞等。這種攻擊利用了區塊鏈網絡協議中基于“取(pull)”的機制。被動攻擊屬于非侵擾式,對區塊鏈網絡流量影響不大,通常只能利用到局部的區塊鏈節點。

1.3.4 社會工程學攻擊

Gartner集團信息安全與風險研究主任Rich Mogull認為:“社會工程學是未來10年最大的安全風險,許多破壞力最大的行為是由于社會工程學而不是黑客或破壞行為造成的。”一些信息安全專家預言,社會工程學將會是未來信息系統入侵與反入侵的重要對抗領域。

社會工程通常被視為網絡威脅,但這一概念已存在很長時間,該術語也可能與現實世界的欺詐行為有關,通常涉及冒充審計者或IT專家。然而,互聯網的出現使黑客可以更為輕松地在更廣泛的范圍內進行操縱攻擊,不幸的是這些惡意活動也發生在區塊鏈領域。

● 它是如何工作的?

所有類型的社會工程學都依賴于人類心理學上的弱點。詐騙者利用情緒來操縱和欺騙受害者。他們利用的是人們的恐懼、貪婪、好奇心,甚至他們幫助他人的意愿等。在多種惡意社會工程行為中,網絡釣魚是最常見也是眾所周知的案例之一。

● 網絡釣魚

網絡釣魚電子郵件通常模仿來自合法公司的郵件,某些情況下,這些詐騙電子郵件會警告用戶帳戶需要更新或發生了異常活動,要求他們提供個人信息以確認其身份并管理其帳戶。出于恐懼,有用戶會立即點擊鏈接并導航到虛假網站,為不法分子提供其所需數據。此時,這些信息將會掌握在黑客手中。

● 威脅軟件

社會工程技術也被用于傳播所謂的Scareware。顧名思義,威脅軟件是一種旨在恐嚇和威脅用戶的惡意軟件。它們通常涉及創建虛假警報,試圖欺騙受害者安裝看似合法的欺詐性軟件或誘騙用戶訪問相關網站,以達到感染其系統的目的。這種技術通常依賴于用戶擔心他們的系統受到損害的心理,說服他們點擊網頁橫幅或彈出窗口。這些消息通常會說:“您的系統已被感染,請點擊此處進行清理。”

● 誘騙

誘騙是另一種給許多大意用戶帶來麻煩的社會工程行為。一般利用用戶的貪婪或好奇心來引誘受害者。例如,詐騙者可以創建一個提供免費內容的網站,也可能故意將受感染病毒的設備留在公共場所,引誘好奇者把它下載到電腦上查看內容,最終感染目標計算機。

● 合謀

節點之間如果存在利益上的趨同,那么節點之間可能合謀使自己的利益最大化。在區塊鏈共識協議中,當節點被利益驅使,有大于 f 個節點進行合謀,就能引導網絡選擇對合謀節點有利的結果達成共識。如在跨境匯款的場景中,節點來自不同的國家,如果來自同一個國家的節點之間合謀,那么可以發起雙花攻擊。

如果攻擊者采用社會工程學的方式得到節點的管理權限,一樣可以達到控制的惡意節點的數量大于 f 的目的。

1.3.5 運營商欺詐

運營商是指提供網絡服務的供應商。運營商提供最最基礎的網絡服務, 掌握著通往用戶物理大門的鑰匙。節點通信依賴于網絡連接,網絡連接依賴于運營商提供服務。如果在運營商層面作惡,那么更加容易導致節點失效。運營商劫持就是一個例子。

什么是運營商劫持?

網絡運營商為了賣廣告或者其他經濟利益,有時候會直接劫持用戶的訪問,目前,運營商比較常見的作惡方式有兩種,分別是DNS劫持、HTTP劫持。

DNS劫持簡單粗暴,會把請求重新定位到其它網站,比如假設想訪問中國銀行,正常的DNS 解析IP應該是中國銀行的IP地址(假設是10.1.2.3),但是中間者修改這個DNS解析結果,返回用戶一個非中國網銀行的IP(假設是10.2.3.4),那么用戶就會和這個非中國銀行的網站建立連接并產生網絡傳輸。

HTTP劫持是指,運營商發現 HTTP 請求的時候,會在正常的數據流中插入精心設計的網絡數據報文,目的是讓用戶端程序解釋“錯誤”的數據,并以彈出新窗口的形式在使用者界面展示宣傳性廣告或者直接顯示某網站的內容。

從這些劫持行為來看,運營商也可能作惡。如果運營商作惡,可以直接從運營商層面發起日蝕攻擊,讓節點失去有效連接,可以達到控制的惡意節點的數量大于 f 的目的。

1.3.6 硬件基礎設施遭破壞

2015 年 5 月 27 日,由于市政施工,杭州市蕭山區某地光纜被挖斷,進而導致支付寶一個主要機房受影響,隨后全國部分用戶約2小時無法使用支付寶。28日,在線旅游網站攜程網也突發故障,導致網站和客戶端無法登錄。

如果在節點所在的網絡基礎設施損壞,也會導致節點不可用,可以達到控制的惡意節點的數量大于 f 的目的。

02 協議被攻破對區塊鏈安全的影響

BFT 協議在區塊鏈中擔任重要角色,由上一節的威脅分析可知 BFT 協議在現實世界中面臨多種威脅。協議被攻破后,對區塊鏈安全會產生怎樣的影響?

協議被攻破的表現是攻擊者可以控制共識結果。一旦共識結果可以被操控,對區塊鏈的影響主要是看是怎樣的業務場景。

2.1 有些場景可導致拒絕服務

如果區塊鏈的業務只是負責記錄消息,如消費記錄,共識節點的作用是對交易順序,也就是對消費記錄進行排序,并且就一個排序達成一致即可。這種場景下,如果錯誤節點大于容錯上限,既可以左右排序的順序,也可以左右共識節點無法達成一致。左右排序順序不會造成危害,因為業務跟順序無關。但是,左右節點無法達成一致會導致拒絕服務。

2.2 有些場景可導致雙花

有些場景允許節點在同一區塊高度兩個區塊都投票,且不會受到懲罰。如果區塊鏈的業務有資金的流轉,共識節點的作用是對流轉結果達成一致,那么只需要多增加 1 個錯誤節點,就可以雙花攻擊。f + 1 個惡意節點里面任何一個輪值到 primary,都可以和剩下的 f 個惡意節點合謀,把網絡分化為3個區:f 個 誠實節點(左)、f 個惡意節點、f個誠實節點(右)。然后:

1、惡意 primary 給 f 個誠實節點(左)和 f 個惡意節點 發送 mi,加上 primary 自己剛好滿足 2f + 1。

2、惡意 primary 給 f 個誠實節點(右)和 f 個惡意節點 發送 mj,加上 primary 自己也剛好滿足 2f + 1。

3、這里在一個 view 的 prepare 階段針對同一個 sequence number 產生了兩個交易,也就是所謂的雙花。

雙花攻擊會對資金產生重要的危害。

2.3 更多場景要分開討論

由上兩個小節可知,若容錯邊界被打破,對實際業務產生的危害隨著業務場景的不同而不同,要根據場景去分析。

具體案例分析:

有一個基于 PBFT 改進的溯源鏈案例,案例主要做溯源服務。溯源服務的核心在于存證。案例認為 PBFT 存在如下問題:

1.目前 PBFT 算法應用于聯盟鏈中最主要的問題是動態性。原始 PBFT 網絡中的節點數量固定,節點的增減都需要對共識網絡進行初始化。

2.對于 PBFT 的共識過程中可以看出,PBFT 算法對于作惡的主節點并沒有懲罰機制,僅僅是切換視圖更換主節點,而拜占庭節點仍然停留在共識網絡中。因此在區塊鏈的實際應用中需要進行改進。

3.PBFT 算法對于網絡的帶寬要求過高,帶寬隨著節點的數量的增加呈多項式級別的增長。因此可以與其他的共識算法進行融合改進,選舉出代表節點進行 PBFT 算法,從而減小網絡帶寬的開銷。

案例進行了如下改進:

1.在共識網絡中部署一條智能合約,當網絡中的某些節點達到合約要求的時候,例如節點所擁有的資產的大小,節點對于區塊鏈的貢獻等,那么他就可以進入候選節點的名單中。

2.對達成共識的主節點進行一定的獎勵,并對惡意或不作為節點進行懲罰甚至取消廢除惡意節點,從而提高網絡中拜占庭節點作惡的代價,維護整個區塊鏈網絡的穩定性。

3.在共識網絡中加入超時重傳機制,從而提高消息傳達的成功率,并且可以減小進行視圖切換的次數,從而增加區塊鏈網絡的出塊效率。

針對以上改進,我們分析可能的威脅模型如下:

1.引入智能合約動態調整共識節點數量增加了 PBFT 的擴展性,但是智能合約的合約本身是否安全是一個需要考量的因素。智能合約可能存在編碼不當問題,如各類溢出漏洞;邏輯不當問題,如對共識節點條件判斷出現漏洞;權限不當問題,如智能合約被越權訪問。

2.引入獎懲制度有助于提高網絡穩定性,但是額外的處理邏輯可能引入新的問題,如邏輯不當問題。

3.引入超時重傳機制有利于提高出塊效率,但是超時重傳會影響其他節點計算超時時間,可能導致邏輯混亂。

4.不管如何更改和優化協議,編碼安全問題都是共性問題。

對區塊鏈的安全影響分析如下:

1.以上威脅模型可導致共識協議被攻破,共識可以被人為操控。

2.溯源信息可以被偽造,共識不驗證上鏈信息的合法性,任意偽造信息都可上鏈。

3.溯源信息可以被刪除。

4.溯源鏈被拒絕服務。

對溯源鏈來說,信息的可靠性是最為重要的,共識協議被攻破之后,可靠性不復存在。

03 小 結

拜占庭將軍問題最初由 Leslie Lamport 和另外兩人在1982年提出,距今已有近 40 年的歷史,在互聯網領域,可以稱的上是一個“經典”的問題。近年來,隨著區塊鏈技術的發展,拜占庭將軍問題也重新煥發了生機。BFT 協議在區塊鏈中有了廣泛的應用。在蓬勃發展之余,威脅模型也變得多樣,本文做了簡要的分析。BFT 被攻破之后,對區塊鏈安全的影響不能一概而論,需要看區塊鏈上所承載的業務。我們也做了案例分析。

拜占庭將軍問題是個經典問題,針對拜占庭協議的研究工作非常多,本文也只是管中窺豹,無法完全展現 BFT 的精妙,感興趣的讀者還需要自己做研究。由于區塊鏈方案更新迭代的速度極快,不排除一些信息滯后,歡迎讀者斧正。

本文圖片來源于:

劉秋杉. Practical Byzantine Fault Tolerance[EB/OL].2014-09-09.

區塊鏈安全:基于區塊鏈網絡攻擊的方式原理詳解

參考資料

https://academy.binance.com/zh/articles/what-is-social-engineering

https://mp.weixin.qq.com/s/uE_3NhH0mlEejJoUCfEchQ

https://www.jianshu.com/p/5fea30b25f0a

https://www.chainnews.com/articles/066979964730.htm

https://learnblockchain.cn/2019/08/29/pbft/

https://blog.csdn.net/yuanfangyuan_block/article/details/79872614

https://bihu.com/article/1427644620

https://bihu.com/article/1870080193

https://segmentfault.com/a/1190000019011651

https://zhuanlan.zhihu.com/p/42493898

https://colobu.com/2018/11/28/EOS-whitepaper/

https://docs.neo.org/docs/zh-cn/tooldev/consensus/consensus_algorithm.html

https://xz.aliyun.com/t/3160

http://www.bjnorthway.com/895/

https://www.theblockbeats.com/news/2634

https://www.jinse.com/blockchain/397228.html

https://www.idcbest.com/idcnews/11002090.html

https://www.jianshu.com/p/78e2b3d3af62

https://www.chainnews.com/articles/469245604416.htm

https://www.hyperchain.cn/news/282.html

https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf

http://pmg.csail.mit.edu/papers/osdi99.pdf

https://www.usenix.org/legacy/events/osdi06/tech/full_papers/cowling/cowling.pdf

https://eprint.iacr.org/2016/199.pdf

https://juejin.cn/post/6844903732736425992


Paper 本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1644/