请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

围绕主节点(Leader)的疑问

回答2 浏览138 2020-10-12 12:10:51

老师,您好。关于主节点我有这样的疑问。

众所周知,在单个Org组织中,只存在一个主节点负责与Orderer排序服务连接,负责拉取区块。

但问题就出在多通道的情况下。

//img.mukewang.com/szimg/5f83cff909974ab111440830.jpg

在图中存在两个通道,分别是通道A(蓝色)和通道B(红色)。如果只允许每个Org组织中的主节点与Orderer服务连接。那么,就会导致主节点同时拥有A和B两个通道的区块,通道间的隔离性和隐私安全将如何保证?

针对这个问题,我查阅了官方文档和一些博客。但彼此的答案存在冲突。比如官方是这样解释的

//img1.sycdn.imooc.com/szimg/5f83d1bd085e702114360276.jpg

虽然这里是拿锚节点举的例子,但按照解释,主节点同理。简单来讲,主节点确实会接收到多个通道的区块,但内部已经实现了隔离,不会造成隐私和安全问题。

但同时,部分博客中却指出,主节点是针对通道而言的。就像这样

//img1.sycdn.imooc.com/szimg/5f83d4f0098100a310740800.jpg

也就是说,从宏观上来看,一个组织中可能会存在多个主节点。但相对于不同的业务通道,各组织中只会有一个。

我应该如何理解这个问题呢?希望您详细说说,谢谢老师的回答。

添加回答

已采纳回答

首先,我们明确一个概念,fabric里的通道。按类比的来,每一个通道都相当于是一个比特币网络、以太坊网络。他们彼此间是独立的,非交互的。(要交互也是通过链码)。

另外,再明确锚节点跟主节点的定义。我个人理解,他们都是依赖于通道,如果脱离通道,只谈peer,他们是毫无意义的。

锚节点用于在组织间共享某通道所有peer信息的peer,基于锚节点获取的网络拓扑是通道为前提的。

主节点是某个组织内的某个通道的与orderer进行区块获取的节点。区块经由主节点到达组织内部,再通过gossip分发给组织内加入了该通道的其他peer。


所以,我觉得这个问题就比较清楚了,谈论主节点、锚节点必须在有通道的前提下,不然没有意义。

再者你说的,如果在一个peer上既有A、又有B,会有隔离与隐私的问题。这个问题大可不必担心,因为peer的设计初衷也不是一个peer只能加入一个通道,自始至终隔离与隐私的问题都存在,而不仅仅在这个问题纠结的主节点。

2020-10-18 17:09:22

1回答

学习Hyperledger Fabric实战联盟链

难度高级
时长9小时
人数770
好评度98.3%

兼顾区块链应用层和底层 进击区块链工程师

讲师

自游蜗牛 软件工程师

现就职于某世界500强区块链团队,从事区块链底层研究以及BAAS平台搭建。精通区块链底层存储、共识等技术,职业方向偏重联盟链体系。

意见反馈 帮助中心 APP下载
官方微信