首页 > 资讯 > Vitalik:为何要尝试在单个插槽实现最终敲定?
路安  

Vitalik:为何要尝试在单个插槽实现最终敲定?

摘要:原文作者:Vitallik Buterin特别感谢 Justin Drake、Dankrad Feist、Alex Obadia、Hasu 和其他人对这篇文章不同版本的反馈和评论。当前,(信标链) 以

原文作者:Vitallik Buterin

特别感谢 Justin Drake、Dankrad Feist、Alex Obadia、Hasu 和其他人对本文不同版本的反馈和评论。

目前(信标链) 以太坊块需要 64-95 个 slot (约15分钟 ) 实现最终敲定。在去中心化/敲定时间/费用权衡曲线上,选择这样一个中等时间、任何维度都不差的权衡是合理的:15分钟不算太长,相当于当前交易所的确认时间,即使有很多质押 32,也允许用户在常规电脑上运行节点ETH(不是1500 的早期要求ETH) 验证者也可以这样做。然而,有许多关于将敲定时间减少到单个 slot的很好论据。本文是一个处于研究状态的帖子,评估了一些用于实现此目的可能策略。

01. 目前以太坊 staking (质押) 如何工作以及为什么工作

目前,大约有285000个验证人,这些账户已经存入 32 ETH,所以可以参与以太坊 staking (质押)。验证者的数量与实际参与质押的用户 (质押者) 的数量并不完全对应:一些富有的质押者可能会控制数百名验证者。32 ETH 的最低质押要求限制了可能的验证人账户的数量,并确保以太坊链仍有能力处理这些账户。

每个slot(12 秒) 链条中会添加一个新区块。每个 slot 中,有数千个 (由验证人提交)证明 (attestations),用于投票 (信标链) 链头。有一个叫LMD GHOST分叉选择规则,将这些证书作为输入来确定链的头部。这种数千张证书的并行投票使以太坊比传统的最长链系统更强大:除非有主动攻击 (active attack) 或重大网络故障,否则即使是单个 slot 几乎永远不会被逆转 (恢复)。

这些证明还有第二个目的:它们被称为一个Casper FFG选票在大规模共识算法中发挥作用(votes) 角色epoch(每 32 slots 叫 epoch,约 6.4 分钟),所有活跃的验证者都有机会进行一次证明。两轮之后,如果一切顺利,前一个 epoch (以及所有块) 将被敲定(finalized)。一旦某个块被敲定,逆转该块至少需要所有验证人中的 1/3 验证人销毁其存款 (质押金):攻击成本超过 300 1000 ETH。

尽管需要额外的协议干预来抵抗审查攻击,但持续审查验证或交易也很昂贵。如果 51% 的验证者开始审查 (验证或交易),受害者和用户可以协调发起少数软分叉 (minority soft fork),他们在彼此的区块上建造,而忽略了攻击者。在这个少数软分叉上,攻击者的存款将因他的疏忽而受到惩罚(inactivity leak) 损失数百万 ETH,几周后,这条链将恢复敲定。

02. 为什么要尝试在单个 中实现?Slot 敲定?

试着改变现状,缩短单个 的敲定时间Slot 完成有几个关键原因:

用户体验。大多数用户不愿意等待 15 的敲定时间。今天,即使是交易所也经常只有 12- (约3)二次确认-5分钟) 将用户存款视为敲定(finalized),尽管 (与真正的PoS相比) 这种提供 12-20 次的PoW安全性低。单个 slot 的敲定将满足用户越来越习惯的速度,同时提供非常高的安全性。抗 MEV 重组。单个 slot 敲定会使即使是大多数验证者也无法提取 MEV (矿工可提取价值) 重组区块链。 合并LMD GHOST (分叉选择规则) 在单个 中使这种情况非常困难Slot 最终确定使这一保证更加强大,并创造了一个强大而压倒性的抑制因素,甚至可以阻止绝大多数恶意验证者的串谋和攻击。参考本文,了解更详细的论点。有机会降低协议的复杂性和 bugs。Casper FFG 敲定和 LMD GHOST 分叉选择规则之间的界面是协议非常复杂的来源,导致许多攻击需要相当复杂的补丁来修复,定期发现更多的弱点。在单个 slot 敲定提供单个 slot 确认机制与分叉选择规则之间创造更清晰关系的机会 (只有当离线验证者的比例小于或等于 1/3 时才能运行)。其他协议复杂性的来源 (如将验证者分配给固定规模的委员会) 也可能减少。想法1:通过「超级委员会」实现单个 Slot 敲定

并非所有验证者都参与每一轮 Casper FFG 共识,但只有一个中型超级委员会组成的中型超级委员会 (a medium-sized super-committee)参与允许每一轮共识单个 Slot 发生在中间。相关技术思想首先在本文中etheresear.ch 帖子介绍。

