以太坊 EIP-3074 不够安全,有什么简单的替代方案吗?_区块链前沿

以太坊 EIP-3074 不够安全,有什么简单的替代方案吗?

EIP-3074 也许为开拓者和用户带来简单,但却是以埋葬平安性为价值的。

原文题目:《引介 | 对 EIP-3074 的辱骂和一种简洁的庖代》
撰文:Maarten Zuidhoorn

对开拓者来讲,AUTH/AUTHCALL 机制特殊具备吸引力。它也许让人们创造挪用者来完结分别的批量解决战略(比方,援助多个 nonce 来完结更好的并行性)、gas 归纳模子和冗长的账户归纳步骤等。

这类矫捷性源于这一机制赋予了开拓者极大的自如。AUTH/AUTHCALL 机制不恳求开拓者遵守特定的形式,而是恳求用户订立一个 commit 哈希值(commit 体例将由挪用者来分化),让路发者基于 commit 自行树立局部。

但是,这类矫捷性是以埋葬平安性为价值的。在本文中,我想要先容一种更简洁的庖代计划。这个计划具有 AUTH/AUTHCALL 机制的绝大多半低贱,不过严重远低于后者。

为何订立一个 AUTH commit 所带来的严重高于订立一个与保管空隙 / 歹意合约关系的工作?

用户在订立与合约关系的工作时,所接受的严重是已知的,即,能够会丢失在该合约上下范畴内的财产。比如说,用户给一个 ERC 20 合约订立了领受工作,授权歹意的 DEX 合约。这个歹意 DEX 合约便可以提走用户在 ERC 20 合约中的一块余额。不过,它没法从该用户的其余 ERC 20 合约中提走代币,除非得回该用户的领受。它也不行代表用户施行其余职掌,由于这也须要异常取得用户的领受。

相较之下,EIP-3074 不只恳求用户订立 「空缺支票」,并且假使挪用者是忠实且不空隙的。一个歹意 / 保管空隙的挪用者也许代表用户实行任何职掌 —— 调查用户持有的财产,代表用户施行投票,上下用户一齐的合约等。

更糟了的是,挪用者随时都也许坐法,由于 nonce 完结是由挪用者上下的。保管空隙 / 歹意的 nonce 逻辑完结也许重放用户往日的工作。倘使 commit 考证的其余局部的逻辑也保管空隙,挪用者便可以运用这个 nonce 逻辑完结来代表用户实行任何职掌。即便空隙被浮现,用户也没法撤退空缺支票。这个外部账户(EOA)已被万世侵犯了。

编写一个精确的挪用者举措很难,并且咱们几近也许信任,挪用者会约略期浮现过错,从 EIP-3074 结尾列出的挪用者应当注意的查看 / 空隙 / 状况非细密清单中看来一斑。这份清单必然会变得愈来愈长,极可能伴跟着颓废的浮现进程。

别的,歹意参预者也许编写一个看似无害的挪用者举措,不过居心留住一个狭窄的空隙,比及洪量外部账户授权该挪用者以后才会被报复者运用。

倘使报复者不直接或立刻运用这个空隙从用户何处盗取资本,这个空隙能够很万古间都不会被浮现。

管理威迫示例

  • 歹意去重心化买卖所 EveSwap 为其用户编写了一个挪用者举措。这个挪用者举措经历空投 EVE 代币来为用户供应 gas 赞助,并批量解决用户的领受和转账工作。

  • EveSwap 的挪用者举措看似无害,并且悠久不会盗取用户的代币,由于如许霎时就会露馅。

  • 用户很欢悦。买卖都胜利了,买卖费也很廉价。几个月来安闲无事。

  • 但是,每当有人运用 EveSwap 买卖 AliceSwap 的管理代币 ALI 时,会自动将用户的 AliceSwap 投票权奉求给 EveSwap。

  • 一朝授权人数到达某个阈值,EveSwap 就会经历管理提案威迫 AliceSwap。

EveSwap 用户不太能够注视到这个进程,由于买卖老是胜利的,不过终究会给 AliceSwap 带来消灭性的进攻。

跨链重放示例

EIP-3074 公道地倡导 commit 应当蕴含 chainid。不过,这是由挪用者,而非合同实行的。在另外一条链上有着类似所在的挪用者能够会跳过该查看(或与此关系的查看)。

  • EveSwap 在兼容 EVM 的 BobSpongeChain 上运转,后者援助 EIP 3074。EveSwap 在 BobSpongeChain 上布置了一个忠实的挪用者。

  • 用户运用该挪用者在 BobSpongeChain 上买卖,尔后运用桥将财产迁徙到以太坊上。

  • EveSwap 运用统一个布置密钥在以太坊上布置了另外一个所在类似的挪用者。这个在以太坊上的挪用者不会查看 commit,只会查看 ownerOnly,并充任其一齐者的通用 AUTH/AUTHCALL 代劳。

  • 如许一来,EveSwap 便可以威迫用户在以太坊上的外部账户并卷走他们的财产了。

