區(qū)塊鏈去中心化世界的烏云暨曌鏈MIT、全新SDWC共識算法重構區(qū)塊鏈共識基石區(qū)塊鏈
曌鏈是一個支持海量、安全性與可擴展性的分布式框架平臺系統(tǒng),其以全新SDWC共識算法重構區(qū)塊鏈共識基石。
區(qū)塊鏈去中心化世界頭頂的一朵烏云
在1900年4月27日,開爾文勛爵在英國皇家研究所做了一篇名為《在熱和光動力理論上空的十九世紀烏云》的發(fā)言,演講中開爾文聲稱:
動力學理論認為熱和光都是運動的方式,現在這一理論的優(yōu)美和明晰,正被兩朵烏云籠罩著。
——?開爾文勛爵
開爾文對這兩個問題的在意程度反映了當時物理學界的普遍憂慮,但他很有可能沒有想到的是,這兩朵烏云給物理學帶來的是一場突如其來的風暴,這場風暴顛覆了舊理論體系的框架,分別導致了二十世紀物理學的兩大理論體系:相對論和量子力學的誕生。
下圖分別是比特幣和以太坊全網算力分布圖,可以很清晰的看到排名前四的大礦池已經壟斷了遠超過51%的算力,區(qū)塊鏈所極力倡導的去中心化變成強中心化,這朵烏云是否會給區(qū)塊鏈世界帶來新的一場狂風暴雨?
圖1: 左圖是比特幣全網算力分布圖,右圖是以太坊算力分布圖
分布式系統(tǒng)原理
共識機制是區(qū)塊鏈底層基礎技術中最為重要的,可以說共識機制是區(qū)塊鏈技術底層的核心和靈魂。區(qū)塊鏈作為分布式系統(tǒng)的一個新興類型,它的共識機制演化過程是基于分布式系統(tǒng)的一些原理,現在先介紹這四大原理。
圖2: 分布式系統(tǒng)共識機制的理論基礎
FLP不可能原理
FLP 不可能原理(FLP Impossibility)由Fischer、Lynch和Patterson三位科學家于1985年發(fā)表的論文《Impossibility of Distributed Consensus with One Faulty Process》指出:在異步模型中,分布式系統(tǒng)中只要有一個進程不可用(失去響應或暫停),就可能無法達成整體的共識。(No completely asynchronous consensus protocol can tolerate even a single unannounced process death)。
以上結論被稱為FLP不可能原理。該定理被認為是分布式系統(tǒng)中重要的原理之一。該原理提出:在網絡可靠,存在節(jié)點失效(即便只有一個)的最小化異步模型系統(tǒng)中,不存在一個可以解決一致性問題的確定性算法。FLP 原理實際上說明對于允許節(jié)點失效情況下,純粹異步系統(tǒng)無法確保一致性在有限時間內完成。
CAP原理
CAP 原理最早由加州大學伯克利分校的Eric Brewer教授于 2000年7月,在ACM PODC會議上提出CAP猜想,2年后,麻省理工學院的Seth Gilbert和Nancy Lynch從理論上證明了CAP。之后,CAP理論正式成為分布式計算領域的公認定理。
分布式計算系統(tǒng)不可能同時確保一致性(Consistency)、可用性(Availability)和分區(qū)容忍性(Partition),設計中往往需要弱化對某個特性的保證:
數據強一致性(Consistency):如果系統(tǒng)對一個寫操作返回成功,那么之后的讀請求都必須讀到這個新數據;如果返回失敗,那么所有讀操作都不能讀到這個數據,對調用者而言數據具有強一致性(strong consistency) ;
可用性(Availability):所有讀寫請求在一定時間內得到響應,可終止、不會一直等待;
分區(qū)容錯性(Partition-Tolerance):在網絡分區(qū)的情況下,被隔離的節(jié)點仍能正常對外服務;
分布式計算系統(tǒng)不可能同時確保一致性(Consistency)、可用性(Availability)和分區(qū)容忍性(Partition-Tolerance),設計中往往需要弱化對某個特性的保證,CAP原理對標的是經濟學中的三元悖論(Mundellian Trilemma)。
BASE理論
BASE理論是有eBay的架構師Dan Pritchett源于對大規(guī)模分布式系統(tǒng)的實踐總結,在ACM上發(fā)表文章提出BASE理論,BASE理論是對CAP理論的延伸,核心思想是即使無法做到強一致性(Strong Consistency,CAP的一致性就是強一致性),但應用可以采用適合的方式達到最終一致性(Eventual Consistency)。
BASE理論的定義
基本可用(Basically Available) :基本可用是指分布式系統(tǒng)在出現故障的時候,允許損失部分可用性,即保證核心可用。 電商大促時,為了應對訪問量激增,部分用戶可能會被引導到降級頁面,服務層也可能只提供降級服務。這就是損失部分可用性的體現。
軟狀態(tài)( Soft State) :軟狀態(tài)是指允許系統(tǒng)存在中間狀態(tài),而該中間狀態(tài)不會影響系統(tǒng)整體可用性。 分布式存儲中一般一份數據至少會有三個副本,允許不同節(jié)點間副本同步的延時就是軟狀態(tài)的體現。MySQL replication的異步復制也是一種體現。
最終一致性( Eventual Consistency) :最終一致性是指系統(tǒng)中的所有數據副本經過一定時間后,最終能夠達到一致的狀態(tài)。弱一致性和強一致性相反,最終一致性是弱一致性的一種特殊情況。
BASE理論的核心思想是:即使無法做到強一致性,但每個應用都可以根據自身業(yè)務特點,采用適當的方式來使系統(tǒng)達到最終一致性。
ACID原則
ACID也是一種比較出名的描述一致性的原則,通常出現在分布式數據庫領域。具體來說,ACID原則描述了分布式數據庫需要滿足的一致性需求,同時允許付出可用性的代價。
ACID特征如下:
Atomicity:每次操作是原子的,要么成功,要么不執(zhí)行;
Consistency:數據庫的狀態(tài)是一致的,無中間狀態(tài);
Isolation:各種操作彼此之間互相不影響;
Durability:狀態(tài)的改變是持久的,不會失效。
ACID和BASE代表了兩種截然相反的設計思想。ACID是傳統(tǒng)數據庫常用的設計理念,追求強一致性模型。BASE支持的是大型分布式系統(tǒng),犧牲掉對一致性的約束(但實現最終一致性),來換取一定的可用性。
區(qū)塊鏈共識機制
區(qū)塊鏈的底層基礎是共識算法、各類對稱非對稱加密算法、P2P分布式網絡協(xié)議和區(qū)塊結構及存儲。共識機制是在這些底層基礎技術中最為重要的,可以說共識機制是區(qū)塊鏈技術底層的核心和靈魂。共識機制很大程度上決定了整個區(qū)塊鏈系統(tǒng)節(jié)點間的相互信任程度,也決定了其他使用者對于區(qū)塊鏈上數據的信任程度。
對于公有鏈來說,無論是EOS的復雜且容易形成小團體侵害散戶節(jié)點利益的DPOS算法,還是Penta的沒有實用性且低效率的DSC算法都無法將區(qū)塊鏈技術落地于真正的商業(yè)世界。
當前區(qū)塊鏈流行的各種共識算法,雖然能解決部分問題,但是都有著這樣或那樣的缺點,現在羅列出來:
表1: 各種共識算法缺點
曌鏈MIT分片動態(tài)權重共識機制
CAP理論雖然揭示了,在分布式系統(tǒng)中不可能同時確保一致性(Consistency)、可用性(Availability)和分區(qū)容忍性(Partition-Tolerance),我們權衡出這三者關系對于區(qū)塊鏈落地商業(yè)世界的重要性,不追求強一致性(Strong Consistency),而是根據BASE理論達到最終一致性就可以,有鑒于此曌鏈(MIT)區(qū)塊鏈采用一種新創(chuàng)的基于三個維度權重計算的共識算法:分片動態(tài)權重共識機制(Sharding Dynamic Weight Consensus, SDWC):
節(jié)點負載;
網絡質量;
節(jié)點信用;
權重計算公式。
W1,2,3 = w1x1 w2x2 w3x3;
W = 相對權重(%)
X = 歸一化后數值
表2: 權重示例表
信用數值歸一化公式
*X為數據原值
負載和網絡質量歸一化公式
*X為數據原值
節(jié)點選擇分配原則:
? 80%節(jié)點從權重分值最高節(jié)點中選擇
? 20%節(jié)點隨機從低權重的節(jié)點中選擇
? 百分比動態(tài)可調節(jié)
信用積分原則:
? 每次被選中節(jié)點按時間出塊,則增加信用
? 節(jié)點作惡信用清零
? 節(jié)點未按時間出塊,信用降低
SDWC算法的優(yōu)勢:
? 平衡全網算力即避開高負載節(jié)點,優(yōu)先讓負載低的節(jié)點來驗證和出塊
? 鼓勵新加入節(jié)點,采用更好的硬件和高速穩(wěn)定的網絡
? 選擇20%新節(jié)點是為了獎勵和鼓勵新注冊節(jié)點,從而防止老的節(jié)點壟斷鑄幣。
? 防止女巫攻擊,防止惡意節(jié)點,防止51%攻擊,防止大股東”作惡”。
在確保共識過程公平的前提下,平衡處理速度,安全,去中心化,提供一個高效,高可用性的共識機制。MIT區(qū)塊鏈之所以不采取超級節(jié)點的做法是因為,建立超級節(jié)點本身就有違區(qū)塊鏈去中心化的初衷,如果超過10個超級節(jié)點被偽冒或入侵,系統(tǒng)就徹底癱瘓或被劫持。
聯系方式:
網址: mit.club
曌鏈公眾號QR碼:
1.TMT觀察網遵循行業(yè)規(guī)范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創(chuàng)文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創(chuàng)的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。