比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 波場 > Info

科普 | 什么是共識?(生活篇)_加密貨幣

Author:

Time:1900/1/1 0:00:00

分布式一致性問題本質上可以從兩個維度來認識:一是如何就某一個值達成一致的決策;二是如何就一系列連續的值達成一致的順序決策。很顯然,如果我們能夠找到問題一的解決方案,那么問題二也就迎刃而解了。下面我們就從一個生活中的小問題來入手,看看如何去設計一個合理的算法來解決問題一。

有這樣一個家庭,由6個成員組成,分別是爸爸媽媽、爺爺奶奶、姐姐和一個3歲的弟弟。這一天,大家要線上決定一下明天出游時,弟弟戴什么顏色的帽子。由于此時5位家長分處在不同的地方,因此只能通過微信來交流。我們嘗試通過這樣一個案例來剖析一個最簡單的共識問題。

單點故障

既然目的是要做出一個一致的決策,最簡單的方式就是找出一個公信度最高的人,由他負責給出一個決策,大家都同意即可。比如,我們始終選擇媽媽的決策,因為平時都是媽媽負責弟弟的著裝。可是如果每次決策都需要等待媽媽的提案的話,難免有時候媽媽的手機會不在線,比如在坐飛機的時候手機開了飛行模式。因此,始終選擇一個人來做決定是不行的。這種因為一個參與方就導致整個集群出現阻塞的情況就是典型的單點故障問題。

少數服從多數

既然由一個人來做決策不可靠,最容易想到的一個解決方案就是:少數服從多數。即每次決策都至少得到半數以上人的同意才可以通過。當然,這里我們不考慮有人亂投票,即向不同人發送不一樣的投票。以當前的場景為例,5個人當中需要至少3個人接受同一個提案才能表明該提案值被選定。并且我們需要保證一旦某個提案值被選定了,就不可能在后續出現另外一個提案值也被選定。

徐明星新書《趣說金融史》正式發布 科普金融發展之道:金色財經現場報道,9月23日,歐科云鏈創始人徐明星攜手著名財經作家李霽月、行業觀察者顧澤輝力作《趣說金融史》一書,跨越5000年金融歷史,重讀金錢故事,并預測新的金融時代。該書由中信出版社出版,將于近期正式發售。據了解,本書可以更好地呈現金融的起源與發展,幫助人們理解貨幣、金融與未來經濟。作為區塊鏈行業領軍企業——歐科云鏈的創始人,徐明星深知技術探索對經濟社會的重要推動作用,他曾先后出版過《圖說區塊鏈》、《區塊鏈:重塑經濟與世界》、《通證經濟》、《鏈與未來》等行業權威著作,解讀區塊鏈等新型技術的推動下,金融與社會的升級之道,對經濟社會發展做出了重大貢獻。其中,《區塊鏈:重塑經濟與世界》曾作為新中國70周年重點推薦圖書之一被相關書店推薦。[2021/9/23 17:00:57]

注:這里的選定是全局視角的,而接受是單個人的視角的,即同一個人可能會接受多次提案,但是整個群體最終只能選定一個提案值。

▲場景1

首先依舊給出一個最簡單的方案,為了能夠完成最終的決策,我們規定每個人必須接受他收到的第一個提案,這樣也可以調動起大家的積極心,如果想要自己的提案通過就必須快速想出一種顏色并發出提案。

歐科云鏈集團正式啟動區塊鏈科普行動“星途計劃”:歐科云鏈集團于4月26日,正式宣布啟動了區塊鏈科普行動——“星途計劃”,行動包括將在全國范圍展開系列沙龍,加大力度推進區塊鏈科普進機關、進國企、進校園等,聯合政府部門、行業協會等共同構建起更加完善和有效的區塊鏈科普教育生態,與此同時,直擊區塊鏈科普現存痛點,推出簡單易懂的“秒懂區塊鏈”公益短視頻課。

該計劃旨在全維度推動社會建立對產業更清晰的認知,與“鯤鵬計劃”一道助力數字經濟及區塊鏈產業本身健康發展夯實“人才”和“產業認知”兩大基礎。[2021/4/26 20:59:37]

