authorized 基于 ECDSA 签名的上下文变量。第二个发送呼叫作为 authorized 。这实质上将 EOA 的控制权委托给了 [a] 智能合约。AUTH 和 AUTHCALL EVM 指令 (也称为操作码),让智能合约基于已签名的消息授权 EOA,并从该 EOA 发送交易 (「调用」)。这带来了很多可能性,比如 :
与这些问题的现有解决方案不同,EIP-3074 不需要智能合约钱包。我们可以简单地将交易发送给执行交易的所谓调用者。调用者是无状态的、无需信任的智能合约,它们不要求我们预先将余额发送给合约。EIP-3074 也没有引入新的交易类型。通过只引入两个新的 EVM 指令,它在技术上应该更容易实现。 AUTH 和 AUTHCALL 操作码EIP-3074 定义了两个新的操作码,可以从智能合约中调用 :
为了授权一个 EOA,我们需要一个来自该 EOA 的签名消息。调用 AUTH 的智能合约可以从消息签名中恢复签名者,然后将消息签名设置为 authorized EVM 上下文变量。现在,无论何时智能合约调用 AUTHCALL,调用者都被设置为授权地址。当被调用的智能合约调用 CALLER(例如,通过 Solidity 的 msg.sender) 时,这现在是授权 EOA 的地址,而不是执行调用的智能合约调用者的地址。 发送一个或多个交易的基本流程如下所示 : 一个基本的 EIP-3074 流程,其中调用者契约发送多个交易。
谁将交易发送到合约中并不重要,只要 EOA 的签名是有效的。这使得其他人 (或另一个帐户) 可以发送交易。 授权消息和提交为执行授权,EOA 必须以特定格式签署消息 : (责任编辑:admin) |