私有以太坊 maxpeer

Private Ethereum maxpeer

步骤

  1. 我已经创建了一个私有节点并使用--maxpeer of 1 (network id =1223123341)
  2. 通过admin.addPeer(用户X的节点)添加用户的X节点成功。 (相同的网络 ID 和起源)

根据我的理解,maxpeer 会将可以从网络连接的节点限制为仅 1 个节点(用户的 X 节点)

问题 - 如果用户的 X 节点将他的 --maxpeer 更新为 5 并将网络 ID 和创世文件提供给其他节点,是否意味着现在可以有 5 个可以连接到该网络?谁控制私有网络中的 maxpeer(例如网络 id =1223123341)

--maxpeers 选项控制特定实例的对等点数。所以,是的,如果节点 1 有 --maxpeers=1 而节点 2 有 --maxpeers=5,你将不会仅限于网络中的 2 个节点。节点也不需要知道所有其他节点,因此节点 2 可能与节点 3-7 对等,并且对节点 1 一无所知(换句话说,对于您提供的示例,节点总数可能是甚至超过 5).

AFAIK,没有配置来限制网络中的节点总数,我看不出你想要什么。您在节点级别获得了足够的控制权。

如果你想避免 51% 攻击,你应该考虑 运行 permissioned 链。你可以通过保持工作量证明或 -Stake 网络的创世块 private 来做到这一点,但你必须与网络中的任何参与者共享它,你不会知道这是否会在某个时候泄露。如果确实如此,则无法阻止其他用户参与。

另一种选择是使用权威证明网络。 Geth 和 Parity support 都是。这只允许严格定义的节点来密封块,其他人只能使用网络,但不能更改当局定义的规则集。

注意:我为 Parity 工作。