簡介 以太坊 2.0 核心 之 共識機制的改變

做者:林冠宏 / 指尖下的幽靈html

掘金:juejin.im/user/587f0d…git

博客:www.cnblogs.com/linguanh/github

GitHub : github.com/af913337456…算法

騰訊雲專欄: cloud.tencent.com/developer/u…架構

蟲洞區塊鏈專欄:www.chongdongshequ.com/article/153…post


目錄

  • 前序
  • 以太坊 2.0 參與者
  • 區塊的生命週期
  • 優化共識算法
  • 2.0 共識的流程

前序

以太坊區塊鏈領域中的一個應用,爲公鏈應用,是後者的真子集性能

本文將從一個區塊的生命週期的角度去介紹以太坊 2.0相比於1.X作了哪些不一樣,主要的點在於共識算法的改變。區塊鏈

BTW:本人技術書籍《區塊鏈以太坊DApp開發實戰》現已出版並可網購了,適合初中級區塊鏈技術相關研發人員閱讀。優化


以太坊 2.0 參與者

注意目前2.0版本還沒正式上線,部分功能還在開發中,它的總體架構圖以下圖所示:code

包含但不限於引入瞭如下的新技術點名詞

  1. 信標鏈,它將管理着參與共識的驗證者。含有但不限於:
    • 管理驗證者。
      • 普通地址抵押 ETH 參與成爲驗證者
      • 因各類緣由而本身退出驗證者
      • 因懲罰而踢出驗證者
    • 提供隨機性。
      • 隨機分配驗證者去某條分片鏈
      • 隨機選擇輪到提議的驗證者
      • ...
    • 跟蹤和更新驗證者的抵押款。
      • 投票了成功的區塊而獲獎勵
      • 不去投票、曠工而被處罰,咱們稱之爲"quadratic leak(二次泄漏)"
      • 做惡操做而被懲罰
    • 跨聯,將整個分片鏈系統鏈接在一塊兒。
      • 當,不一樣的交易被分配到不一樣的區塊,區塊在不一樣的分片鏈中時,由信標鏈負責它們數據/通信的一致,好比合約的調用
    • 響應與之相連的驗證者客戶端軟件。
      • 屆時,人人可使用終端設備下載信標鏈軟件而成爲驗證者,參與管理2.0生態。
  2. 驗證者,參與 2.0 出塊生態的角色,普通以太坊地址經過向指定的智能合約抵押 32 個ETH,成爲驗證者。
  3. 分片鏈,擁有多條,它將管理將被打包的交易,驗證者會被隨機分配到這裏,生成塊,再排隊等待,去投票塊或拒絕塊。
  4. EWASM,分片上的虛擬機系統,爲 EVM 的升級版。下圖是其 github 項目主頁。
  5. ...

區塊的生命週期

基於以太坊 1.8.11版本源碼。請注意這個前提,所屬版本稱號爲:大都會 之 上章 --- 拜占庭

首先咱們來看下以太坊 1.8.11區塊生命週期圖解。一目瞭然地,以下圖所示。一個很明顯的點是:以太坊挖礦算法仍是PoW 算力挖礦。這也是致使了出塊時間最嚴重的地方,要增長出塊的速度,優化共識算法是一個主要的點。

優化共識算法

以太坊PoW 算法進行修改在早前已是以太坊團隊聲明過的一個舉措。原本的進程計劃是:

PoW --> (PoW + PoS) --> PoS

關於PoW共識算法的通俗講解見我這篇文章:區塊鏈的共識算法:總體介紹 及 分叉 的通俗講解

關於PoS共識算法的通俗講解見我這篇文章:區塊鏈的共識算法:PoS 及其 例子 代碼 實現


目前的,已經發布了的君士旦丁堡版本,自己是覺得是轉爲PoS共識的了,無奈依然是PoW

2.0 版本是以太坊如今規劃中的最後一個版本: Serenity(寧靜),正是在這個版本,以太坊團隊將明確要引入新的共識機制,一塊兒參與實現這項修改的角色正是本文的 以太坊 2.0 參與者 小節所提到的那些。

因爲以太坊公鏈一開始採用的是PoW 共識機制 已經運行了好久。它不一樣於一些新生的公鏈,在一開始的時候能夠挑選性能更好的共識算法,在前人吃螃蟹者 --- 比特幣公鏈的基礎上,它也採用了 PoW。所以發展到如今,隨着部署在它上面的 DApp 原來越多,且要考慮支持要求交易速度更高的應用時,它必需要升級了。

如今升級,就須要考慮更多的問題,好比說:

  1. 依然要保持去中心化,由於這是區塊鏈的核心特性之一。
  2. 有效對抗共識中心化的威脅,好比 PoW 要考慮的算力中心化。
  3. 區塊共識的成本性考慮,好比算力對電力的資源的消耗。
  4. 對於舊共識機制的節點陣營,是否會致使硬分叉鏈的誕生。
  5. 與前區塊鏈的區塊數據嵌接性。
  6. 提升出塊與交易打包的吞吐性。
  7. 區塊被驗證的速度。
  8. ...

對於第六點,由於出塊成功的效率直接影響了交易被打包成功的效率,從而交易成功的速度也跟隨着而改變。

2.0 共識的流程

組合前面小節 以太坊 2.0 參與者 談到的各個角色,以太坊 2.0 的共識機制,目前看來是符合 PoS 模式的,爲何是目前看來?由於2.0還沒發佈,因此在這以前一切都有變數。

在區塊的生命流程中的進行共識的一個步驟能夠細分爲下圖。

圖中有兩個重要的隨機:

  1. 隨機分配驗證者到分片鏈。從驗證者集合中,挑選各個部分的驗證者分配到某一條分片鏈中。
  2. 隨機提議驗證者。被提議的驗證者提議本身所在分片鏈生產的區塊,供其它分片鏈的驗證者進行投票。投票能夠投承認票,也能夠投拒絕票。

注:叔塊的概念目前不確認是否還會存在以太坊2.0 中,故 暫時不在圖中做出。以及不可逆的是一種理想狀態,

最後,你們能夠看下一些暫定到時能夠運行與信標鏈進行通信的客戶端軟件:

相關文章
相關標籤/搜索