區塊鏈技術資源分享
追尋中本聰先生的腳步
?

異步共識組 Asynchronized Consensus Zones_王嘉平

可以說,以伸縮性為目標的公鏈研發項目,其方案中如果沒有分片的設計,都是不切實際的,在未來的實際應用中必將面對性能瓶頸和容量瓶頸,至少會遭遇這兩個瓶頸中的一個。

由于分片這個術語本身太過于寬泛,我想在下面引入異步共識組 Asynchronized Consensus Zones 這個概念來,大家討論一下理想的分片設計究竟應該是什么樣的。

異步共識組由多個同質的、功能上完全一致、地位上也完全平等,并邏輯上盡量隔離的獨立共識系統的實例所構成,他們并行工作,分攤全網的吞吐壓力,分攤全網狀態的維護工作。

  • 具備獨立的相對穩定的節點集合,邏輯上不要求一個節點參與到多個共識組。
  • 具備獨立的賬簿,承載全網的一部分用戶 組內用戶。各個共識組的組內用戶沒有交集。
  • 具備獨立的 Chain of Blocks,僅記錄已經確認的和組內用戶相關的交易。
  • 具備獨立的非阻塞的出塊過程,各個組之間沒有任何同步的需要 例如,需要鎖定特定資源。
  • 具備獨立的未確認交易集合,僅有和組內用戶相關的未確認交易會被暫存。
  • 具備獨立的出塊候選或競爭機制,礦工僅限于組內競爭,和其他組的礦工無直接競爭關系。
  • 具備獨立的 Gossip 網絡,完成區塊和未確認交易的廣播,不波及其他共識組的節點。

異步共識組中每一個共識組采用具體的共識算法可以是 PoW/PoS,也可以是 BFT 類算法,或這些算法的改進。異步共識組的設計是如何讓他們完全獨立地并行工作,由于各個共識組在 IT 資源的消耗上是互相獨立的,那么全網的吞吐性能和賬簿容量將隨著全網共識組的數量增加而線性增加,而參與其中的全節點的工作壓力依舊是單個共識組的負荷。

異步共識組是共識算法中立的,并不限定具體的在各個分片中采用的共識算法。有很多團隊在研究和改進共識算法,無論共識算法被改進到什么程度,任何已知的共識算法或者是今后的改進版本,都可以被應用在異步共識組這個技術架構之中,從而得幾個數量級的性能和容量的提升。

假設我們用比特幣PoW 算法,用同樣的配置參數 1MB 塊,10 分鐘出塊間隔 作為共識組的共識算法,對于一個具有 1024 個共識組的網絡,全網將獲得 7000 多 TPS 的吞吐性能。

分片的全節點按照一臺普通的計算機來算,在 13Mbps 的互聯網連接、[email protected]的CPU、16G 內存、SSD 硬盤 250MB/s 的情況下,全網將具備等效的 13Gbps 帶寬、16TB 內存、4096 個 Core 的計算能力,以及 250GB/s 的 I/O 能力,用來承載所有用戶的賬簿和 DApp 的狀態,以及其中涉及的計算。

而對于每個共識組里面的每個節點,它們所負擔的通訊、計算和存儲的壓力,僅同運行一個比特幣系統的全節點的負荷相當。無論全網擴張到多大的程度,網絡中的單個參與者始終不會有明顯増大的負擔。

異步共識組的挑戰有哪些?

異步共識組是一個理想方式的模型,不僅概念簡單,而且可以完美突破全網的性能瓶頸和容量瓶頸,實現高伸縮性的區塊鏈系統,并且對去中心化程度沒有任何的犧牲。

但是,這個模型要成為切實可行的方案,正如上文提到的,需要讓這樣的一個系統正確工作并保障安全性。這里需要兩個方面的設計巧思:

  1. 如何正確高效地完成跨共識組的交易;
  2. 如何保障每個共識組的安全性。

只有,解決了這兩個挑戰,才能使得異步共識組系統能夠正確安全地工作,釋放其強大的性能和容量,打破所謂的「不可能三角」,服務于大體量的區塊鏈應用DAPP。

為什么需要分片Sharding?從全節點的負擔談起


歡迎大家通過我的微信公眾號「王嘉平」和知乎專欄「去中心化數字世界隨想」,就這個話題展開更多討論。


異步共識組 Asynchronized Consensus Zones

分享到:更多 ()
0
區塊鏈神吐槽
pi幣注冊流程教程圖解中文版

來評論吐槽 搶沙發

評論前必須登錄!

 

區塊鏈資源分享聯系我

區塊鏈資源分享聯系我首頁更多新聞
做滴滴代驾还是开滴滴那个赚钱