区块链点对点网络:性能与安全解析
1. 以太坊网络特点
以太坊网络的节点具有一些独特的特征。研究发现,以太坊有769,000个活跃节点,大部分节点只有一个IP地址,其中有1,268个节点在一天内会改变一次通信地址,改变IP地址最频繁的节点拥有514个地址。其节点的度分布遵循幂律分布,入度(或出度)的平均值为118.75,入度最大值为986,出度数量为586。
从地域分布来看,与比特币类似,以太坊网络中少数大社区包含大量节点,43.2%的节点在美国运行,12.9%在中国运行。而且,大部分节点运行在几个主要的云服务上,超过50%的节点运行在前八大云服务提供商上。
另外,由于以太坊网络中的节点基于NodeIDs建立出站连接,攻击者可以精心选择一些NodeIDs,使受害节点与这些带有特定NodeIDs的地址建立出站连接,从而在不填满地址表的情况下隔离受害节点,这使得以太坊网络更容易受到此类攻击。
2. 数据转发机制
在点对点网络中,节点将数据转发给其直接邻居,邻居再将数据转发给它们的邻居,以此类推。为防止恶意节点用虚假信息充斥网络,节点采用存储转发传播方式,确保只转发有效数据。
2.1 交易/块传播
为避免向已接收数据包的节点发送数据包,节点使用洪泛机制转发数据包。当节点u接收到并验证新数据包的有效性后,它会向除已通告过该数据包的邻居之外的所有邻居发送包含一组数据包哈希值的邀请消息。节点v收到其没有的数据包的邀请消息后,会发送包含所需数据包哈希值的getdata消息,之后通过单个块或tx消息完成数据包的实际传输。
2.2 紧凑块中继提案
转发完整块(包含交易)效率不高
超级会员免费看
订阅专栏 解锁全文
4945

被折叠的 条评论
为什么被折叠?



