plugin icon indicating copy to clipboard operation
plugin copied to clipboard

共识节点配置灵活性问题

Open andyYuanFZM opened this issue 4 years ago • 2 comments

Describe the bug 目前共识节点的配置通过配置文件设置 validatorNodes=["172.16.43.151:46656","172.16.43.152:46656","172.16.43.153:46656","172.16.43.154:46656"] ,共识节点ip变化或者用户配置不一致,影响链的运行。

To Reproduce

  1. 配置文件 node1 validatorNodes=["172.16.43.151:46656","172.16.43.152:46656","172.16.43.153:46656"]
    配置node2 validatorNodes=["172.16.43.151:46656","172.16.43.152:46656","172.16.43.154:46656"]
    停掉node3
    配置node4 validatorNodes=["172.16.43.152:46656","172.16.43.153:46656","172.16.43.154:46656"]

2 node1 node2 node4 启动 ,发转账交易 区块没有产生

Expected behavior 可选方案: 每个共识节点已经有私钥和证书,可以通过共识节点的证书来识别,不用通过配置。共识节点的证书已经在 genesis.json 声明过。而且共识节点ip变化也不影响。

andyYuanFZM avatar Jan 26 '21 05:01 andyYuanFZM

可以参考第三方的方案,有时间可以处理一下这个问题

vipwzw avatar Jan 26 '21 05:01 vipwzw

描述的bug出现的原因是node1,node4只连接了两个存活节点,不满足共识需要 2/3 以上节点的条件,导致达不成共识

目前联盟链中仍是通过配置文件来建立各节点之间的连接,比如百度超级链和FISCO,不能像公链采用种子节点来记录节点IP信息 由于共识建立自己的通信连接,维护比较繁琐,可以考虑复用P2P模块的连接 #995

caopingcp avatar May 11 '21 06:05 caopingcp