比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

區塊鏈:科普 | 什么是共識?(生活篇)_Scarcity DeFi

Author:

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

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

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

單點故障

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

少數服從多數

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

穩定幣crvUSD科普創新清算機制LLAMMA,可在抵押品價格下跌時逐步替換為穩定幣:1月17日消息,Curve官方科普其穩定幣crvUSD創新的清算機制LLAMMA,解釋了LLAMMA通過AMM的特性進行針對債務人更友善的清算方式,讓抵押品在價格下跌時逐漸轉移成穩定幣,讓原本要清償的債務有一定程度的穩定幣可以償還,同時在價格回穩時再逐漸把穩定幣換回抵押品,而不是直接的觸發清算導致債務人的虧損。

此前報道,2022年11月23日,去中心化交易平臺CurveFinance開發者發布Curve即將推出的去中心化Stablecoin“crvUSD”的官方代碼和白皮書。[2023/1/17 11:17:13]

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

▲場景1

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

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

火幣推出《一分鐘讀懂DeFi》系列科普視頻:據官方消息,8月24日,火幣推出《一分鐘讀懂DeFi》系列科普視頻,并與微博財經合作冠名播出,布道DeFi認知,助力行業發展《一分鐘讀懂DeFi》是由火幣成長學院打造的業內首個系統全面講解DeFi的系列科普動畫,繼推出《區塊鏈100問》后的再續佳作。《一分鐘讀懂DeFi》系列動畫對DeFi的發展進行系統梳理,適合想要由淺入深、全面系統了解區塊鏈DeFi的人們輕松了解DeFi。目前視頻已由火幣網官方微博發布。[2020/8/24]

▲場景2

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

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

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

人民數字FINTECH推出區塊鏈科普動畫:人民日報數字傳播發布微博稱,人民數字FINTECH出品《趣味科普|區塊鏈動畫》。[2020/3/31]

▲場景3

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

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

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

動態 | 新浪財經:官媒針對區塊鏈的報道從科普宣傳轉向打假監管:據新浪財經今日消息,“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉。據11月初的一項統計,七家黨媒在新政一周內發布了65篇直接相關報道,當時文章中的關鍵詞是數據、產業、安全、創新等,大量文章偏向于科普區塊鏈的概念以及應用介紹,提醒警惕虛擬貨幣炒作的僅有3篇。近期,官媒的批評焦點則紛紛指向借區塊鏈之名進行的虛擬貨幣發行和炒作行為。據統計,新華網、人民網收錄轉載的,以打擊虛擬貨幣或揭露假借區塊鏈行騙為主題的文章,自10月25日到11月25日午間,共28篇;其中,11月19日至11月25日的一周內就高達15篇。這些文章主要圍繞三個觀點展開:厘清區塊鏈和虛擬貨幣的關系,說明二者概念不等;打擊偽“區塊鏈”騙局,或是虛擬貨幣騙局揭露;提醒民眾,區塊鏈不能成為炒作的噱頭,更不是行騙的招牌,需警惕此類活動,理性投資。[2019/11/26]

同時做如下規定:

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

動態 | 區塊鏈技術入選科普雜志《科學美國人》2019十大突破性技術榜單:據新浪網今日新聞報道,美國科普雜志《科學美國人》公布 2019 十大突破性技術榜單。區塊鏈技術因在保障食品安全中的作用而上榜。 入選榜單具體原因:區塊鏈技術的發展應用將顯著改善食品污染源數據追蹤的困境。利用區塊鏈云端系統,食品制造商可以依次在計算機儲存各類過程的信息。[2019/9/29]

場景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:區塊鏈EFIDEFDEFI以下哪項不是區塊鏈目前的分類YEFIDefinixScarcity DeFi

比特幣價格今日行情
NFT:觀察 | 為什么猿猴頭像會席卷推特?看看項目創始人怎么說_幣換天下區塊鏈

#NFT項目談001:BAYC作者:KyleChayk 譯者:白魚? 原標題:《為什么猿猴頭像會席卷推特?看看項目創始人怎么說》 編者按|| 猿猴作為Cryptopunk之后最火的NFTAvat.

1900/1/1 0:00:00
區塊鏈:中國未來區塊鏈產業聯盟在杭州成立丨2021世界區塊鏈大會_COMBI價格

巴比特訊,7月24日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心開幕。本次大會由杭州時戳信息科技有限公司主辦,杭州未來科技城管委會等機構支持.

1900/1/1 0:00:00
ZEN:ZenGo團隊推出基于門限加密的協議以實現比特幣閃電網絡在物聯網領域的小額支付應用_ZENI價格

巴比特訊,8月2日,加密錢包ZenGo團隊聯合推出了基于門限加密的協議,以實現比特幣閃電網絡在物聯網領域的小額支付應用,該協議可使物聯網設備通過比特幣閃電網絡中不受信任的網關來執行閃電網絡操作.

1900/1/1 0:00:00
區塊鏈:蘇杭:不要去神話區塊鏈,區塊鏈作為一項技術一定是依托于其他的產業而生_DEF

巴比特訊,7月24日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心開幕。本次大會由杭州時戳信息科技有限公司主辦,杭州未來科技城管委會等機構支持.

1900/1/1 0:00:00
元宇宙:觀察 | 元宇宙是“方塊”搭成的?_NFT

作者:宋嘉吉,金郁欣 摘要 本文著眼于一個問題:為什么風靡全球的Roblox、Minecraft都是樂高式的方塊搭成的?為什么不能像魔獸一樣有精美的人物模型?特立獨行,方塊構建游戲世界.

1900/1/1 0:00:00
LEE:詳解FleekLabs為Dfinity用戶帶來了哪些便捷服務_SDFI價格

FleekLabs是由一個Web3.0開發工作室,該這個工作室開發的Fleek平臺為任何開發人員提供無縫的構建、托管、存儲的Web3.0網絡服務.

1900/1/1 0:00:00
ads