Skip to content

Latest commit

 

History

History
13 lines (13 loc) · 3.42 KB

Gossiping.md

File metadata and controls

13 lines (13 loc) · 3.42 KB

4.8.2 Gossiping

  该子协议用于大多数中继链工件,通过此展示每个人或多或少需要看到相同的公开信息。它的部分结构也用于当节点离线一长段时间后需要同步以前未接收的任何新数据。
  Polkadot中继链网络在物理通信网络之上形成Gossip覆盖网络,作为去中心化广播媒体的有效方式。网络由已知数量的通过质押而受信任的节点(验证人),和来自未经许可的开放网络中的未知数量的不受信任节点(不执行验证的全节点)组成。(备注:一些不受信任的节点可能承担其他角色,例如平行链收集人、钓鱼人等)
  目前实现了一种简单的基于推送型的方法,采用基于哈希的跟踪器缓存,以避免向对等节点发送重复信息,并采取一些限制,以避免最常见的垃圾邮件攻击:
   工件只能按依存顺序接收;不允许对等节点乱序发送。尽管这会降低网络级的效率,但实施起来相对简单并能够提供可靠的安全性。
   为有效地与发送方进行通信,明确发送方可以发送的信息顺序,peers会定期根据链的最新信息更新对方。同时,验证人和收集人节点定期对中继链的最新头块信息进行更新通信。
  关于使用Gossip协议的各类高级子协议的工件还需要满足更多具体的约束规则,以避免广播延误或进行不必要的工件。例如,对于GRANDPA,对于各类型的投票,我们只允许每种类型的投票、轮数和选举人,只能获得两票,其他追加投票将被忽略。并且,仅允许有效验证的区块生产者对每一轮生产一个区块,其他追加的区块生产都将被忽略。
  作为对哨兵节点的基本支持,本质上只有代理服务器与私人服务器邻近,进行最重要的安全相关的运行,如验证人角色。
  网络拓扑是目前的一个薄弱点;节点通过执行随机查找的方式来实现以ad-hoc为基础的方式相互连接,通过地址簿执行随机查找。进一步的工作将沿着以下两个方向展开:
   1. 受信任的节点将保留其部分带宽和连接资源,形成一个结构化叠加层,即具有确定性,又满足根据不同era转换的不可预测性。对于在哨兵背后运行的节点,通过代表这些节点的哨兵节点参与这个拓扑结构。
   2. 对于剩余的可信节点的资源容量,以及对于整个不可信节点的资源容量,将通过基于延迟测量的方案进行组合,细节有待进一步商榷。值得注意的是,为了获得良好的安全属性,我们需要方案的设计不是简单基于“最近优先”,也会对远处节点进行组合。
  从某种意义上说,这可以看作是受信任节点和其周围的不受信任节点形成了一个核心。但需要注意的是,受信任的节点会使用它们的一些资源来服务不受信任的节点。选择这两种拓扑形式有利于来缓解日蚀攻击,以及公链不受信任下的女巫攻击。
  我们还在协调协议设置方面展开进一步工作,进一步减少由于许多发件人尝试将同一内容同时发送给同一收件人而造成的冗余;此外,也会考虑在保持安全性的同时取消排序限制。