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