中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

超級賬本Fabric怎么利用Gossip實現區塊的廣播

發布時間:2021-12-17 17:26:21 來源:億速云 閱讀:238 作者:柒染 欄目:互聯網科技

超級賬本Fabric怎么利用Gossip實現區塊的廣播,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Hyperledger Fabric是一個分布式區塊鏈網絡,每個節點都存有共享賬本的一個副本,該副本保存了所有交易的確定性歷史記錄。當新的交易發生時,這些交易必須擴散到整個Hyperledger Fabric網絡中,以便使賬本的所有副本保持一致。本文將介紹Gossip協議機制的原理并說明Hyperledger Fabric如何使用Gossip機制來保證所有peer節點的數據同步。

從大的層面講,在Hyperledger Fabric中整個交易處理流程如下:

  • 新交易被提交給排序節點

  • 排序節點創建新的區塊,其中包含了新產生的交易

  • 排序節點分發區塊給所有的對等節點

最后一步,分發,就是gossip協議發揮作用的環節。即使在一個僅包含少量成員機構的Hyperledger Fabric網絡中,也可能會包含大量的對等節點。例如,一個重度使用IoT設備的Hyperledger Fabric網絡可能就需要很多Peer節點來將這些IoT設備接入區塊鏈網絡。更進一步講,大范圍網絡中的peer節點連接可能是間歇性的,有些peer節點不是總會被排序節點訪問到。另外也沒必要要求排序節點將新區塊 分發給每個peer節點,而且這一要求在有些情況下也是不可能滿足的。

超級賬本Fabric怎么利用Gossip實現區塊的廣播

Gossip:閑聊; 八卦; 小道消息;

實際上在Hyperledger Fabric的排序節點分發區塊時,它只會把新區塊分發給每個機構中的主導peer節點,然后經過gossip過程,這些peer節點自己完成新區塊在彼此之間的擴散:

  • 某個peer節點有一個需要散播給其他peer節點的消息。例如,主導的peer節點 有一個新的區塊。

  • 該peer節點將消息發送給(隨機選擇的)預定數量的其他peer節點

  • 收到消息的peer節點再將消息發送給(隨機選擇的)預定數量的其他peer節點

  • 如此不斷反復,直到每個peer節點都收到消息。

上面的過程被稱為廣播,這一過程被應用于Fabric的gossip系統來向全體peer成員分發各種類型的消息。

1、網絡成員gossip流程

Gossip協議的一個核心組件,就是每個peer都會轉發消息給網絡中一組隨機選擇的節點。這隱含了每個peer節點都了解網絡中有哪些peer節點因此才可以進行隨機選擇。

在Fabric中,每個peer節點都會周期性的廣播消息來表示自身的存活并且已經接入網絡。每個peer節點都會維護一個清單來記錄網絡上的所有peer節點 - 哪些peer是存活的,哪些peer是死翹翹的。

  • 當Peer A收到來自Peer B的alive消息,它就會將Peer B標注為alive。對于Peer A來說,Peer B就是網絡中的一個成員

  • 如果過了一段時間,Peer SA不在收到來自Peer B的alive消息,它就會 將Peer B標注為dead。對于Peer A來說,Peer B就不再是網絡中的一員了。

假設Peer B并沒有真的死翹翹,Peer A 會周期性地嘗試連接標記為dead的Peer節點以檢查其是否還存活。例如,有可能是因為網絡問題或其他Peer節點的故障導致了Peer B的alive消息無法到達Peer A,因此當Peer A直接聯系Peer B時,它就可以確定Peer B的真實狀態。

上面描述的過程僅當在peer節點有一組可供發送alive消息的peer節點清單時才可以正常工作。因此每個peer節點在啟動引導時都有一個啟動引導節點集來提供初始的peer節點清單。

每個peer節點會簽名其發送的alive消息,這意味著一個壞家伙不能偽造消息來愚弄其他網絡成員。這個壞家伙能做的也就是不轉發alive消息。只要其他peer節點繼續轉發alive消息,這就不是什么大問題。

2、數據擴散gossip流程

正如前面所描述的,在Hyperledger Fabric網絡中數據擴散的基本原理很簡單。每個peer節點只需將新的數據轉發給一組隨機選擇的peer節點,最終就可以完成新數據在整個網絡中的擴散。這一過程被稱為廣播,以一種基于推送的信息傳遞方案。

然而,如果一個peer節點從網絡斷開并在稍后重連,它可能就會錯過廣播過程。為了跟上網絡中其他成員的數據進度,這個節點需要一種基于拉取的機制來請求 其缺失的數據。在Hyperledger Fabric中,peer節點間會周期性地交換網絡成員數據和賬本數據,這是的peer節點可以保持更新狀態,即使其錯過某個廣播過程。

3、Hyperledger Fabric中的Gossip應用

Hyperledger Fabric在peer節點之間使用Gossip作為一種可伸縮的容錯機制來保證所有peer節點上的賬本副本保持同步。使用gossip有效降低了排序節點的壓力,因為排序節點只需要將區塊分發給每個機構中的主導節點,同時這也讓peer節點即使在斷線重連的情況下也能跟得上整個網絡的狀態更新。

關于超級賬本Fabric怎么利用Gossip實現區塊的廣播問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田林县| 马公市| 乌什县| 琼海市| 铜川市| 远安县| 莱州市| 左权县| 耿马| 始兴县| 霍山县| 崇信县| 舟山市| 南投县| 金门县| 扶风县| 乐都县| 青河县| 西乌珠穆沁旗| 基隆市| 民勤县| 阿尔山市| 威海市| 青川县| 大冶市| 慈溪市| 淳安县| 山西省| 吐鲁番市| 米易县| 保康县| 奉化市| 皮山县| 四川省| 浦江县| 类乌齐县| 高要市| 建昌县| 襄樊市| 阳曲县| 沅江市|