请稍等 ...
×

采纳答案成功!

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

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

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

正在回答

5回答

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

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

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

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

0 回复 有任何疑惑可以回复我~
提问者 慕哥1073032 2020-02-24 15:46:37

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

0 回复 有任何疑惑可以回复我~
  • 硬解析是可以的。但是这个功能是你开发的,并不在官方的协议里面。官方代码都开源,没有这个功能。
    回复 有任何疑惑可以回复我~ 2020-02-24 17:41:47
提问者 慕哥1073032 2020-02-24 15:43:42

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

0 回复 有任何疑惑可以回复我~
  • 咱考虑个真实的使用场景:
    ABC三个公司组成一个网络,orderer节点放到一个公共的服务器上,但是各组织的peer都部署在公司内网。这种部署场景我相信应该是很正常,很普遍的吧。那这时候你怎么去其他组织的peer节点拉取信息呢?
    回复 有任何疑惑可以回复我~ 2020-02-24 17:31:46
  • 提问者 慕哥1073032 #2
    非常感谢老师,那以太坊中新加入的节点同步数据难道没有您说的那种问题吗?还有老师我问下您后续还会补充fabric1.4与2.0版本的课程吗?我认为您讲的非常棒想继续学习。
    回复 有任何疑惑可以回复我~ 2020-02-24 18:04:45
提问者 慕哥1073032 2020-02-24 15:36:57

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

0 回复 有任何疑惑可以回复我~
  • 后边的课程有讲解。我这里给你举个例子:
    
    1+1+2+3+3=10。区块里存的就是前面的这些动作,而状态就是这些动作之后累计的最终结果10
    回复 有任何疑惑可以回复我~ 2020-02-24 17:28:17
提问者 慕哥1073032 2020-01-13 21:59:44

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

0 回复 有任何疑惑可以回复我~
  • 新加入的peer节点为什么不从同一个channel中的其他peer节点获取数据呢?
    我说的peer指的是一个新的组织,之前没有peer存在的那种
    回复 有任何疑惑可以回复我~ 2020-01-13 23:22:40
  • orderer节点存的数据可以解析查看里面的具体交易吗?还是说系统规定他不能对数据包解析?如果可以解析那他还是可以查看所有交易数据,如果不能解析那orderer节点只存数据也就是被当成了一个日志,那部署orderer节点的组织岂不是很亏,白白浪费了存储空间?
    
    是没有给他设计这样的功能的意思。至于为什么,你往后看,看完了应该能明白
    回复 有任何疑惑可以回复我~ 2020-01-13 23:25:18
  • 还有orderer节点为什么要存数据呢,为什么不临时存储等peer节点获取了区块后就把数据释放掉呢?
    
    同第一个问题,为了后来的组织加入
    回复 有任何疑惑可以回复我~ 2020-01-13 23:25:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信