用户从未在以太坊上买卖过,运转在 BobSpongeChain 上的挪用者举措又过程了老成的平安审查。只管云云,用户如故丧失了一块财产。

以太坊经历 EIP-155 的重放吝惜来防守这类状况。AUTHCALL 不重放吝惜。因为一齐 commit 查看都交给挪用者告竣,咱们遗失了以太坊供应的完善买卖吝惜。报复是在劫难逃的,由于吝惜法子很轻易。倘使要采用 EIP-3074,AUTH 动态必需明晰蕴含 chainid,而非将其动作 commit 的一局部。

咱们还能领受甚么其余手腕?

我的创议是完结一个更明晰的机制,在合同层面强迫限制 commit 的含意。commit 组织将是表率化的(如 EIP-712 所述),钱包会以用户可读的大势将 commit 显现出来。用户也许确凿地显示工作是甚么状态的,并置信这个工作不会在职何链上重放,无需依靠于挪用者举措开拓者的品行和手腕。

一个能够的完结:

AUTH 将运用蕴含授权挪用列表的表率化组织替代 commit 哈希值。每一个挪用都将指定 {nonce,to,gas,calldata,value,chainid}。签字将被考证,全面授权挪用列表将保管为 authorized_transactions 而非 authorized 所在变量。

AUTHCALL 将得回一个新的参数 index,该参数指向结尾一个 AUTH 创造的列表中的所在。

用户所在的 nonce 将随 AUTHCALL 递加。nonce 并不是由挪用者保存,而是本质的账户 nonce。

利:

  • 用户也许了解地明白状况。

  • 平安性由合同保护。

  • 照旧援助批解决和账户归纳。

弊:

  • nonce 完结,不援助并行。

  • 冗长挪用者举措的工作解决起来很烦琐,由于用户必需察看并采用全面挪用列表。

分别的完结能够援助分别的 nonce 计划。不过,不管咱们运用甚么机制,该机制必需由合同而非挪用者实行。

不管何如都应当制止让冗长挪用者实行洪量用户挪用。冗长职掌应当动作普遍的智能合约完结,而非试验完结运用多个外部账户挪用的算法。

庖代计划:全面制止硬分叉

还有一个采用是全面制止 AUTH 机制,并经历 vbuterin 倡导的另外一种买卖池来束缚账户归纳和批量解决题目。

利:

  • 无需硬分叉,可由智能合约和也许感知这些智能合约的节点援助。

  • 可用于完善援助 EIP 3074 的完结,而不会引入特为的严重。

弊:

  • 不向后兼容已有的外部账户。用户须要布置一个合约钱包并将财产迁徙到该钱包内。

除非恳求在不转化的状况下援助已有的外部账户,不然这个采用看起来更平安。

免责说明:动作区块链讯息平台,本站所宣告作品仅代表作家一面见解,与链闻 ChainNews 态度无关。作品内的讯息、见识等均仅供参考,并不是动作或被视为本质投资倡导。

以太坊

以太坊

以太坊

以太坊

怒放的宣传式区块链运用平台,经历其专属加密钱币 Ether 以太币供应去重心化的假造机,解决点对点合约。理睬任何人设立和运用经历区块链岁月运转的去重心化运用,不任何狡黠、审查、第三方禁锢。 以太坊的观念初次在 2013 至 2014 年由维塔利克·布特林 Vitalik Buterin 受比特币发掘后提议,旨在共通建立一个更寰球化、更自如、更切实的互联网。以太坊EthereumETHERC 20ERC-20ERC20ERC721ERC-721以太坊2.0以太坊 2.0察看更多以太坊 平安 DEX EIP-3074 EVE EIP-155 EveSwap

区块链前沿是一个专业的比特币价格查询&区块链数字货币资讯平台,我们为用户提供关于区块链企业、数字货币币种、数字货币交易平台及区块链人物的相关信息,我们整理发布全球主流比特币交易平台、虚拟数字货币交易平台、区块链应用企业的结构化信息,我们对区块链及数字资产充满热情,立志打造成一个区块链综合门户网站。
区块链前沿 » 以太坊 EIP-3074 不够安全,有什么简单的替代方案吗?

发表评论