Orderer节点为什么要存数据呢?orderer节点部署方有什么利益可以获取吗?

来源:3-2 网络拓扑:四种节点

慕哥1073032

2020-01-13

请问老师Orderer节点为什么要存数据呢?是为了peer节点丢失数据时可以从orderer上获取吗?如果是是那为什么不从同一个channel的其他peer节点上获取呢?orderer节点一般是由哪一方部署呢?部署orderer节点对他来说有什么好处吗?orderer节点存了所有channel的数据岂不是知道了所有组织的交易信息?

写回答

5回答

自游蜗牛

2020-01-13

这主要是你还没理解到orderer的作用,以及他在整个交易中所处的位置。

ORDERER主要用于交易排序,以及区块打包。他是可以不存储数据的,但是考虑一个问题,如果随后有一个新的组织加入到这条网络,他怎么跟上之前已经存在的数据呢?从哪里得到呢?从已存在的peer组织那里获取显然是不合理的,所以他存一份在他自己这里,你可以把他理解为缓存。这样peer与他异步交互也不互相拖累。

再者你说的orderer从peer那里获取数据,这个是把方向搞反了哈,先有排序打包,再有向peer分发,这是他的流程。

最后一个问题,orderer是保存了所有的交易数据,确实是所有的信息他都可以看,但是在实现里,他并没有把交易数据解包,他并不知道里面有什么东西,虽然他可以,但是他没有。他只负责把交易排好顺序,并打包成区块,仅此而已。

0
0

慕哥1073032

提问者

2020-02-24

Orderer中的数据完全可以下下来硬解析,不也相当于看了所有channel的数据吗?

0
1
自游蜗牛
硬解析是可以的。但是这个功能是你开发的,并不在官方的协议里面。官方代码都开源,没有这个功能。
2020-02-24
共1条回复

慕哥1073032

提问者

2020-02-24

还有一个疑惑,新加入的某一个channel的组织为什么不能从这个channel的其他组织中同步数据呢?以太坊中的节点也是从全节点同步数据的,难道也不可信吗?

0
2
慕哥1073032
非常感谢老师,那以太坊中新加入的节点同步数据难道没有您说的那种问题吗?还有老师我问下您后续还会补充fabric1.4与2.0版本的课程吗?我认为您讲的非常棒想继续学习。
2020-02-24
共2条回复

慕哥1073032

提问者

2020-02-24

老师,您好,还有一个问题orderer节点与peer节点存的数据有哪些区别呢?我在网上看到解释说orderer只存区块,而peer不只是存区块,还有状态,请问这个状态是什么呢?

0
1
自游蜗牛
后边的课程有讲解。我这里给你举个例子: 1+1+2+3+3=10。区块里存的就是前面的这些动作,而状态就是这些动作之后累计的最终结果10
2020-02-24
共1条回复

慕哥1073032

提问者

2020-01-13

谢谢老师,其中一点我可能没表述清楚:新加入的peer节点为什么不从同一个channel中的其他peer节点获取数据呢?orderer节点存的数据可以解析查看里面的具体交易吗?还是说系统规定他不能对数据包解析?如果可以解析那他还是可以查看所有交易数据,如果不能解析那orderer节点只存数据也就是被当成了一个日志,那部署orderer节点的组织岂不是很亏,白白浪费了存储空间?还有orderer节点为什么要存数据呢,为什么不临时存储等peer节点获取了区块后就把数据释放掉呢?

0
6
慕哥1073032
回复
自游蜗牛
谢谢老师!
2020-01-17
共6条回复

Hyperledger Fabric实战联盟链-企业端区块链原理精讲

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

787 学习 · 564 问题

查看课程