但是,這種方案可能導致一種無法完成決策的困境。如上圖所示,爸爸提出了紅色帽子,覺得比較正能量!并及時將提案私戳給了媽媽,媽媽也欣然接受。幾乎同一時間,爺爺提出了藍色帽子,覺得比較復古!并及時將提案私戳給了奶奶,奶奶也欣然接受。而姐姐認為綠色比較時髦,然而等她將消息發送出去后,發現大家都已經有了自己的選擇。最終形成了2-2-1的局面,沒有哪個提案能夠達到半數以上。因此,我們發現,如果想要最終完成決策,有些人可能要接受多個不同的提案。

▲場景2

既然如此,我們再考慮如下方案,即每個人都接受他收到的所有提案。

IMF今日發布的加密貨幣科普視頻實為兩年前舊聞,且存在諸多疏漏:國際貨幣基金組織IMF今日在推特上發布了一條關于加密貨幣的科普視頻,這段時長兩分鐘的視頻最初發布于2018年6月。該視頻稱加密貨幣是“貨幣進化的下一步”,但沒有特別提到DLT、區塊鏈,甚至是代幣名稱等術語。BTC、XRP和ETH只出現在說明加密交易的圖形中。盡管這段視頻到目前為止已經獲得了超過13.7萬的點擊量和2900個贊,但來自加密社區的許多反應都是批評的,他們指出了信息中的漏洞和似乎具有誤導性的措辭。

Reddit用戶nanooverbtc稱:“他們犯了很多錯誤,比如把私鑰稱為密碼。”該視頻也沒有討論挖礦或加密貨幣供應。Kraken策略師Pierre Rochard等知名人士表示:“可證明的稀缺性是比特幣有趣的原因,你忘了提這一點。”(Cointelegraph)[2020/8/24]

這次,我們只考慮有兩個人發起了提案,分別是爸爸的紅色提案和姐姐的綠色提案。如果爸爸的提案已經獲得了3票的同意達到了選定狀態,隨后姐姐才發起提案,根據每個人都接受所有提案的原則,綠色提案最終也能夠達到選定狀態。顯然,這種方案違背了唯一性的原則,如果一直這樣運轉下去可能最終也沒法選定一個提案值。

此時,我們發現一個問題,即爸爸的紅色提案既然事先已經達到了選定狀態,那么我們可以讓姐姐在提案之前確認下所有人的狀態,如果已經有半數節點對某個提案值達成了共識,那么姐姐就可以停止發出提案,或者再發出一個包含相同提案值的提案來保證唯一性。這樣是否就能夠解決問題了呢?

人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]

▲場景3

場景2中的問題依然存在,如上圖所示,如果爸爸和姐姐分別事先確認了下所有人的狀態都處在未投票的狀態,并依次發出了各自的提案,由于爸爸是分別私戳的,因此消息有一定的延遲,而姐姐直接拉了一個群聊一次性通知給了爺爺和奶奶,因此姐姐的提案先于爸爸的提案達到選定狀態,稍后等爸爸的提案通知到了媽媽和爺爺的時候,他們又該如何決策呢?

現場 | 火幣中國推出數字經濟及區塊鏈產業科普新書:金色財經現場報道,12月6日,由海南省工業和信息化廳主辦,南南合作金融中心協辦,海南生態軟件園、火幣中國承辦的“海南自貿港數字經濟和區塊鏈國際合作論壇”在海口舉行,這是全球首次區塊鏈部長級論壇。

在本次論壇上,火幣中國舉行了“數字經濟及區塊鏈產業科普系列新書發布”儀式,希望通過教材、專業教育、培訓等多種方式,幫助從業者、高校、研究機構深入了解區塊鏈,從而建立起區塊鏈全局性知識模型,真正推動區塊鏈應用落地。火幣中國CEO袁煜明介紹,將聯合機械工業出版社面向普通高等教育推出《區塊鏈導論》、《區塊鏈系統設計與應用》和《區塊鏈新商業模式分析》系列教材,這是國內最早推動的區塊鏈教材之一;火幣中國還積極參與數字經濟的研究,由中信出版社出版的新書《讀懂Libra》已經上市;由火幣中國負責編寫的區塊鏈技術科普讀物《區塊鏈技術進階指南》將于12月面世;首本行業內最全的區塊鏈應用案例集《區塊鏈產業應用100例》在本次論壇進行了首次刊印。[2019/12/6]

