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

时间:2024-09-20 编辑: 浏览:(143)

作者:Jarrod Watts

编译:Frank,Foresight News

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

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

EIP-4337 EIP-3074 EIP-5003

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

EIP-4337

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

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

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

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

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

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

EIP-3074

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

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

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

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

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

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

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

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

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

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」(执行)

具体来说,它:

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

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

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

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

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

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

最新 更多 >
  • 1 RBNB币的创始人是谁

    RBNB币的创始人是谁? RBNB币作为一个以共享经济为主题的加密货币,近年来在区块链圈内备受关注。那么,它的创始人到底是谁呢?对此,我们进行了一番探讨。 RBNB币的背景介绍 RBNB币全名为\"Rentberry\",是一个基于区块链技术的共享经济平台。该平台致力于打造全球范围内稳定、安全、去中心化的出租房屋平台,以优化租房体验并提高租赁效率。RBNB币作为平台的代币,可以用

  • 2 PHNX币历史价格走势怎么样?

    PHNX币历史价格走势怎么样?PHNX币是一个去中心化的数字货币,它具有无限的发展前景。PHNX币在2018年1月份开始上线,在公测阶段因为资金的投入和各方面的运营,PHNX币价格也一度在0.6美元左右。但是,随着市场行情的波动,PHNX币价格开始迎来了下滑,2018年4月份时,PHNX币价格掉至0.1美元以下,创下历史最低点。不过,PHNX币项目方没有放弃,他们通过持续不断的宣传和推广,加大了对

  • 3 POKERFI币的创始人是谁

    POKERFI币是近年来备受关注的一种数字货币,创始人备受瞩目。在这篇文章中,我们将介绍一下POKERFI币的创始人是谁。POKERFI币的创始人POKERFI币的创始人是一位名叫Christopher Paparo的年轻企业家。他创建了这种加密货币,目的在于推动互联网赌博的发展,让全球玩家可以在互联网上自由地进行赌博。Christopher Paparo是一位非常有前瞻性的人,在他还年轻的时候就

  • 4 PRV币的创始人是谁

    PRV币的创始人是谁?这是很多人都想要知道的问题。PRV币是最近兴起的加密货币,很多人比较关注这个项目。下面我们来了解一下PRV币的创始人是谁。PRV币的创始人PRV币的创始人是一个叫做David Pham的人。David Pham是一名资深的程序员,他从事软件开发和安全领域已经有十年的经验。他曾经为包括Google在内的很多知名公司提供技术支持。在比特币和区块链技术火起来之后,他开始研究这些技术

  • 5 QTO币最高的时候是多少钱?

    QTO币最高的时候是多少钱?QTO币是一种区块链数字货币,它的诞生和发展也充分体现了整个数字货币市场的发展与变化,也是数字货币市场投资者们关注的重点之一。那么,QTO币最高的时候是多少钱?接下来就让我们一起来看看。QTO币的发展历程 QTO币的诞生时间比较短,是在2018年初开始启动的,不过它在区块链行业中却已经声名鹊起。它刚刚成立时期,其价格离谷底并不远,在4月份的时候,QTO币的价格已经突破了

  • 6 PLD币的创始人是谁

    PLD币的创始人是谁?PLD币是一个新兴的数字货币,而其创始人是一个神秘的人或团队。根据PLD币官网的介绍,PLD币创始人是一个互联网金融领域的资深专家,有着丰富的区块链技术和数字货币投资经验,具备完整的研发和运营团队。然而,PLD币创始人的身份尚未公布,因此关于他们的背景、历史和理念等,都充满了神秘感。这也使得PLD币在某些人看来更具有吸引力和神秘感。PLD币的背景PLD币的背景可以追溯到201

  • 7 PRIV币历史价格走势怎么样?

    PRIV币的发行与概述PRIV币是一个致力于推动匿名隐私交易的数字加密货币。它于2018年2月正式发布,根据官方信息显示,其总供应量是50,000,000枚。其矿工和交易者都可以使用这种加密货币来实现匿名保护交易。这种加密货币使用的具体技术还是挺引人注目的。PRIV币的价格走势概况在2018年初,PRIV币的初始价格仅为0.889美元,但相信很多人都很吃惊,当年四月份它的价格达到了30美元的峰值,

  • 8 PRVT币最高的时候是多少钱?

    PRVT币最高时价介绍PRVT币是一种区块链加密币种,其源代码基于比特币核心,扩展了与隐私保护相关的功能。截至2021年9月,PRVT币最高时价已经达到了778.43美元。PRVT币的诞生源于人们对数据隐私的日益关注。在数字世界中,数据是最重要的资源之一。因此,保护个人数据隐私已经成为了人们关注的焦点之一。PRVT币便是源于对保护个人数据隐私的需求。PRVT币采用了零知识证明和环签名等技术来保护交

  • 9 POGGERS币最高的时候是多少钱?

    POGGERS币最高时价POGGERS币是基于区块链技术发行的数字货币,它的最高时价曾引起市场广泛关注和热议。POGGERS币同时也是一个具有很高愉悦度的币种,引领着一场数字货币快速崛起和繁荣,为投资者带来了丰厚的回报。2018年是数字货币市场大行情元年。在这一年,以比特币为首的数字货币价格一路攀升,迎来行情高峰。POGGERS币的价格也受到了市场热情追捧,达到了历史性的高峰,最高时价是每一枚PO

  • 10 PROMISE币最高的时候是多少钱?

    在过去的几年中,加密货币市场经历了惊人的变化。其中一个最值得注意的是PROMISE币。PROMISE是一种分布式应用程序平台,旨在提供高性能的智能合约执行和分布式应用程序开发。尽管市场波动很大,但PROMISE币曾经达到过历史最高值。PROMISE币是什么?PROMISE币是基于PROMISE区块链平台的本地加密货币,该平台于2017年由大致传媒联合创始人Sun Yuchen创建。PROMISE区