本文更详细地介绍了这一想法,但其核心原则如下:

并不是在每个 epoch运行 BFT (拜占庭容错) 共识,但在每个 slot操作。这意味着一旦某笔交易被打包到某个区块中,它就在一个 slot之后,逆转交易的成本将是数千 ETH。我们不依赖所有活跃的验证者来敲定单个 slot。相反,我们依赖于由数千名验证人组成的随机选择「超级委员会」(super-committee) 敲定单个 slot。只有当委员会不履行确认职责时, (这需要超过 1/4 的验证者离线或恶意验证者),LMD GHOST 只有使用分叉选择规则。如果发生这种情况,分叉选择规则将决定哪个块是链头,委员会将受到怠工的惩罚 (inactivity leak),直到它再次开始履行确认职责。

验证者

上图:如果委员会未能履行确认职责,区块链将使用分叉选择规则来决定哪个区块是链头,并对委员会的验证人进行怠工处罚,直到这些验证人的余额在一定程度上减少,即剩余的验证人中有超过 2/3 的验证人余额在线,委员会将再次实施确认。

转向使用「超级委员会」的次级效益

从全局验证者到超级委员会还有一些刺激效益:

操作验证人节点的计算负载变得更加稳定。操作验证人节点的计算要求不再需要与验证人总数成正比,迫使验证人拥有强大的机器来应对验证人数量的显著增加,而是使操作验证人节点的计算负载更加稳定,使验证人能够准确地知道他们需要什么计算需求。大多数时候,验证人可以立即取款。目前,不属于委员会的验证人将能够立即取款 (除非许多验证人正在取款,并且有一个区块队列)。但即使是委员会的验证人也能很快取款 (1)-5分钟),因为委员会可以基于单个 Slot 在最终确定的基础上进行快速轮换。只有在真正的异常情况下 (无论是意外的大规模取款还是积极的攻击),验证人才会被要求留下并继续保护区块链,直到一切恢复正常。超级委员会的规模必须?

就验证人数而言,超级委员会的规模应该足以成为安全委员会。但委员会也必须在其中ETH 总量足够大(即委员会中所有验证人的总质押量)。 被没收和怠工处罚ETH 的数量需要大于从攻击中获得的实际收入,它需要足够大的力量来防止或破产强大的攻击者,因为攻击者有巨大的外部动机来破坏链。

这需要多少 ETH的问题不可避免是一个直觉问题。你可以问下面这些问题来引导你的直觉:

假设以太坊链被 51% 攻击,社区需要几天时间协调链下治理事件才能恢复,但有 X % 的 ETH 会被销毁。这个 X 给以太坊生态系统带来净效益需要多少钱?假设一个主要的交易所被盗了数百万 ETH,然后攻击者质押了收入,并获得了超过 51% 的验证。那么,在验证者偷来的所有资金被销毁 (罚没) 之前,他能对区块链发动多少次 51% 攻击呢?假设一个 51% 攻击者开始在很短的时间内重组区块链以捕获所有 MEV。我们希望攻击者的每秒成本达到什么水平?Justin Drake据估计,比特币目前正在发起覆巢攻击(spawn-camp attack)成本 (即在比特币社区变化 PoW 算法前,反复攻击比特币51% 的成本) 约为 100 亿美元,相当于其市值的 1%。一次性 51% 攻击以太坊的成本应该比这个成本高多少倍?

验证者

以太坊研究人员内部调查结果显示:你认为攻击以太坊的最低成本是多少?

如果只关注不依赖延迟的 51% 攻击,那么 100万 ETH 的攻击成本将意味着一个「超级委员会」200万 ETH (约655536 名验证人),如果我们还涉及到34% 攻击结合复杂的恶意验证人和网络控制,超级委员会的规模应该是300 万 ETH (约97,152 验证者)。但如果我们想让以太坊链的负载保持在今天的水平 (每个 )slot 约 9000 名验证者,也即大约 288,000 ETH),相应的攻击成本为 96,000 到 144,000ETH。这两个数字之间还有很大的差距。

因此,除非以太坊社区相信攻击以太坊的成本更低,否则是可以接受的 (记住,攻击者仍然需要控制所有被质押的 超过50%ETH,这只是他们将失去的数量),否则仅依靠这条路径似乎很难。

想法2:尽量让尽可能多的证明者 (attesters) 发挥作用

假设我们真的想要每一个 slot 有大量验证者参与的区块链 (例如,每个 slot 有 131,072 名验证者,即相当于保守的 400 万 ETH)。那么这个基础上的性能数字会是什么呢?

事实证明,每个 都有大量的验证者Slot 链上的成本没有看起来那么高:

