TMT观察网_独特视角观察TMT行业

Vitalik的“99%容錯共識算法”解析區塊鏈

張希 2018-08-14 12:55
分享到:
導讀

Vitalik近期在其博客上發布了一篇名為《一個99%容錯共識的指南》讓許多人以為誕生了一個“黑科技”般的新共識算法。

然而正如Vitalik自己所說,這一共識算法仍是經典拜占庭將軍問題的算法。通過解析,我們可以看到共識算法的研究與創新仍需要遵循CAP等已經被證明過的理論;在此基礎上把各類經典分布式算法和加密算法改造應用于區塊鏈領域內,將有可能獲得不錯的效果。

1、一個新的算法?

Vitalik在其博客上發布了一篇名為《一個99%容錯共識的指南》。一時間各大媒體紛紛發布消息稱“V神發布的新算法僅需1%節點不作惡”。區塊鏈世界是否一夜之間進入了一個新的篇章?答案可能令人有些沮喪:這并不是一個新研究出來的算法。

事實上,Vitalik在博客中已明確說明“Leslie Lamport在他1982年《拜占庭將軍問題》的著名論文里已包含了(增加容錯率)的算法,下面我嘗試來描述并用一個簡化形式來實現它”。他之后也在twitter上強調說明,“我并沒有發明出一個可以99%容錯的共識協議,而是Leslie Lamport發明的。我只是做了一個解釋并把這個算法適應在區塊鏈領域內”。

這究竟是怎么一回事?為弄清楚來龍去脈,我們需要先來討論共識問題與分布式系統等理論問題。

2、分布式系統理論

實際上在區塊鏈誕生以前,計算機科學就對一致性問題已經有了較多的研究,形成了經過嚴格證明的分布式系統理論。其中較為經典的理論包括FLP和CAP等。

FLP不可能性原理為:“在網絡可靠,存在節點失效(即便只有一個)的最小化異步模型系統中,不存在一個可以解決一致性問題的確定性算法。“即一致性問題的理論下限是無解的。異步分布式系統中不存在一個任意場景下都能實現的共識算法。

CAP原理稱為CAP不可能三角,即一致性(Consistency)、可用性(Availablity)和分區容忍性(Partition)三者無法同時滿足,需要弱化某個特性來設計分布式系統。所以在FLP不可能性原理前提下,CAP原理為工程實踐提供了理論指導。

比CAP更一般的,分布式系統理論中還有對于網絡環境特性的定義:包括安全性(Safety)、活性(Liveness)、通訊不可靠性(Unreliable)。通過這些特性我們可以對CAP進行更為一般和直觀的定義:

11

由此可見,一般來說網絡分區容忍性P并不是一個可選項,而是必須要在算法中去考慮的因素。這也是為什么分布式系統一般都會在安全性(Safety)和可用性(Liveness)之間進行權衡。

22

其中,最后一個任意類型的錯誤是最為嚴重和棘手的。在這種任意類型錯誤都可能發生的場景中,服務器有可能產生原本不應該輸出的內容,系統要做好最壞情況的準備。例如,當一個服務器向不同的服務器發送截然相反的消息時。這種類型錯誤,就是拜占庭錯誤,最早由Pease和Lamport等在上世紀80年代初通過拜占庭將軍問題進行描述和分析。

因此相較于分布式數據庫,區塊鏈的對于一致性問題的設計和實現要更為復雜,這也是為什么區塊鏈不只是一個簡單的分布式數據庫的原因之一。

3、 拜占庭將軍問題的經典解法

關于BFT問題本身的描述,本文不再贅述。而Lamport等人在其經典論文中除了提出拜占庭將軍問題外,也提供了兩種解決辦法。

第一種為“口頭消息”的OM(m)協議,即除了鏈路上可使用加密安全保障外,不允許使用任何的加密算法。該協議需要兩兩之間遞歸的傳遞大量消息,因此消息復雜度很高,為指數級,不太具有可實際操作性。但這一算法仍有其很高的價值,首先是為“實用拜占庭容錯”(Practical Byzantine Fault Tolerance)這一多項式級別復雜度協議的誕生做了一個鋪墊;另外,其1/3容錯節點數量也被證明為是該類算法的理論上限。

而第二種為“加密消息”的SM(m)協議。該算法與第一種不同之處在于使用簽名算法。每個節點都能產生一個不可偽造的簽名,并可由其他節點進行驗證。當收到消息后,節點會通過簽名來判斷及驗證該消息是否已收到過。最終不再收到消息后,消息共識結束。

該論文已證明該第二種算法可對任意多個節點實現容錯(當然網絡中至少還應包括2個正常節點,否則無意義)。具體過程可參考論文原文。

