Hyperledger Fabric 管道(3) 如何做到数据隔离?
1. 創建管道時就指定了當前的節點列表
a. Client發送交易提供必要數據,如可信根列表,排序證書列表,IP地址,一組指定的共識算法屬性和訪問控制策略。
b. 結果產生一個創世塊 ( Genesis Block) ,包含有一個配置交易信息,管道授權的節點信息都被編碼到該配置交易中。在完成這個配置交易后,這些節點也就是自動訂閱了這個管道。
c. 如果一個節點想要加入到管道中就需要兩種信息:一個可以用于加入到現有區塊鏈網絡的證書,可用于在管道外驗證消息的可信根列表。
d. Peer節點在加人應用通道時會主動創建關聯通道的鏈結構對象,以管理本地節點上該通道的賬本、配置、鏈碼信息等,接收保存來自Orderer節點或其他節點的通道賬本數據。通常,由通道組織Leader主節點負責從Orderer節點請求獲取通道賬本的區塊數據,并分發到組織內的其他節點。(另外,隱私數據(明文)也會在通道上組織內授權的節點間傳播)。
2. 排序節點分發交易的過程
a. Ordering服務會根據交易的參數,區分出不同管道的消息交易,一個交易包含一個對應的管道ID,通過管道ID知道哪些成員節點可以接收同步這個交易。共識服務會把這個交易排序后創建一個交易塊,然后把這個交易塊發布到對應的管道。
b. 每個節點通過一個或是多個管道與ordering服務通信,通信的方式類似于客戶端的訂閱發布通信系統。
c. 經過排序后的交易發布到所有訂閱了這個管道的節點上,保證每個節點接收到的交易是一樣的,順序也一致。這些消息在管道內是以塊的形式傳播。
總結
以上是生活随笔為你收集整理的Hyperledger Fabric 管道(3) 如何做到数据隔离?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 管
- 下一篇: Hyperledger Fabric 三