日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

共识协议(6)PBFT详细步骤

發(fā)布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 共识协议(6)PBFT详细步骤 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

step1. request階段

client發(fā)送消息給主導(dǎo)者:sign(REQUEST, o, t, c)

REQUEST= 消息內(nèi)容m+ 消息摘要d(m)
o: 請求的具體操作
t: 請求時客戶端追加的時間戳
c:客戶端標(biāo)識。

step2. pre-prepare階段

主導(dǎo)者發(fā)送消息給其他副本節(jié)點(diǎn): sign(<PRE-PREPARE, v, n, d>, m)
v:視圖編號
n:預(yù)準(zhǔn)備消息序號(要在某一個范圍區(qū)間內(nèi)的[h, H])

step3.
其他節(jié)點(diǎn)收到消息后,若同意,則發(fā)送prepared消息: sign(<PRE-PREPARE, v, n, d>, m),記錄PRE-PREPARE和PREPARE消息到log,用于View Change恢復(fù)請求。

副本節(jié)點(diǎn)i收到主導(dǎo)者節(jié)點(diǎn)的PRE-PREPARE消息,需要進(jìn)行校驗(yàn):

  • 消息簽名。
  • 是否已經(jīng)收到一條在同一v下并且編號也是n,但是簽名不同的PRE-PREPARE信息。
  • d與m的摘要是否一致。
  • n是否在區(qū)間[h, H]內(nèi)。

step4.
進(jìn)入prepared狀態(tài)的節(jié)點(diǎn),如果收到了2f+1個驗(yàn)證通過的PREPARE消息,則向其他節(jié)點(diǎn)發(fā)送commit消息:sign(COMMIT, v, n, d, i)消息。(記錄COMMIT消息到日志,用于View Change恢復(fù)請求。記錄PREPARE消息到log)

step5. REPLY

副本節(jié)點(diǎn)i收到了2f+1個驗(yàn)證通過的COMMIT消息,運(yùn)行客戶端的請求操作o,并返回<REPLY, v, t, c, i, r>

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的共识协议(6)PBFT详细步骤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。