首页 > 编译

编译

BlockSec:以太坊分叉因Geth旧版本在处理预编译合约调用时未考虑异常值的处理

BlockSec团队发文称,北京时间2021年8月27日20点50分左右(区块高度13107518),以太坊突然出现分叉。BlockSec通过分析Geth的代码版本修改和这笔造成分叉的交易(0x1cb6fb36633d270edefc04d048145b4298e67b8aa82a9e5ec4aa1435dd770ce4)厘清了以太坊分叉的根本原因:Geth旧版本在处理预编译合约调用时,并未考虑特殊情况(corner case)下参数值的处理,从而引发重叠拷贝(overlapping copy),导致返回值异常。该漏洞(CVE-2021-39137)已提交Geth官方,目前尚未披露细节,但攻击者已经利用漏洞实施了攻击。 BlockSec总结称,通过对整个攻击流程的梳理和Geth源代码的分析,BlockSec认为根本原因在于Geth旧版本在处理预编译合约的调用时并未考虑异常值的处理,导致攻击者利用该漏洞实施了重叠拷贝,影响了返回值,最终导致分叉的出现。由于Geth是BSC、HECO、Polygon等公链的基础,因此该漏洞影响范围甚广。目前各公链也先后推出了升级和补丁,BlockSec也

V神提议对以太坊未来的分片和历史访问进行预编译

Vitalik Buterin(V神)发文研究对未来的分片和历史访问进行预编译。V神在文章中表示,当前以太坊设计中的向后兼容性挑战之一是,历史访问需要在EVM中验证Merkle证明,该证明假设区块链将永远使用相同的格式和相同的密码。分片增加了这一点的重要性,因为用于rollups的欺诈证明和有效性证明需要指向分片数据的指针。V神提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在EVM中验证历史和分片的证明。如果将来更改格式,预编译逻辑将自动更改。预编译甚至可以具有条件逻辑,用于验证转换前slots的一种证明和转换后slots的另一种证明。

“无喂价”合成代币

“无喂价”模式本质上一种博弈机制,它可以最小化预言机的使用。来源于火星财经专栏作家蓝狐笔记

快讯

2024年11月10日 星期日
更多
点击鼠标右键,图片另存为...
广告