Bytom2.0 共識算法介紹

術語

Epoch:一個Epoch以一定的區塊數(例如100個)來記數,在同一個Epoch下驗證者節點是固定的,下一個Epoch會根據上一個Epoch投票情況產生新的驗證者。

Checkpoint:共識算法不會處理鏈中的所有區塊,而是以Checkpoint為單位來驗證,一般情況下以一個Epoch的區塊數作為一個Checkpoint。

Justified:一個Checkpoint在收到一次2/3確認(按照節點數量還是抵押的數量)后狀態為justified,justified的節點可能會被推翻。

Finalized:一個已經justified的Checkpoint c的子節點被justified后,則Checkpoint c轉化為finalized,具有finalized的checkpoint不可被推翻。

為什麼我們需要升級Bytom2.0共識

Vapor也採用了和Bytom2.0一樣的DPoS+BFT算法,且穩定運行了較長時間,並承載了很多應用,但同時也發現存在以下問題:

  • 在高速出塊的情況下,每個區塊都要進行2/3的簽名確認將佔用大量的網絡帶寬。
  • 0.5秒出塊使得鏈上數據佔用的磁盤空間急劇膨脹;容易導致分叉(一個節點在未收到上一個節點出塊的情況下繼續出塊);此外,也給一些錢包、瀏覽器(需要同步區塊)造成了一些性能上的瓶頸。
  • 共識算法未經過有效的安全性驗證,傳統的BFT算法一般都需要兩次確認。

Bytom2.0 對共識進行了升級,以解決上述的幾個問題:

  • 採用Checkpoint為單位
  • 來進行驗證和簽名,大大減少了簽名確認所佔用的網絡帶寬
  • 將0.5s一個塊延長為6s一個塊,降低分叉概率
  • 對每個Checkpoint進行兩次確認,第一次為Justified狀態,第二次才進入最終確認Finalized狀態

Bytom2.0升級后,在以下多個方面可以獲得較大提升:

  • 節約能源
  • 更好的性能提升
  • 更好的經濟安全性
  • 更強的擴展性

共識過程

1、在Bytom2.0鏈剛啟動時,由創世節點負責出塊。此時其他節點可進行抵押BTM來成為共識節點,普通參與者可對共識節點進行投票。

2、每個投票和選舉輪次稱為一個Epoch,一個Epoch包含一組區塊(比如100個),在該Epoch中共識節點是固定的,下一個Epoch開始根據投票數量重新選舉共識節點。

3、當下一個Epoch檢測到有合法的共識節點達到一定個數時,創世節點停止出塊,由共識節點出塊。

4、從當前Epoch開始,每隔6秒出1個塊,每個共識節點按照票數排序輪流進行出塊。

5、Bytom2.0 不會對每個區塊進行驗證,而是採用Checkpoint為單位來處理,一般情況下以一個Epoch的區塊數作為一個Checkpoint。

6、Bytom2.0 會對每個Checkpoint進行兩次確認,一次是Checkpoint在收到2/3確認后狀態為Justified,此時還可被推翻,而等到其子節點也被確認為Justified狀態后,獲得二次確認並獲得Finalized狀態,此時獲得最終確認且不能被推翻。

7、為了防止無利害攻擊,Bytom2.0會對同時進行同一高度的兩個區塊簽名的共識節點進行懲罰,罰沒其抵押的部分BTM,考慮到這部分的複雜性,Bytom2.0會在共識穩定后逐步引入該機制

選舉和出塊過程

Bytom2.0 共識算法介紹

CheckPoint驗證

Bytom2.0 共識算法介紹

每個Checkpoint會經過一輪共識節點的驗證和簽名,當獲得超過2/3的簽名后,Checkpoint會得到一次確認,並設置為Justified。

狀態轉換

如下圖所示,黃色粗箭頭存在一條 link,從某一個source checkpoint到target checkpoint,如果該link得到 2/3  簽名,target 變成 justified。 如果source是他的直接父節點才會變成finalized,出塊會跟隨具有最大高度justified checkpoint的鏈。

Bytom2.0 共識算法介紹

小結

Bytom2.0的共識算法,是基於Vapor共識算法的經驗和教訓,同時吸收了ETH Casper的相關設計理念,但對於其複雜的部分又進行了優化,推出的適合於比原鏈自身的一種創新共識。

Bytom2.0的共識算法,在節能,性能,對抗攻擊能力和擴展性等方面都具有優勢,共識算法作為區塊鏈底層最重要的基礎協議,必將在Bytom2.0上發揮巨大的價值。

本文鏈接:https://www.8btc.com/article/6651999

轉載請註明文章出處

(0)
上一篇 2021-06-23 07:41
下一篇 2021-06-23 08:11

相关推荐