當前位置:
首頁 > 最新 > 區塊鏈去中心化世界的烏雲暨曌鏈MIT全新SDWC共識演算法重構區塊鏈共識基石

區塊鏈去中心化世界的烏雲暨曌鏈MIT全新SDWC共識演算法重構區塊鏈共識基石

區塊鏈去中心化世界頭頂的一朵烏雲

在1900年4月27日,開爾文勛爵在英國皇家研究所做了一篇名為《在熱和光動力理論上空的十九世紀烏雲》的發言,演講中開爾文聲稱:

動力學理論認為熱和光都是運動的方式,現在這一理論的優美和明晰,正被兩朵烏雲籠罩著。

——?開爾文勛爵

開爾文對這兩個問題的在意程度反映了當時物理學界的普遍憂慮,但他很有可能沒有想到的是,這兩朵烏雲給物理學帶來的是一場突如其來的風暴,這場風暴顛覆了舊理論體系的框架,分別導致了二十世紀物理學的兩大理論體系:相對論和量子力學的誕生。

下圖分別是比特幣和以太坊全網算力分布圖,可以很清晰的看到排名前四的大礦池已經壟斷了遠超過51%的算力,區塊鏈所極力倡導的去中心化變成強中心化,這朵烏雲是否會給區塊鏈世界帶來新的一場狂風暴雨?

圖1:左圖是比特幣全網算力分布圖,右圖是以太坊算力分布圖

分散式系統原理

共識機制是區塊鏈底層基礎技術中最為重要的,可以說共識機制是區塊鏈技術底層的核心和靈魂。區塊鏈作為分散式系統的一個新興類型,它的共識機制演化過程是基於分散式系統的一些原理,現在先介紹這四大原理。

圖2:分散式系統共識機制的理論基礎

FLP不可能原理

FLP不可能原理(FLP Impossibility)由Fischer、Lynch和Patterson三位科學家於1985年發表的論文《Impossibilityof Distributed Consensus with One Faulty Process》指出:在非同步模型中,分散式系統中只要有一個進程不可用(失去響應或暫停),就可能無法達成整體的共識。(No completely asynchronous consensus protocol can tolerate even asingle unannounced process death)。

以上結論被稱為FLP不可能原理。該定理被認為是分散式系統中重要的原理之一。該原理提出:在網路可靠,存在節點失效(即便只有一個)的最小化非同步模型系統中,不存在一個可以解決一致性問題的確定性演算法。FLP原理實際上說明對於允許節點失效情況下,純粹非同步系統無法確保一致性在有限時間內完成。

CAP原理

CAP原理最早由加州大學伯克利分校的EricBrewer教授於2000年7月,在ACM PODC會議上提出CAP猜想,2年後,麻省理工學院的Seth Gilbert和Nancy Lynch從理論上證明了CAP。之後,CAP理論正式成為分散式計算領域的公認定理。

分散式計算系統不可能同時確保一致性(Consistency)、可用性(Availability)和分區容忍性(Partition),設計中往往需要弱化對某個特性的保證:

?數據強一致性(Consistency):如果系統對一個寫操作返回成功,那麼之後的讀請求都必須讀到這個新數據;如果返回失敗,那麼所有讀操作都不能讀到這個數據,對調用者而言數據具有強一致性(strong consistency);

?可用性(Availability):所有讀寫請求在一定時間內得到響應,可終止、不會一直等待;

?分區容錯性(Partition-Tolerance):在網路分區的情況下,被隔離的節點仍能正常對外服務;

分散式計算系統不可能同時確保一致性(Consistency)、可用性(Availability)和分區容忍性(Partition-Tolerance),設計中往往需要弱化對某個特性的保證,CAP原理對標的是經濟學中的三元悖論(Mundellian Trilemma)。

BASE理論