通過上面的問題,我們發現,為了防止整個決策進入到一種無法終止的狀態,我們還需要通過某種方式對提案進行排序,從而拒絕一些舊的、無效的提案,并及時地向提案者反饋自己接受的提案值,避免提案者一直發起相同的提案。也就是說,如果爺爺在收到爸爸的延遲提案時,能夠知道先前已經存在一個更新的提案并拒絕舊提案,同時告知爸爸已經接受了姐姐的綠色提案的話,就可以避免出現多種提案達到選定狀態的困境。

例如,我們可以分別為5個人分配一系列提案號,提案號按如下規則遞增:

同時做如下規定:

一條提案由提案值color和提案號seqNo組成,可表示為(color,seqNo)每個人記錄下自己收到的最大提案號,并拒絕提案號比它更小的提案當提案者收到一個已經被接受的提案時,必須無條件接受該提案,否則有可能陷入無限提案的循環每個提案都需要分為兩階段來完成,分別為事先詢問階段與最終確認階段,其中詢問階段用來確定一個序號值seqNo并及時檢測出是否已經存在被接受的提案值,確認階段用來確定一個提案值color。

場景1的解決方案比較簡單,即在一定時間內無法收到大多數人的同意消息之后,嘗試用新的提案號再發起一次提案,直到某次提案消息能夠成功傳達到大多數人后,即可完成決策。

下面我們來看一下如何解決場景2與場景3。

注:下圖中,以Pn表示事先詢問消息,詢問其他節點是否接受提案號n;以R(v,n)表示響應消息,告知提案者當前已經接受的最大提案號和提案值;以A(v,n)表示最終確認消息,告訴其他節點嘗試最終確認一個提案值v,其提案號為n。

場景2解決方案

對于已經達成選定狀態的提案,我們可以保證后續的提案不會覆蓋原先的提案值。

此時提案決策流程如下:

爸爸使用提案號1發起詢問爸爸、媽媽、爺爺都同意提案號1,并且反饋當前未接收任何提案值,提案號默認為0由于收到了大多數人的同意,爸爸發出最終確認消息給到了大多數人,提案號為1,提案值為紅色,此時紅色其實已經達到選定狀態姐姐使用提案號5發起詢問由于提案必須經過至少3人同意,而任選3人必然與此前同意爸爸提案的人群有交集,因此處在交集中的人能夠及時反饋之前已經同意的提案,即1號紅色提案,其余人還是反饋空投票姐姐在等到大多數人的反饋結果之后,發現此前已經有提案被其他人同意了,選擇提案號最高的那個提案值,覆蓋自己的提案值姐姐發出最終確認消息,提案號為5,提案值為紅色最終所有人都接受了紅色提案,雖然提案號可能不盡相同場景3解決方案

對于未達成選定狀態的提案,如果有新的提案提出,最終選定的提案值可能有兩種情況。

第一種情況是新提案者能夠發現舊的提案值,最終會選定舊的提案值。

第二種情況是新提案者不能夠發現舊的提案值,最終會選定新的提案值。

場景3-1解決方案

新提案者能夠發現舊的提案值,最終會選定舊的提案值。

此時提案決策流程如下:

爸爸使用提案號1發起詢問爸爸、媽媽、爺爺都同意提案號1,并且反饋當前未接收任何提案值,提案號默認為0由于收到了大多數人的同意,爸爸發出最終確認消息,但是因為消息延遲的原因,最終確認消息只發送到了爸爸、爺爺。媽媽延遲接受了該消息,因此紅色其實并未達到選定狀態姐姐使用提案號5發起詢問由于提案必須經過至少3人同意,而如果此時選中的3人中恰巧有一人接受過爸爸的最終確認消息,他會立即反饋之前已經同意的提案,即1號紅色提案,其余人還是反饋空投票姐姐在等到大多數人的反饋結果之后,發現此前已經有提案被其他人同意了,選擇提案號最高的那個提案,覆蓋自己的提案值姐姐發出最終確認消息,提案號為5,提案值為紅色媽媽延遲接收到了爸爸的最終確認消息,由于沒有收到提案號更大的提案,因此也接受了紅色提案最終所有人都接受了紅色提案,雖然提案號可能不盡相同場景3-2解決方案

新提案者不能夠發現舊的提案值,最終會選定新的提案值。