存储验证人记录所需的状态空间将与今天完全相同 (每个验证人约 150 字节)。验证签名需要将 131、072 公钥的随机子集合在一起。每个椭圆曲线的添加量可以很大1 微秒内完成,可在130 毫秒左右完成。每个 slot 需要执行两次 (如果一个块包含冗余证明,可能需要执行更多次)。假设是 slot N 活跃的某个验证者通常在 slot N 1 如果保持活跃,可以进一步优化链上的添加成本;这意味着每个 slot,我们只需要计算新旧聚合公钥之间的变量 (delta),在良好的条件下,聚合公钥可能由数千个或数百个验证器组成。即使在最坏的情况下,它也应该能够优化至少 2 倍(即~65毫秒)。

最大的问题是签名聚合。单个 Slot 生成和发送签名的验证人有 131、072 ,需要快速组合成大型聚合签名。

今天签名聚合在 p2p 子网完成。每个包含 256 验证人的委员会都有自己的子网络签名聚合。有 16 随机选择的特权聚合器,可以签名聚合并提交给主子网 (main subnet)。然后,区块提议者从每个委员会获得最佳签名聚合,并将其添加在一起形成一个大的签名聚合。如下图所示:

验证者

这给每个小组委员会带来了负载,其中验证者需要单独验证签名,特别是在发生攻击,使得网络充斥着无效签名的情况下,且在全局子网中,如果有n提议者必须对16 进行验证* n个签名。

聚合很可能是未来两年显著优化的目标。目前实际应用中最大的瓶颈是每个子网的负载,尤其是多个子网中需要的节点。

通过两种有前途的简单方法,可以进:

为了让更多的证明 增加子网的数量(attestations) 总数不增加每个子网的负载。主子网的负载会增加,但是dank-sharding可以弥补这一点,dank-sharding 允许一个 slot 中的所有验证人都签署了相同的数据,以提高效率,使这些签名更容易批量验证。改变网络规则,这样即使有很多验证者的节点,也只需要参与一个子网络,从而为增加每个子网络的负载和子网络的计数提供了空间。只有当验证者是子网络中的聚合物时,验证者才需要严格订阅子网络;只发布到子网络的验证者只需要找到另一个诚实的验证者,而不是自己订阅。聚合器更专业

支持更多验证者的可能更激进的策略之一是将签名聚合转化为更专业的角色 (类似于PBS (提案/构建者分离) 方案中的块构建者),在这个角色中,我们希望专业参与者能够在每个子网 (甚至所有子网) 中持续存在,并能够很好地收集签名。这些参与者可以是有偿的或自愿的角色 (因为额外的成本对于已经质押了许多验证者的用户来说非常低)。

针对这种情况的一个简单的协议是允许验证者签名一条ProposedAggregate新闻,包括 (i)聚合签名,(ii) 参与者的位字段 (假设有 131、072 验证者,则只有 16 kB),以及 (iii) 聚合器签名这两个对象。

提议者将侦听ProposedAggregate消息,并验证参与人数最多的签名。如果签名有效,提案人将打包签名;如果无效,提案人将因签名验证而损失约130秒,然后继续验证下一个参与人数第二高的聚合 (如有必要,可能继续验证参与人数第三高的聚合等。),所有这些都是无效的ProposedAggregate消息聚合器可能会被罚没 (slashing)惩罚。

03. 如何实现单个 ?Slot 敲定?

转向单个 Slot 确认是一个需要多年时间的路线图;即使大量的开发工作很快就会开始,以太坊也会完成 PoS、分片和 Verkle 树推出后,这将是以太坊之后的重大变化之一。一般来说,实现路径大致如下:

加强证明聚合的优化。无论如何,这是一个重要的问题,因为验证者的数量有望增加。我们需要更加关注这个问题的研发。就常规参数达成一致:我们的目标是「超级委员会」 的规模有多大(或者超级委员会的规模是否会是所有活跃验证人的集合,我们实现了一些不同的机制来控制有多少活跃验证人)?我们能接受什么样的费用水平?我们将使用什么技术来降低成本?实现单个 Slot 敲定,需要研究理想的共识和分叉选择机制,达成共识和明确。这将与 相结合BFT 共识机制 (Casper FFG 或其它更传统的机制) 和分叉选择规则,其中分叉选择规则只有 ≥只有当验证者离线时,1/3 才有意义。实现路径协议并实施。这可能需要多步骤来实现,其中一步是引入超级委员会机制,然后下一步是增加新的共识和聚合机制。

在单个 slot 确定的最终好处将非常显著,技术可以随着时间的推移而改进,以实现本文中没有描述的其他好处 (例如,使用增加的最大验证量来减少 ETH 质押)。因此,本文所描述的技术挑战值得我们尽快开始更深入、更专注的研发。

免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。