BASE理論是有eBay的架構師DanPritchett源於對大規模分散式系統的實踐總結,在ACM上發表文章提出BASE理論,BASE理論是對CAP理論的延伸,核心思想是即使無法做到強一致性(Strong Consistency,CAP的一致性就是強一致性),但應用可以採用適合的方式達到最終一致性(Eventual Consistency

BASE理論的定義

?基本可用(BasicallyAvailable):基本可用是指分散式系統在出現故障的時候,允許損失部分可用性,即保證核心可用。電商大促時,為了應對訪問量激增,部分用戶可能會被引導到降級頁面,服務層也可能只提供降級服務。這就是損失部分可用性的體現。

?軟狀態(SoftState):軟狀態是指允許系統存在中間狀態,而該中間狀態不會影響系統整體可用性。分散式存儲中一般一份數據至少會有三個副本,允許不同節點間副本同步的延時就是軟狀態的體現。MySQL replication的非同步複製也是一種體現。

?最終一致性(Eventual Consistency):最終一致性是指系統中的所有數據副本經過一定時間後,最終能夠達到一致的狀態。弱一致性和強一致性相反,最終一致性是弱一致性的一種特殊情況。

BASE理論的核心思想是:即使無法做到強一致性,但每個應用都可以根據自身業務特點,採用適當的方式來使系統達到最終一致性

區塊鏈數據的不可篡改性ACID原則

ACID也是一種比較出名的描述一致性的原則,通常出現在分散式資料庫領域。具體來說,ACID原則描述了分散式資料庫需要滿足的一致性需求,同時允許付出可用性的代價。

ACID特徵如下:

?Atomicity:每次操作是原子的,要麼成功,要麼不執行;

?Consistency:資料庫的狀態是一致的,無中間狀態;

?Isolation:各種操作彼此之間互相不影響;

?Durability:狀態的改變是持久的,不會失效。

ACID和BASE代表了兩種截然相反的設計思想。ACID是傳統資料庫常用的設計理念,追求強一致性模型。BASE支持的是大型分散式系統,犧牲掉對一致性的約束(但實現最終一致性),來換取一定的可用性。

區塊鏈共識機制

區塊鏈的底層基礎是共識演算法、各類對稱非對稱加密演算法、P2P分散式網路協議和區塊結構及存儲。共識機制是在這些底層基礎技術中最為重要的,可以說共識機制是區塊鏈技術底層的核心和靈魂。共識機制很大程度上決定了整個區塊鏈系統節點間的相互信任程度,也決定了其他使用者對於區塊鏈上數據的信任程度。

對於公有鏈來說,無論是EOS的複雜且容易形成小團體侵害散戶節點利益的DPOS演算法,還是Penta的沒有實用性且低效率的DSC演算法都無法將區塊鏈技術落地於真正的商業世界。

當前區塊鏈流行的各種共識演算法,雖然能解決部分問題,但是都有著這樣或那樣的缺點,現在羅列出來:

表1:各種共識演算法缺點

曌鏈MIT分片動態權重共識機制

CAP理論雖然揭示了,在分散式系統中不可能同時確保一致性(Consistency)、可用性(Availability)和分區容忍性(Partition-Tolerance),我們權衡出這三者關係對於區塊鏈落地商業世界的重要性,不追求強一致性(Strong Consistency),而是根據BASE理論達到最終一致性就可以,有鑒於此曌鏈(MIT)區塊鏈採用一種新創的基於三個維度權重計算的共識演算法:分片動態權重共識機制(Sharding Dynamic Weight Consensus,SDWC):

?節點負載;

?網路質量;

?節點信用;

權重計算公式。

W1,2,3= w1x1+ w2x2+ w3x3;

W= 相對權重(%)

X= 歸一化後數值

表2:權重示例表

信用數值歸一化公式

*X為數據原值

負載和網路質量歸一化公式

*X為數據原值

節點選擇分配原則:

?80%節點從權重分值最高節點中選擇

?20%節點隨機從低權重的節點中選擇

?百分比動態可調節

信用積分原則:

?每次被選中節點按時間出塊,則增加信用

?節點作惡信用清零

?節點未按時間出塊,信用降低

SDWC演算法的優勢:

?平衡全網算力即避開高負載節點,優先讓負載低的節點來驗證和出塊

?鼓勵新加入節點,採用更好的硬體和高速穩定的網路

?選擇20%新節點是為了獎勵和鼓勵新註冊節點,從而防止老的節點壟斷鑄幣。

?防止女巫攻擊,防止惡意節點,防止51%攻擊,防止大股東」作惡」。

在確保共識過程公平的前提下,平衡處理速度,安全,去中心化,提供一個高效,高可用性的共識機制。MIT區塊鏈之所以不採取超級節點的做法是因為,建立超級節點本身就有違區塊鏈去中心化的初衷,如果超過10個超級節點被偽冒或入侵,系統就徹底癱瘓或被劫持。

官網:MIT.club

您可以前往GitHub了解更多:

https://github.com/mitclub

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 MITclub 的精彩文章:

曌鏈MIT成功解決區塊鏈技術落地商業世界難題數據大爆炸

TAG:MITclub |