以太坊2.0的技术规范0.12.0版本发布,引入“重大”更改
“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 )
联网(Networking)
- 在阶段0中使用所有证明(attestation)子网( #1804 )
- 确保eth1data投票不能移至过去的eth1data状态 ( #1836 )
- [非实质性]小型清理和验证程序的健全性测试 ( #1745 )
存储合约
- 要求“可见”聚合对绑定缓存有效( #1749 )
- 澄清Beacon委员会分配未添加到attnets ENR条目( #1775 )
- 从p2p规范中删除互操作 ( #1767 )
- 将gossipsub提高到v1.1,并注意gossip条件的扩展验证器枚举( #1796 , #1828 )
- 澄清BlocksByRange中的块必须来自单个链 ( #1795 )
- 受SSZ限制的Req / Resp大小( #1800 )
- 放宽对聚合传播的限制,使其不需要位域中的聚合器 ( #1801 )
- 在阶段0中使用所有证明子网 ( #1804 )
- 限制和澄清BlocksByRange请求( #1835 )
简单序列化
- 稳定!
BLS
- 修复bitfield_bytes类型错误 ( #1806 )
更新BLS,结合使用hash-to-curve草案7和IETF bls草案2 ( #1799 )
ETH 2.0阶段1规范(警告:不稳定)
继续完善阶段1的规范
警告:目前缺少“看守人游戏”挑战响应,但是当核心“阶段1”分片链设计稳定时,将很快重新引入。 寻求阶段1原型的客户端团队应首先关注分片数据机制,同时放弃托管游戏逻辑。
轻客户端规范(警告:不稳定)
在阶段1的重新设计中,轻客户端同步规范正在重新设计中。 当前的轻客户端规范可用于一般教育目的,以了解我们正在考虑的方法,但是在阶段1稳定之后,将进行大量重新设计。
测试,Repo等
来源:https://github.com/ethereum/eth2.0-specs/releases/tag/v0.12.0
编译:Kyle
稿源(译):巴比特资讯(https://www.8btc.com/article/599184 )