找回密码
 立即注册

QQ登录

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏

V神出面辟谣,君士坦丁堡升级Create2不存在漏洞

kg01 2019-2-18 20:56:33 显示全部楼层 阅读模式 打印 上一主题 下一主题
在2月15日以太坊核心开发人员的电话会议上,针对此前有传言称,即将在君士坦丁堡升级中发布的新智能合同创建功能将对安全产生负面影响,以太坊创始人Vitalik Buterin和其他核心开发者已经对此进行了否认。
201902180158595217.jpg
(图片来源:unsplash)
这个受到争议的功能叫做“Create2”——被包含在以太坊改进提案(EIP)EIP-1014——旨在允许与区块链上还不存在的合约进行交互,具体地说就是,“链上还不存在,但只能依赖于最终可能包含代码的地址。”
一些ETH开发者担心Create2可能会给网络引入一个潜在的严重攻击媒介,因为据说该功能可能会使智能合约在部署后被编码并改变其地址。有人曾质疑,这一功能是否“意味着所有拥有自毁能力(其代码中的函数)的合约在后君士坦丁堡时代,现在都比以前更值得怀疑?”
在对此进行讨论时,以太坊开发者Jeff Coleman强调“关于Create2,有一件事是违反直觉的,那就是理论上重新部署可以更改合约字节码,因为地址只是对初始化(init)代码的一个提交(commitment)。人们需要注意初始化代码是审计的一部分,[…]非确定性初始化代码会成为一个问题。”
Coleman强调,那些想要审核他人代码的人需要注意潜在的“奇怪现象”。特别是当你把Create2和Create1结合起来的时候,因为后者对地址标识的假设很弱,无论随机数是什么。”他补充道:
“我们期待的结果是……它将有所有的地址[…]]通过初始化代码压缩。我们需要基于内容(content)的合约寻址,而不仅仅是基于订单的寻址,这就是Create1。所以如果我们实现以Create2为标准,并完全摆脱合约自毁功能....我们可能就可以放弃合约随机数的概念。”

像Coleman一样,Vitalik Buterin讨论了Create2的长期路线图,他说:
“需要记住的是,这么做更多是为了将来,如当考虑租金和删除时;这种方法可以在没有自毁操作的情况下,导致合约处于一个状态(state)或不处于一个状态。不过,这不是我们需要在接下来的几周内解决的问题,但是当我们把ETH 2.0分片纳入虚拟机(VM)规范中时,记住这一点仍然很有用。”

除了Create2之外,开发人员还指出,他们已经找到了一家潜在的独立公司,对一种名为“ProgPoW”的抗ASIC工作量证明(PoW)算法进行基准测试。
在以太坊继续朝着最终的PoS目标发展的过程中,开发人员投票决定实施该算法,从而抵抗专业的ASIC矿机,不过最近他们决定推迟该算法的推出,直到第三方审计完成。值得注意的是,正在进行的非正式在线投票显示,大多数人赞成实施ProgPoW。
稿源(译):巴比特资讯

回复

使用道具 举报

说点什么

您需要登录后才可以回帖 登录 | 立即注册