求助,共识节点的主要作用

我现在使用发布件部署,一条链一个共识节点,从cita节点、链、rebirth和浏览器,都能跑通,然后正常的存证也都会用,就想请问各位大佬,分布式部署,就是多个节点,那么两个共识节点的主要作用和一个有什么区别,初次使用,对于共同决定出块这种抽象的说法还没有概念(出块不就是3秒一个块,和多个节点有啥关系),然后两个共识节点是否有二人确认这种功能,比如其中一个共识节点要把数据上链存证,那么必须有另一个共识节点的手动确认或者之类的确认操作,才能存证成功。还是说两个共识节点,最主要的就是数据两份,异常的时候可以恢复,麻烦大佬抽空帮忙解惑

区块链系统跟传统分布式系统的一个差别就是,区块链的节点间是相互不信任的。
共识的过程可以简单理解为一个投票,或者电子流审批的过程。
因此,每个投票人都要独立的判断是否该投赞成票。
每个共识节点都需要完整的数据,主要是它只相信自己的检查,不能依赖别人的判断,多份数据带来的高可用性反而是附带的特性。

您好,非常感谢您的答复,请问共识的过程具体是指?是增加一个共识节点,就是共识的过程吗?

共识是一类算法的统称。你可以先了解一下拜占庭将军问题,这方面网上的资料很多。比如 https://zhuanlan.zhihu.com/p/33941594
对于联盟链常用的BFT类共识算法来说,可以容忍不超过1/3的恶意节点。
如果一条链就一个共识节点当然也可以跑,但是就不能容忍任何意外情况。通常会选择至少4个共识节点,这样可以容忍一个成员作恶的情况。

您好
1.那对于我们实际操作来讲的话,相当于就只需要初始化链的时候,初始化4个或者更多的共识节点,或者说,通过append添加多个普通节点,再升级成共识节点,就已经OK了,不用做过多的配置?
2.共识节点都正常启动后,这些共识节点之间自动完成了达成共识这个操作,因为都是用管理员私钥创建出来的
3.现在有这样一个业务场景,就是比如说cita链已经在运行了,然后我自己有共识节点,会定期将一些重要数据上链,这些重要数据有别的人会质疑数据的真实性,那是不是给他们也搭一个共识节点加入这个链,我们一起共同决定出块就行了?

跪谢大佬,祝大佬身体健康,事业蒸蒸日上,生活幸福美满!!!

共识节点就相当于一个链的董事会成员,共识算法就是董事会投票章程。

  1. 初始化就配置多个共识节点和后续新增共识节点都是可以的。具体怎么做看具体情况,如果委员会一开始就能确定多个成员,那就初始化时直接配置多个。中间如果有退出,新增,则使用动态增删共识节点功能来调整委员会成员。
  2. 是的,共识节点之间会自动通过网络通信来达成共识。具体过程要看使用的共识算法了,不同算法差异可能会很大。
  3. 你说的这种情况是可以的,但是对于联盟链来说,一般不会随意增加共识节点。就像公司不可能让所有员工都进董事会一样,找个能代表一大部分人的大佬加入就可以了。