“5月21日,以太坊2.0的技术规范发布0.12.0版本,这一版本引入了“重大”更改,将BLS签名算法规范,更新为使用标准化组织“互联网工程任务组”(IETF)推出的BLS草案2,并结合了hash-to-curve草案7算法。除此之外,还计划从现在开始仅引入对安全至关重要的变更。”

以下是关于0.12.0版本的发布信息:

此版本引入了“重大”更改,这些更改是在IETF hash-to-curve草案7的发布以及v0.11测试网学习的合并之后。

除了新的BLS规范外,大部分内容还用于处理网络规范中的边缘情况,并重构奖励/罚款规则以增强测试。 尽管其中一些是重大更改,但这些更改范围仍在缩小,并且期望从现在开始仅引入与安全方面相关的至关重要的重大更改。

完整的差异可以在这里找到:#1829

阶段0

Beacon链

调整INACTIVITY_PENALTY_QUOTIENT以准确反映意图 (#1712)

将SigningRoot重命名为SigningData (#1740)

删除PERSISTENT_ COMMITTEE_PERIOD,改为SHARD_COMMITTEE_PERIOD (#1783)

禁止在证明(attestations)中使用空的聚合位(bits)(#1780)

将MAX_ATTESTER_SLASHINGS从1更改为2 (#1794)

在不活动的情况下,确保余额保持不变以保证最佳验证者(#1830)

非实质性更改:

 修复一些ValidatorIndex类型转换 (#1714)

一些小的输入修复 (#1731)

澄清eth1时间戳可以小于创世时间 (#1756)

阐明eth1区块必须在链中足够深,为创世时间考虑 (#1834)

构建奖励/罚分结构,以进行更精细的测试(#1747, #1826)

分叉选择

添加FFG-LMD投票一致性检查 (#1742)

[非实质]删除validate_on_attestation中的多余检查(#1755)

验证者

在阶段0中使用所有证明(attestation)子网(#1804)

确保eth1data投票不能移至过去的eth1data状态 (#1836)

[非实质性]小型清理和验证程序的健全性测试 (#1745)

联网(Networking)

要求“可见”聚合对绑定缓存有效(#1749)

澄清Beacon委员会分配未添加到attnets ENR条目(#1775)

从p2p规范中删除互操作 (#1767)

将gossipsub提高到v1.1,并注意gossip条件的扩展验证器枚举(#1796, #1828)

澄清BlocksByRange中的块必须来自单个链 (#1795)

受SSZ限制的Req / Resp大小(#1800)

放宽对聚合传播的限制,使其不需要位域中的聚合器 (#1801)

在阶段0中使用所有证明子网 (#1804)

限制和澄清BlocksByRange请求(#1835)

存储合约

稳定!

简单序列化

修复bitfield_bytes类型错误 (#1806)

BLS

更新BLS,结合使用hash-to-curve草案7和IETF bls草案2 (#1799)

ETH 2.0阶段1规范(警告:不稳定)

继续完善阶段1的规范

警告:目前缺少“看守人游戏”挑战响应,但是当核心“阶段1”分片链设计稳定时,将很快重新引入。 寻求阶段1原型的客户端团队应首先关注分片数据机制,同时放弃托管游戏逻辑。

轻客户端规范(警告:不稳定)

在阶段1的重新设计中,轻客户端同步规范正在重新设计中。 当前的轻客户端规范可用于一般教育目的,以了解我们正在考虑的方法,但是在阶段1稳定之后,将进行大量重新设计。

测试,Repo等

将sanity目录移到phase_0下面 (#1769)

添加新的奖励测试格式 (#1747, #1826)

测试双提议者的大幅削减和退出 (#1781)

更新到可重现的v0.1.16 (#1833)