提起區塊鏈,大家似乎感覺這項技術很神秘。今天從技術的角度剖析一下區塊鏈的分布式一致性問題,很多研究人員稱此問題為分布式領域的幽靈,也就是大家常常聽到的拜占庭將軍問題。
拜占庭將軍問題是LeslieLamport提出的針對分布式對等網絡中的通信容錯問題。
LeslieLamport在其論文TheByzantineGeneralsProblem中以一個示例形象的描述了此問題:一組拜占庭將軍分別各率領一支軍隊共同圍困一座城市。為了簡化問題,各支軍隊的行動策略僅限定為進攻或撤離兩種。因為部分軍隊進攻、部分軍隊撤離可能會造成災難性后果,因此各位將軍必須通過投票來達成一致策略,即所有軍隊一起進攻或所有軍隊一起撤離。因為各位將軍分別處于城市不同方向,他們只能通過信使互相聯系。在投票過程中每位將軍都將自己投票給進攻還是撤退的信息通過信使分別通知其他所有將軍,從而,每位將軍根據自己的投票和其他所有將軍送來的信息就可以知道共同的投票結果而決定行動策略。
世界商業組織執行總干事陸軍:區塊鏈的核心部分一定要包含分布式大數據:金色財經現場報道,8月15日,2020國際數字經濟生態峰會于贛州開幕,會上世界商業組織執行總干事、中國互聯網協會應用創新工作委員會副主任、KMCN理事長陸軍演講表示,數字經濟進入大眾視野開始于G20峰會,數字經濟是運用數字化手段對實體生活進行的提升,人民生活有物質生活和精神生活。數字經濟與物質生活和精神生活有著莫大的關聯,互聯網+實體經濟就是數字經濟。人工智能、大數據、區塊鏈分別代表了社會的生產力、生產資料、生產關系。生產關系的改善會極大的釋放生產力,區塊鏈是改善生產關系的最好工具。此外,區塊鏈發展的核心部分一定要包含分布式大數據。[2020/8/15]
用通信術語描述拜占庭將軍問題:可靠的計算機系統必須處理有故障的組件,這些組件的引入可能與系統其它部分信息沖突。根本不發送任何消息,向不同的鄰居發送不同且錯誤的消息,以及謊報自己的輸入值。一個可靠的計算機系統必須能夠處理一個或多個組件的失敗。失敗的組件出現被忽略的行為,向系統的其他部分發送不一致的信息。
聲音 | 中信建投證券:金融分布式賬本標準落定助推區塊鏈及數字貨幣產業發展:中信建投證券認為,在DC/EP發行預期下,圍繞銀行IT系統改造、聯盟鏈建設、認證改造、支付清算環節的公司有望受益。
1.央行和商業銀行IT系統改造:央行數字貨幣將采取“中央銀行-商業銀行”雙層架構,在央行數字貨幣系統架構下,商業銀行需對核心系統進行改造,建立其銀行庫和保存DC/EP,并與中央銀行共同組建分布式賬本登記DC/EP權屬信息。未來無論是在原有A-B類賬戶結構下設定子賬戶,亦或新增一套數字貨幣追溯系統,商業銀行端將有系統升級改造需求。同時央行、商業銀行間將形成類聯盟鏈架構,將可能出現聯盟鏈建設需求,因此數字證書及加密環節廠商有望受益;
2.在支付環節,為了滿足數字貨幣雙離線支付需求,需要在商戶零售場景部署新的支付終端,因此提供支付終端廠商有望受益;
3.DC/EP硬件錢包: 銀行目前在考慮推出硬件錢包,可能形式是SIM卡貼膜、U盤、指紋卡等,硬件錢包供應商有望受益。(金融界)[2020/2/27]
在分布式計算中,不同的計算交換通訊信息從而達成共識并按照同一套協作策略行動。但有時,系統中的成員計算機可能因出錯而發送錯誤的信息,用于傳遞信息的通訊網絡也可能導致信息損壞,使得網絡中不同的成員關于全體協作的策略得出不同結論,從而破壞系統一致性。
動態 | 歐洲央行發布分布式賬本技術概念驗證項目EUROchain:歐洲央行在其官方網站發布分布式賬本技術概念驗證項目EUROchain的報告示例,該項目概念將基于聯盟鏈組織R3的 Corda 平臺,旨在研究如何在反洗錢規則等合規程序下平衡隱私,并使用分布式賬本技術降低交易成本。根據該報告顯示,該概念驗證項目 EUROchain 將由歐洲央行主導,在埃森哲和 R3 的支持下使用分布式分類帳技術(DLT)開發新功能。EUROchain 的主要用例將基于一種可以訪問中央銀行賬戶并可以利用央行持有的準備金庫存為用戶提供央行數字貨幣的中介機構,該種中介機構將代表其客戶處理交易。該報告同時表示,目前僅為概念驗證的簡化案例,并沒有考慮該概念原型的可拓展性。(福布斯)[2019/12/26]
拜占庭將軍問題是存在前提假設條件的,在消息丟失的不可靠信道上試圖通過消息傳遞的方式達到一致性是不可能的,因此對一致性的研究一般假設是建立在信道是可靠的這個前提下。拜占庭將軍問題的核心是允許存在少數節點作惡的情況下如何達成共識的問題。
動態 | Dash Text推出分布式慈善項目:達世幣錢包Dash Text已于近日推出了一個分布式慈善項目,提供分布式和自動化的慈善捐贈形式。捐贈者可以將Dash發送到指定的捐贈地址,該地址會均勻且即時地分發給所有的受捐者。目前,該計劃目前處于試點階段。[2019/3/17]
拜占庭將軍問題實際上是如何讓一個分布式系統的保持一致性和在特定條件下保持正確性的問題。可抽象為滿足以下2個條件的算法:
條件IC1.所有忠誠的將軍得出相同的作戰指令,并且按指令執行,保持指令的一致性。
條件IC2.如果作戰指令是忠誠的將軍發出的,所有忠誠的將軍會遵循該將軍發出的作戰指令,特定條件下的正確性。
LeslieLamport論文里TheByzantineGeneralsProblem提到了OralMessages和Signedmessages兩個解決方案,其算法如下:
1、OM(m)口頭協議算法
結論:如果有m個叛軍,必須至少有3m+1位將軍才能保證口頭協議算法能解“拜占庭將軍問題”。
前提假設:
A1.每個被發送的消息都能夠被正確的投遞
A2.信息接收者知道是誰發送的消息
A3.能夠知道缺少的消息(如果叛軍不配合發送消息,算法默認一個值“撤退”的來替代)
證明過程:
https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf
2、SM簽名協議算法
結論:在不管有多少叛軍的情況下,都能讓忠誠的將軍們保持一致的行動
前提假設:
A1.每個被發送的消息都能夠被正確的投遞
A2.信息接收者知道是誰發送的消息
A3.能夠知道缺少的消息(如果叛軍不配合發送消息,算法默認一個值“撤退”的來替代)
A4.1簽名不可被偽造,一旦被篡改即可發現
A4.2任何人都可以驗證將軍簽名的可靠性
證明過程:
https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf
讀者如果想對分布式算法深入解析,如Paxos、Pow、BFT,推薦區塊鏈核心算法一書,文中有部分值得深入研讀的參考文獻。
參考文獻:
TheByzantineGeneralsProblem.LESLIELAMPORT,ROBERTSHOSTAK,andMARSHALLPEASESRIInternational
區塊鏈核心算法解析.RogerWattenhofer
參考鏈接
TheByzantineGeneralsProblem
同步鏈接:
https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf
Tags:區塊鏈RALNERAGEN區塊鏈通俗易懂的說法TARALSiriNatural Language GenerationGeneration Finance
MicrosoftInternetExplorer402DocumentNotSpecified7.8磅Normal0以太坊2.0項目負責人:如果以太坊2.0是單客戶端.
1900/1/1 0:00:00據DAppTotal.comDeFi專題頁面數據顯示:截至目前,已統計的31個DeFi項目共計鎖倉資金達9.98億美元,其中EOSREX鎖倉2.89億美元,占比29.00%.
1900/1/1 0:00:00LTC看漲期權 代碼月LTC看漲1105期權標的LTC合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例20:1.
1900/1/1 0:00:00Bitget全球用戶: Bitget已上線BCH/USDT正向合約,您可在PC端或APP體驗使用.
1900/1/1 0:00:00尊敬的用戶: 10月8號CXC三個節點收益共1425CXC,BiK提供1萬CXC作為頂部節點的收益將按照用戶認購節點的數量占12號節點的總認購占比瓜分.
1900/1/1 0:00:00親愛的BKEXer: BKEXFinance第十期14天期定期寶業務于新加坡時間2019年9月9日20:00開始,其中,存幣額50BTC的業務計息開始時間為2019年9月14日20:00.
1900/1/1 0:00:00