探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

摘要: ...

作者:Jarrod Watts

编译:Frank,Foresight News

Vitalik Buterin ***新提出了 EIP-7702 提案,这可能是以太坊历史上影响***大的变化之一,本文就将介绍该新提案的有关工作原理以及实现其所需要了解的一切。

首先,EIP-7702 新提案出奇地简短,这让部分人感到困惑,不知道它到底如何运作,为了理解 7702,我们首先要了解其中提到的另外三个提案:

  • EIP-4337
  • EIP-3074
  • EIP-5003

让我们从所有这些提案的共同目标「账户抽象」说起——以太坊上的 EOA(「普通」账户)很糟糕,它们风险很大,功能非常有限,而账户抽象则允许用户使用智能合约作为账户,以添加更多功能和安全性来解决这个问题。

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

EIP-4337

EIP-4337 于 2023 年 3 月在主网上线,它允许用像账户一样编写智能合约,以便它们可以验证和执行交易,这改进了许多用户体验(UX)。

自发布以来,EIP-4337 得到了广泛的采用,主要由 Polygon 主导,而 Base 在过去几个月中的相关活动也在增多。

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

EIP-4337 相关的***新创新来自 Coinbase 生态及 Coinbase 智能钱包,它基于生物识别技术,用户体验非常棒,我曾在上周末于 ETH Global Sydney 制作了另一个小型演示来展示这一点。

那么 EIP-4337 存在什么问题?为什么今天又有另一个帐户抽象提案?因为 EOA 仍然是迄今为止使用***广泛的账户类型。

除此之外,大多数 EIP-4337 的智能合约账户都由单个 EOA 签署者控制,下面是示例代码:

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

因为无法将用户的 EOA「转换」为智能合约账户,所以有这个奇怪的中间步骤解决方案——主要是由于 Web3 应用缺乏对连接智能合约账户的原生支持,如今大多数人仍通过 MetaMask 等插件钱包使用 EOA。

EIP-3074

这引出了我们的下一个提案:EIP-3074。

实际上,这个提案是在 EIP-4337 之前提出的,但是它尚未合并到主网,EIP-3074 试图赋予 EOA 更多权力,允许他们将其 EOA 的控制权委托给智能合约。

该提案概述了以下内容,添加两个新的操作码:

  • AUTH:EOA 可以调用 AUTH 来授权给定的智能合约代表其 EOA 执行操作;
  • AUTHCALL:获得授权的智能合约可以使用 AUTHCALL 为 EOA 执行交易;

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

这实现了与 EIP-4337 许多相同的用例,而无需每个用户部署新的智能合约。一个关键的区别在于交易来自用户的 EOA,而不是一个没有用户任何帐户历史记录、ETH、NFT、代币等的新合约。

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

对 EIP-3074 的一个常见反应是「如果有人制定恶意合约并且用户委托给他们怎么办?」,毕竟委托给恶意合约可能会导致用户的钱包里的所有加密资产都被抽走。

解决这个问题的方法是钱包服务提供商甚***不允许用户对任何合约进行授权,他们可能会保留一份用户可以委托授权的智能合约白名单列表,并且此列表之外的任何合约都不会显示给用户。

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

EIP-3074 委托的一个关键点是委托并非***性的,「EOA 的单个交易会导致 nonce 增加,从而使未完成的授权失效」。

实质上,在用户进行新交易后,委托将不再有效。

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

EIP-5003

我们也确实不想赋予 EOA 更多权力。毕竟,这些提案的目标是将用户从 EOA 转移到智能合约账户,那么我们为什么要向 EOA 添加功能呢?

这很好地引出了我们的下一个提案:EIP-5003。EIP-5003 添加了另一个操作码「AUTHUSURP」,它将代码部署在 EIP-3074 授权地址。

EIP-3074 和 EIP-5003 两者的区别在于:

  • EIP-3074 是对智能合约的临时委托,可撤销;
  • EIP-5003 是从 EOA ***迁移并从 EOA 「转换」 到智能合约账户;