然而這一算法也存在其局限性:與許多拜占庭算法在一個異步或者半同步網絡環境的假設不同,它假設是在一個“同步”網絡內進行,忽略網絡節點間通訊延遲;另外,簽名身份體系信息需要在網絡運行前確定,較難實現擴展。因此,根據CAP理論可以說,這種方式是在不考慮對網絡分區(P)等情況容忍的情況下,實現一個很高的一致性(C)與可用性(A)。

4、“99%容錯共識算法”及對比分析

作為對比,我們再繼續來看一下Vitalik所說的“由Lamport發明而自己進行了描述與簡化實現”的共識算法(以下簡稱“實現版本”;Lamport論文中的版本成為“原版本”)。

該實現版本仍然保留了原有的數字簽名體系,即每個節點都能產生一個不可偽造的簽名,并可由其他節點進行驗證。

與原版本不同的是,為了實現節點間的消息傳遞,實現版本的算法指定了消息的超時時間,即節點接收到一個消息后,對于消息的檢查除了查看簽名是否已收到過并且在集合當中以外,還要檢查收到消息的時間不應晚于簽名對應的時間節點。

image.png

在經過確定好的時間(根據輪次計算得出)后,節點將停止監聽,并按照某種確定好的規則來從檢查合法的消息中選擇一個值來作為共識的結果。

我們對比即可發現,兩種算法并沒有太本質上的不同,其算法本質都是需要基于簽名體系進行。而Vitalik實現版本的共識算法增加的延遲時間要求。這一設計實現在共識協議的具體編寫實現時會經常遇到,可確定消息的傳播輪次、確保消息傳播可在一個指定的時間內結束。

另外,實現版本還討論了觀察者(Observer)作為一個獨立角色在網絡中傳遞消息。觀察者作為網絡中一個被動查看的角色,可接收、檢查消息并直接轉發(不簽名)給其他節點。這需要對觀察者引入一個不一樣的延遲時間,以解決惡意節點故意給觀察者晚發消息使得正常消息超時的問題。

5、應用及啟發

正如上述討論的那樣,該類共識方法的主要問題在于對于網絡的同步要求較高、可擴展性較差。另外一個實現版本的缺點在于消息量也較大(需要進行N-1輪的N個節點向其他N-1個節點發消息的過程,即消息復雜度為),所以在實際場景中,該類共識方法較難直接應用。

44

為了更能適用于區塊鏈領域,Vitalik在其文章中也提到該方法可以與目前的其他共識算法(例如PBFT、PoS等)進行結合,例如可間隔一些特定時間運行該算法采用上述討論的觀察者模式隨機選擇出一些節點運行上述共識進行檢查。但如果在兩種共識算法相關前提假設都不能滿足的情況下,那么共識算法也將失效,即這種改進優化并不能違背原有理論體系。

不過,我們仍可獲得不少啟發:充分挖掘分布式系統領域的經典理論,并將其改造為適用于區塊鏈領域的共識算法可獲得出人意料的效果。例如,PBFT與中本聰類共識結合、Vitalik提出的BFT論文中的SM(m)算法與現有區塊鏈共識結合等等。

此外,嘗試應用安全領域內的各種加密算法也可能會獲得不錯的效果。例如,ByzCoin等也在嘗試使用聚合簽名等加密算法來對共識機制進行優化改造,可大幅度降低通訊復雜度。

6.    總結

共識算法的研究與創新仍需要遵循CAP等已經被證明過的理論。

在這些理論基礎上,可將計算機分布式理論中各類經典算法、安全領域內的各種加密算法加以適應性改造,以應用于區塊鏈領域內,將有可能獲得不錯的效果。


算法 共識 消息 節點 實現
分享到:

1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。


專題報道

主站蜘蛛池模板: 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 机械加工_绞车配件_立式离心机_减速机-洛阳三永机械厂 | 开云(中国)Kaiyun·官方网站-登录入口| 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 电动高压冲洗车_价格-江苏速利达机车有限公司 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 合金耐磨锤头_破碎机锤头_郑州市德勤建材有限公司 | 定制/定做衬衫厂家/公司-衬衫订做/订制价格/费用-北京圣达信 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 采暖炉_取暖炉_生物质颗粒锅炉_颗粒壁炉_厂家加盟批发_烟台蓝澳采暖设备有限公司 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 七维官网-水性工业漆_轨道交通涂料_钢结构漆 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 上海logo设计| 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | 北京印刷厂_北京印刷_北京印刷公司_北京印刷厂家_北京东爵盛世印刷有限公司 | 手机存放柜,超市储物柜,电子储物柜,自动寄存柜,行李寄存柜,自动存包柜,条码存包柜-上海天琪实业有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 东莞画册设计_logo/vi设计_品牌包装设计 - 华略品牌设计公司 | 云南成考网_云南成人高考报名网| 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | RFID电子标签厂家-上海尼太普电子有限公司 | 贵州水玻璃_-贵阳花溪闽兴水玻璃厂|