以太坊启用Create2新功能存安全隐患?V神:不存在的!

转载
2111 天前
15835
火星财经

来源:火星财经(微信:hxcj24h)


以太坊君士坦丁堡升级在即,一个名为Create2的新功能却引发热议。

据Trustnodes消息,在距以太坊君士坦丁堡升级只有大约两周时间时,开发人员发现了一个新漏洞,以太坊基金会开发人员Jason Carver称:“一个名为Create2的新功能可以允许开发人员替换自毁契约,从而更改规则。有很多方法可以避免这些‘社会攻击’,这肯定会落后于君士坦丁堡自身的升级。”

Jason Carver认为应从君士坦丁堡中删除Create2,修改EIP以在自毁期间保持合同,并在下次升级时启动CREATE2。

据了解,Create2并不是一个新概念。早在2018年4月,V神便已提出该功能。具体而言,Create2旨在通过允许“确定性部署”来更好地促进以太坊上的脱链交易,在部署过程中,它允许开发人员更改代码并重新部署到同一地址。

Create2究竟会不会带来安全问题呢?

区块链创业公司Indorse的首席科学家Rajeev Gopalakrishna说,Create2会给以太坊带来一定程度的安全风险。根据他所看到的信息,该功能可以在任何时候更改智能合约的地址,即使在部署之后也是如此。考虑到这个问题,他补充说,新的地址实际上可以被恶意地址替换,或者智能合约可以被恶意合约替换掉。

PeckShield研究人员则指出,Create2功能用于协同开发确实有其价值,例如在彼此信任的场景下,创建约定好的合约地址,多方能同步开发或操作此智能合约。然而,Create2也带来了一个副作用,一旦合约自毁,相较于Create带有流水号(nonce)无法创建重复地址,使用Create2可以在用户不知情的情况下在同一个地址更新代码。在Code is Law的前提下,君士坦丁堡升级后,包含自毁功能的智能合约都存在安全风险。

与此同时,该机构研发副总吴家志表示:Create2的启用对于智能合约安全审计增加不少难度,除了源码与二进制的审计外,还必须考虑合约的部署方式。从智能合约用户的角度,正如Jason Carver描述的,每个合约调用需要经过一个代理合约,在调用之前检查目标合约的代码哈希值及状态,才能确保此合约没有被篡改过。站在安全从业人员的角度,Create2的启用还需要从长计议。


就目前而言,尽管Create2备受质疑,但据cointelegraph报道,V神和其他核心开发者已经驳回了有关即将在君士坦丁堡硬分叉中发布的新智能合约创建功能Create2将会产生负面安全隐患的指控。

该讨论是在2月15日的以太坊核心开发人员电话会议期间进行的。除了Create2之外,开发人员还指出他们已经找到了一家潜在的独立公司以基准测试ASIC的工作证明(PoW)算法,被称为“ProgPoW”。开发者已投票决定实施该算法,但最近决定推迟其推出,直到完成第三方审计,非正式的在线投票显示大多数人赞成。