首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eip1014 (create2)如何使碰撞成为可能?

eip1014 (create2)如何使碰撞成为可能?
EN

Ethereum用户
提问于 2019-03-30 16:23:30
回答 1查看 404关注 0票数 5

EIP 1014 (create2)的澄清部分中,它说“这个EIP使碰撞成为可能。”

它没有解释冲突是如何发生的,但它链接到EIP 684 (防止覆盖契约),后者说:“目前这不是一个问题,因为如果不花费超过2^80的计算努力来查找地址冲突,就无法两次创建具有相同地址的契约,但是对于#86,这种情况将发生变化。”

所以现在我有点糊涂了。是create2现在需要少于2^80才能找到碰撞吗?或者这句话仅指当一个create2被用相同的参数调用两次,从而得到相同的地址时的情况?

EN

回答 1

Ethereum用户

发布于 2019-10-04 19:50:42

简单的 !

标准的ᴄʀᴇᴀᴛᴇ操作码使用呼叫地址的当前计数器来计算契约的目标地址。无论合同的订立是否成功,合同的现值仍在增加,这意味着旧的现在不能再使用了。

因此,在ᴄʀᴇᴀᴛᴇ2之前,您需要找到一个加密哈希冲突,以便将契约的代码部署到相同的地址。

这是因为这是不太可能的,ᴇɪᴘ 684ᴄʀᴇᴀᴛᴇ2之前没有被考虑过,因为ᴄʀᴇᴀᴛᴇ2没有使用这个帐号来计算部署地址。

您在这里应该理解的一点是,使用相同的参数两次调用ᴄʀᴇᴀᴛᴇ2时会产生相同的部署地址,而对普通的ᴄʀᴇᴀᴛᴇ执行相同的操作则不会产生相同的部署地址。

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/69069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档