• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 百科 查看內容
    • 28652
    • 0
    • 分享到

    《科普》共識機制的演變及發展

    2018-5-24 08:58

    來源: 火球財經

    BFT-DPOS共識機制


    在最早的EOS技術白皮書中,EOS主要采用上述的DPoS機制每3秒來產生一個區塊,而在最新版的EOS Dwan 3.0中為使區塊鏈系統有更快的出塊速度,EOS 采用了BFT-DPoS共識機制從而達到了500毫秒的出塊間隔。該機制的具體過程是:EOS的持有者通過投票系統對各個超級節點競選者進行投票,選出21個節點為超級節點。然后這21個超級節點以自身的網絡資源狀況商議出一個出塊權擁有順序,在每個超級節點擁有出塊權時,以間隔為500毫秒(500毫秒是EOS團隊通過大量實驗測試得出的當前網絡狀態下可達到的最小的穩定狀態下的出塊間隔)連續產生12個新區塊,然后切換到下一個超級節點連續產生之后的12個區塊。

    該方式可以保證一個超級節點可以連續以500毫秒的間隔產生區塊,因為在同一超級節點產生新區塊時不受當前網絡狀況的影響,但由于網絡的延遲很難使得其他節點對已經產生的區塊進行確認,使其成為不可逆區塊。因此EOS引入了 BFT協議,當超級節點A產生第一個新區塊后,A將該區塊進行簽名并廣播給其他超級節點,其他超級節點對該區塊進行驗證后對其進行簽名并返回給A節點,當A節點收到來自14個不同節點簽名的區塊后,該區塊就成為不可逆區塊串聯到之前的區塊鏈中(以500毫秒產生新區塊的過程和對區塊進行BFT協議共識的過程在超級節點中是同時進行的,即確認過程不影響超級節點產生新的區塊)。EOS團隊通過大量實驗測試,在當前的網絡狀況下,一個超級節點廣播一個新區塊并確認的過程可在1秒的時間內完成。因此,每個新區塊的產生到成為不可逆區塊最多需要1.5秒的時間,這就使得跨鏈通信的時延大大縮小。因為一個區塊鏈在引入另一條區塊鏈的交易狀態時必須等待其成為不可逆交易,所以兩個基于EOS的區塊鏈在3秒鐘以內就可以進行一次來回的通信,而以太坊進行類似的通信需要9分鐘,比特幣需要3小時以上。

    上述過程雖然可以保證同一超級節點產生新區塊時可以達到500毫秒的間隔,但當切換超級節點產生區塊時,由于網絡延遲使得上一節點產生的最后幾個新區塊有可能被該超級節點忽略。為解決此問題,EOS選用了確定順序的超級節點輪流出塊,比如以紐約(美國東海岸)、芝加哥(美國中部)、洛杉磯(美國西海岸)、日本東京、中國上海這樣的順序,該順序使得上一節點產生的最后區塊傳播到下一節點時有最小的延遲,從而避免下一個超級節點忽略上一節點產生的區塊。如果是隨機定義出塊權的超級節點,那么在現有的網絡條件下,出塊間隔只有控制在3 秒時才可保證下一節點較大概率上不會忽略上一節點產生的區塊。

    使用上述BFT-DPoS協議就可以使得EOS的出塊間隔從原來的3秒降低到500毫秒,這也使得跨鏈通信的時延大大縮短,單位時間內可確認的交易數量大大提升。筆者相信如果這樣的機制在EOSIO1.0的正式版本中成功實現,那無疑是區塊鏈技術向支持百萬級別用戶的目標邁出的巨大一步。

    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频