如果 CONSENSUS 在某个视图中成功,则该视图中的提案将成为新的 LATEST_FINALIZED_BLOCK,更改未来轮次的验证器集。 如果失败,它将在下一个槽 / 视图中进行下一次尝试。 注意:插槽应始终等于当前视图编号加上每个先前验证器集中成功完成的视图编号的总和。 我们有以下处罚:
属性如果一个区块获得终结性,那么要终结确定一个竞争区块,需要发生以下情况之一: 某些委员会被破坏,其中 他们中≥1/3 会被削减以对不同的区块实现双重终结性 最近的委员会离线,在 r/3 个插槽之后,委员会轮换足够多,以便能够在不削减的情况下使一个不同的区块获得终结性。 然而,这是以严重的不活跃惩罚为代价的(≥1/3 的攻击者余额) 在任何一种情况下,即使还原一个终结区块也至少需要销毁 DEPOSIT_SIZE * COMMITTEE_SIZE / 3 个 ETH。 如果我们设置 COMMITTEE_SIZE = 131,072 (ETH2 委员会中每个插槽的验证器数量在理论上最大 400 万个验证器限制),则该值为 1,398,101 个 ETH。 该方案的其他一些重要属性包括:
扩展:具有较小委员会的链终结性如果出于效率原因,我们必须减小 COMMITTEE_SIZE,我们可以进行以下调整: 我们没有选择最新的终结性区块,而是选择作为最长终结性区块链末端的终结区块(但拒绝恢复超过 COMMITTEE_LOOKAHEAD) get_validator_set 应该只使用来自状态超过 COMMITTEE_LOOKAHEAD 之前的信息 视图编号应该只是插槽编号(这可以更容易地推断出在不同链中使用相同的验证器集尝试达成共识的情况,这只有在可能破坏一些终结性的情况下才会发生) 这保留了上述所有属性,但它也引入了一个新属性:如果一个区块获得多个终结性(即该区块被终结,并且其后代链获得 k-1 个更多终结,总共 k 个影响该区块的顺序终结性),然后恢复该区块需要违反多个委员会的终结性保证。 这允许多个委员会的安全级别叠加:一个人需要 COMMITTEE_SIZE * DEPOSIT_SIZE * k / 3 ETH 来恢复 k 个终结性,最多 k = COMMITTEE_LOOKAHEAD,此时委员会分歧。 (责任编辑:admin) |