织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

技术层面解读 EIP-3074 将如何提升以太坊用户体验

时间:2021-07-13 10:28来源:未知 作者:admin 点击:
原文标题:《科普 | EIP-3074:提升以太坊用户体验》 作者 : Maarten Zuidhoorn 翻译 校对:闵敏 阿剑 如果你是以太坊上的活跃用户,那么你大概率会持有一些 (ERC 20)代币,用来与以太坊生

原文标题:《科普 | EIP-3074:提升以太坊用户体验》
作者 : Maarten Zuidhoorn
翻译 & 校对:闵敏 & 阿剑

如果你是以太坊上的活跃用户,那么你大概率会持有一些 (ERC 20)代币,用来与以太坊生态中的各种 DeFi 项目进行交互。但是,这么做的前提是你必须持有 ETH,因为 ERC 20 代币无法用来支付以太坊的手续费。另外,在向智能合约发送代币时,你通常需要执行两个事务:一个用来_许可_目标合约使用你的代币,另一个用来将代币_转移_到目标合约中。

EIP-3074 可以让智能合约_代表_外部账户(就是普通的以太坊地址)发送事务,从而解决了上述乃至更多问题。

EIP 3074 引入了 AUTHAUTHCALL 这两个 EVM 指令。第一个指令基于 ECDSA 签名设置环境变量 authorized,第二个指令则作为 authorized 发送调用。这本质上就是向智能合约授予外部账户的控制权。

科普 | EIP-3074:提升以太坊用户体验

通过 AUTHAUTHCALL EVM 指令(又称操作码),智能合约可以基于已签署消息获得一个外部账户的授权,并代替该外部账户发送事务。这带来了很多可能性,如:

*赞助事务**(又称元事务):支付来自另一个账户的交易的 gas。这样一来,不持有 ETH 的地址也能发送代币。

*批量事务**:通过单个调用发送多个事务。这样可以确保两个或以上的事务在同一个区块中执行,还可以降低交易费。

*提升用户体验**:例如,你可以在单个事务中调用 approvetransferFrom

不同于现有的解决方案,EIP 3074 不需要智能合约钱包。你可以直接将事务发送给负责执行事务的调用者(invoker)。调用者是无状态的免信任型智能合约,而且不需要你事先将余额发送到智能合约。EIP 3074 也没有引入新的事务类型。从技术层面上来看,由于只引入了两种新的 EVM 指令,EIP 3074 实现起来理应更容易。

只可惜 EIP 3074 依然在审查中,而且由于种种(安全方面的)担忧,目前还不知道将于何时启用。如果你现在想要体验一把,可以使用 Puxi 测试网。在本文中,我将详细介绍 EIP 3074 的工作原理。

如果你想看一下 EIP 3074 的实际运行效果,我编写了一个(批量)事务调用者合约作为示例。点击下方链接,即可访问:

https://github.com/Mrtenz/transaction-invoker

请注意,这个合约没有经过审计,而且只是概念证明。请勿在生产环境中使用。

AUTH 和 AUTHCALL 操作码

EIP 3074 定义了两个新的操作码,可由智能合约调用:

  • (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容