Hyperledger Fabric優化了區塊鏈網絡性能,安全性,經過跨交易執行(承認和提交)對等點和交易排序節點劃分工做負載來實現可伸縮性。這種網絡操做的分離須要安全,可靠且可擴展的數據傳播協議以確保數據的完整性和一致性。爲了知足這些條件,Fabric實現了八卦數據傳播協議。安全
對等點利用八卦以可擴展的方式廣播分類賬和通道數據,八卦消息是連續的,而且通道上的每一個對等點不斷地從多個對等點接收當前和一致的分類賬數據,每一個八卦的消息都已簽名,從而容許拜占庭參與者輕鬆識別發送僞造消息,並防止將消息分發給不須要的目標。受延遲,網絡分區或致使錯過塊的其餘緣由影響的對等點最終將經過聯繫擁有這些丟失塊的對等點同步到當前分類賬狀態。網絡
基於八卦的數據傳播協議在Fabric網絡上執行三個主要功能:併發
基於八卦的廣播操做是由對等點接收通道中其餘對等點的消息,而後將這些消息轉發給該通道上的多個隨機選擇的對等點,其中此數量是可配置常量。對等點也可使用拉取機制而不是等待消息的傳遞,這個循環重複,通道成員資格、分類賬和狀態信息的結果不斷保持最新和同步。用於傳播新塊,通道上的領導對等點從排序服務中拉取數據,並向其本身組織中的對等點發起八卦傳播。性能
領導選舉機制用於爲每一個組織選擇一個對等點,該對等點將與排序服務保持鏈接併發起在其本身組織的對等點之間分發新到達的區塊,利用領導選舉爲系統提供了有效利用排序服務帶寬的能力,領導選舉模塊有兩種可能的操做模式:區塊鏈
使用靜態領導選舉容許在組織內手動定義一組領導對等點,能夠將單個節點定義爲領導或全部可用的對等點,應該考慮到這一點 - 使用太多的對等點鏈接到排序服務可能會致使帶寬利用效率低下,要啓用靜態領導選舉模式,請在core.yaml
部分中配置如下參數:優化
peer: # Gossip related configuration gossip: useLeaderElection: false orgLeader: true
或者,可使用環境變量配置和覆蓋這些參數:code
export CORE_PEER_GOSSIP_USELEADERELECTION=false export CORE_PEER_GOSSIP_ORGLEADER=true
如下配置將使對等點處於待機模式,即對等點不會嘗試成爲領導:
export CORE_PEER_GOSSIP_USELEADERELECTION=false export CORE_PEER_GOSSIP_ORGLEADER=false
將CORE_PEER_GOSSIP_USELEADERELECTION
和CORE_PEER_GOSSIP_USELEADERELECTION
設置爲true
值是不明確的,將致使錯誤。排序
在靜態配置組織中,管理員負責在出現故障或崩潰時提供領導節點的高可用性。ip