EIP-3074 + EIP-5003 的一个大问题是它与通过 EIP-4337 的当前账户抽象方案不太兼容,所以以太坊社区的一些人担心我们会通过这两种类型的账户抽象「创建两个独立的代码生态系统」。

EIP-7702

这就到了 Vitalik Buterin 今天的提议:EIP-7702——他提议修改 EIP-3074,使其更精简并与 EIP-4337 更兼容,这样我们就不会***终得到两个独立的账户抽象生态系统,还将 EIP-5003 视为***迁移的下一步。

EIP-7702 提出了一种同时接受 contract_code 和签名字段的新交易类型,在开始执行交易时,它将签名者账户的合约代码设置为 contract_code。在交易结束时,它会将代码重新设置为空。

这和 EIP-3074 一样,实现了 EOA 对智能合约的临时委托功能。然而 EIP-7702 并没有引入新的操作码(这需要硬分叉),而是定义了要调用的函数:

  • AUTH -> 调用「verify」(验证)
  • AUTHCALL -> 调用「execute」(执行)

探究EIP-7702提案:Vitalik为账户抽象难题开出的***药方?

具体来说,它:

  • 检查你的账户合约代码是否为空;
  • 如果为空,则设置为提供的合约代码;
  • 根据提供的智能合约处理交易的方式执行交易;
  • 将账户合约代码设置恢复为空;

「合约代码」 就是字面意思,智能合约的代码就存储在「合约代码」中。由于 EOA 本身不是合约,所以这个字段通常是空的。然而 EIP-7702 的巧妙之处在于,它会在交易执行期间临时将一些智能合约代码填充到该字段中。

这是一种为您的 EOA 提供新行为(代码形式)的方式,用于执行此特定交易,下一步是使之成为***性的行为改变,只需选择「在交易结束后不将代码设置为空」。

该提案***棒的一点之一是,它与迄今为止为 EIP-4337 构建的所有账户抽象工作高度兼容,「用户需要签名的合约代码实际上可以是现有的 EIP-4337 钱包代码」。

一旦此项改动生效,用户现有的 EOA 就可以执行任何智能合约代码。通过额外的 EIP,EOA 还可以***升级以运行特定的代码。

假以时日,这可能会彻底改变我们所有人与 Web3 应用的交互方式。

(WEEX交易所官网:www.weex.com)

WEEX唯客交易所是全球交易深度***好的合约交易所之一,位居CMC交易所流动性排名前五,订单厚度、价差领先同行,微秒级撮合,零滑点、零插针,***大程度降低交易成本及流动性风险,让用户面对极端行情也能丝滑成交。

WEEX交易所宣布将于今夏上线其全球生态激励通证WEEX Token(WXT)。WXT被设计为WEEX交易所生态系统的基石,作为动态激励机制,主要用于激励WEEX交易平台社区的合作伙伴、贡献者、先驱和活跃成员。

WXT总供应量100亿枚,初始流通量39亿枚,WEEX交易平台投资者保护基金、WXT生态基金各持有15%,15%用于持币激励,5%面向代理、渠道等合作伙伴私募,其余50%将全部用于WEEX交易所生态激励,包括:团队激励(20%)、活动拉新(15%)、品牌建设/KOL合作(15%)。WEEX Token是一种实用型代币,规划了丰富的使用场景和赋能机制,包括:Launchpad、近10项持有者专属权益,以及回购销毁通缩机制等。

据悉,WXT仅开放代理、渠道等合作伙伴折扣认购,未来零售投资者可通过新用户注册、交易挖矿、参与平台活动等方式获得WXT奖励。

WEEX官网:weex.com

WXT专区:weex.com/wxt

你也可以在 CMCCoingecko非小号X (Twitter)中文 X (Twitter)YoutubeFacebookLinkedin微博 上关注我们,***时间获取更多投资资讯和空投福利。

在线咨询

WEEX华语社群:https://t.me/weex_group

WEEX英文社群:https://t.me/Weex_Global

文章版权及转载声明:

作者:0431网址导航本文地址:https://www.0431jz.cn/info/25951.html发布于 2024-05-10
文章转载或复制请以超链接形式并注明出处0431JZ.CN - 0431网址导航

赞(0