2021-02-16 人閱讀
近日,中國科學院軟件研究所張振峰團隊聯合美國新澤西理工學院唐強團隊,在區塊鏈核心技術的拜占庭容錯(BFT)共識研究中取得重要突破,在國際上提出首個完全實用的異步共識算法“小飛象拜占庭容錯(Dumbo BFT)算法”(簡稱“小飛象算法”)。
在以“去中心化”為主要特征的區塊鏈技術中,共識算法為什么重要?什么是“拜占庭容錯共識算法”?“小飛象算法”又有哪些過人之處?
共識算法為什么重要?
“去中心化”是區塊鏈的特征之一。在一個去中心化的系統里,沒有負責“拍板”的角色,這就好比一個臨時組成的旅游團,有人想往東,有人想往西。
▲“中心化”與“去中心化”
再舉一個更加貼近生活的例子,在傳統的金融系統里,A向B轉賬了一筆錢,這個行為會被保存在銀行數據庫里,交易數據的真實性由銀行這樣的傳統機構保證,以他們的記錄為準。
但是在比特幣這種“去中心化”的區塊鏈系統中,可能有的節點記錄了A向B轉賬的事情,有的節點沒有記錄,那到底有沒有轉賬這回事?以誰的記錄為準?
很明顯,在上述兩種情況下,通過一個合適的共識機制,讓整個系統能做出統一的決定非常重要。
因此,在區塊鏈的世界里,不同的節點通過預設共識算法最終達到數據的一致性,這其實就是一種通用性規則,每個人只要按照這個規則參與運行,結果即可得到其他人的認可。
“拜占庭容錯共識算法”與拜占庭有何關系?
在實際運行中,共識算法并非無懈可擊。來自各方的挑戰經常會影響共識的達成,其中最大的挑戰還是源自“信任問題”。
1982年,圖靈獎獲得者萊斯利·蘭伯特(Leslie Lamport)等在論文中提出了這樣一個可能令共識算法失靈的情況假設,即“拜占庭將軍問題”。
▲ 什么是 “拜占庭將軍問題”?
由此可見,拜占庭容錯(Byzantine Fault Tolerance, BFT)共識算法是由拜占庭將軍問題衍生出來的共識算法,其目的是要解決在非信任環境下,如何達成共識。
類似的故事在中國的歷史上更為普遍,例如戰國時期的“合縱連橫”:秦國的勢力不斷強大,成為其他六國的共同威脅,于是六國“合縱”,合力抵抗強秦。與此同時,秦國也通過“連橫”分別與六國聯盟,目的是破壞六國間的“合縱”,以便孤立各國,各個擊破。
在上述背景下,無論秦國還是其他六國,均面臨所謂的“拜占庭將軍問題”——既要聯合作戰,又要防范自己被滅。那時候的古人往往通過人質或聯姻等手段建立信任,而在區塊鏈的語境中,類似的問題可以由“拜占庭容錯共識算法”來解決。
因此,作為區塊鏈的關鍵核心技術,“拜占庭容錯共識算法”是確保區塊鏈安全可靠運行、提升區塊鏈擴展能力和運行性能的核心算法,具有運行性能高、資源消耗低、易于部署等特點,得到工業界的青睞,廣泛應用于中外區塊鏈系統中。
“小飛象算法”有何過人之處?
此次研究成果主要完成人張振峰研究員在接受采訪時表示,如何設計高效的異步“拜占庭容錯共識算法”,這是密碼學和分布式計算領域的著名難題。自20世紀80年代起,包括多位圖靈獎得主在內的眾多國際著名學者先后對這一難題進行探索,2016年提出的“蜜獾算法”(Honey Badger BFT)是第一個接近實用的異步共識算法,已被應用于區塊鏈平臺。
張振峰指出,為設計完全實用的異步共識算法,中科院軟件所于2015年開展“小飛象算法”研究工作,該算法以獨到視角對“蜜獾算法”進行分析,揭示其性能受限的根源是大量隨機化子模塊調用導致的運行時間增加,提出全新的可證明可靠廣播原語,通過密碼學“證明”保證了交易廣播的正確完成,并給出基于門限數字簽名技術的高效構造方法,通過一種創新性的多值拜占庭共識應用,將對交易的共識轉換為對“證明”的共識,使“小飛象算法”在容忍1/3的惡意節點的同時,突破異步共識算法在性能上的設計挑戰。
目前,在遍布全球四大洲的100個共識節點的測試網絡中,“小飛象算法”的確認延遲時間為24秒、不到“蜜獾算法”的1/20,交易吞吐量為每秒近1.8萬筆、是“蜜獾算法”的9倍多。
張振峰還表示,聯合團隊完成“小飛象算法”的創造性突破,不僅解決了異步共識算法設計的理論難題,而且在性能上大幅提升并全面超越當前工業界采用的“蜜獾算法”,從而成為國際首個完全實用的異步共識算法。這項研究成果,可為中國區塊鏈基礎設施建設提供強安全、高性能、可擴展的新一代核心技術。
來源:新華網思客綜合
微信公眾號 關注我們
加我微信 售前咨詢
加我微信 售前咨詢