此時提案決策流程如下:

爸爸使用提案號1發起詢問爸爸、媽媽、爺爺都同意提案號1,并且反饋當前未接收任何提案值,提案號默認為0由于收到了大多數人的同意,爸爸發出最終確認消息,但是因為消息延遲的原因,最終確認消息只發送到了爸爸、媽媽。爺爺延遲接受了該消息,因此紅色其實并未達到選定狀態姐姐使用提案號5發起詢問由于提案必須經過至少3人同意,而如果此時選中的3人中恰巧都沒有人接受過爸爸的最終確認消息,那么姐姐會收到3個人反饋的空投票由于收到了大多數人的同意,姐姐發出最終確認消息給到了大多數人,提案號為5,提案值為綠色,此時綠色其實已經達到選定狀態媽媽延遲接收到了爸爸的最終確認消息,由于之前已經接受了提案號更大的提案,因此拒接爸爸的舊提案值,并將新提案值及時反饋給爸爸爸爸在收到拒接響應消息后,會嘗試從頭開始重新發起提案,最終選擇綠色提案最終所有人都接受了綠色提案,雖然提案號可能不盡相同總結

總結一下,為了能夠讓決策最終能夠收斂,其實我們已經顯式或者隱式地做了一些約束:

1.每個人的手機需要實時在線并且任意一條微信消息都可以在一定時延內收到,當出現網絡斷開的場景時,可能會導致共識無法達成

2.每個人都需要嚴格按照上述規則進行提案/投票,不能有胡亂提案/投票的動作

上面其實就是運用了經典分布式一致性算法Paxos的原理。然而Paxos解決的僅僅是一個最基本的共識的問題,即在非拜占庭的同步網絡環境下,如何就一個決策值達成一致。如果系統進入了異步網絡環境呢?如果出現了拜占庭節點呢?當我們將這一系列的問題考慮進去之后,整個問題就變得復雜的多了。

好在前人已經給我們提供了非常多的理論基礎,為了應對不同的問題,已經出現了非常多優秀的共識算法。大家感興趣的話,后面會有詳細的共識算法分類介紹,為大家全面地展示不同場景下共識算法的選擇與權衡。添加小助手加入技術交流群,歡迎您和我們共享觀點,共論區塊鏈的無限未來~

作者簡介

端豪

趣鏈科技基礎平臺部共識算法研究小組

Tags:區塊鏈加密貨幣COLOLO區塊鏈dapp開發白富美加密貨幣行情英為行情Arcade ProtocolAgrolot

波場
美國IT軟件公司Kaseya否認支付價值7000萬美元比特幣贖金_區塊鏈

據Decrypt7月27日,美國IT軟件公司Kaseya在遭受俄羅斯黑客組織REvil的勒索軟件攻擊后,于上周獲得了解密器,針對該公司已支付價值7000萬美元比特幣贖金的揣測.

1900/1/1 0:00:00
數字人民幣“兵臨城下”,ATM機何去何從?_IND

作者?|周芃芃?編審?|照生?排版?|?王紀瓏琰2015年后,隨著移動支付的逐漸流行,無論是消費者、銀行還是監管機構,他們對于現金的需求逐漸減少。ATM機供應商因此經歷了一場生存危機.

1900/1/1 0:00:00
一文詳解波卡與 Web3.0 的淵源_WEB3

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.

1900/1/1 0:00:00
Stone Ridge向美國SEC注冊新的比特幣基金_DOT

據cointelegraph消息,紐約數字投資集團(NYDIG)的母公司StoneRidge已向美國證券交易委員會(SEC)提交了一份新的招股說明書,將比特幣添加到其開放式共同基金中.

1900/1/1 0:00:00
觀察 | EIP-1559 的“能”與“不能”_以太坊

撰文:AnthonySassano&Nader 編輯:南風 自以太坊EIP-1559提案于2019年4月首次被提出以來,以太坊社區對其進行了大量宣傳.

1900/1/1 0:00:00
黑人宇航員 "Aku"成為第一個進入太空的NFT藝術作品_ROCK

據Decrypt8月5日消息,前美國職業棒球大聯盟球員及藝術家MicahJohnson2月份首次推出黑人宇航員"Aku"NFT.

1900/1/1 0:00:00
ads