Cointime

扫码下载App
iOS & Android

帐户抽象的完整指南

媒体

信息来源自substack,略有修改,作者cami

你很可能已经阅读了一些用于理解帐户抽象的文章,并同意99%关于帐户抽象的帖子都是垃圾。

你发现几乎所有的人都从描述EOA和智能合约之间的区别开始,并含糊地提到了用户体验的改进。他们未能解释账户抽象实际上是什么,而是专注于账户抽象的副产品。

本指南涵盖了整个思路,从账户抽象是什么,到为什么每个人都称它为下一个大事件。

什么是帐户抽象?

我发现从帐户抽象不是什么开始解释比较容易:

-支付用户gas费

-原生多签名

– web3auth类型的“社交登录”

作为帐户抽象实现的结果,你可以执行这些操作。

如果我可以把账户抽象重新命名得更直观一些,那么它将被称为“可编程交易有效性”。

一般来说,帐户抽象是一种以编程方式设置交易有效性条件的能力。

由Vitalik等人撰写的EIP-4337表示:“实现帐户抽象的关键目标是,允许用户使用包含任意验证逻辑的智能合约钱包,而不是EOA作为他们的主要账户。”

目前,在以太坊上,当且仅当满足以下条件时,交易才有效:

1.有足够的余额支付gas。

2. nonce是正确的。

3.它具有有效的数字签名。

但是,如果开发人员可以定义一组不同的交易有效条件呢?

你不能自动执行交易

无状态和有状态的帐户抽象

在我们继续之前,有必要注意存在两种类型的帐户抽象:无状态和有状态。

无状态=不依赖于外部状态,没有副作用。

有状态=可以依赖于外部状态,可以访问链的状态。

在有状态的账户抽象实现中,定义有效性条件的智能合约可以访问链的状态。这样做的问题是,一个条件在一个实例中是真的,在另一个实例中可能不是真的。实际上,这看起来就像一个节点发送了一个当前有效但之后就会失效的交易。例如,假设你想在区块1000000处自动执行一笔交易。在区块1000000处,你可以向mempool提交一个在当时有效的用户操作。当bundler试图将它放入下一个区块时,它可能会因为区块编号增加而无效。

接收节点不得不花费资源来验证一些永远不会出现在链上的东西,而且不能把发送交易的东西列入黑名单,因为它在发送的时候是有效的。

在ERC4337中,研究人员花了很多时间来研究如何避免这种情况。为此,该规范禁止使用特定的操作码,如’ blockNumber ‘。

通过无状态帐户抽象,你永远不会冒更改有效性的风险——它是单调的。

Fuel的无状态AA的实现

我们稍后将讨论其他生态系统如何实现帐户抽象。从Fuel开始,你将看到与为现有系统构建相比,从头开始构建新系统与模块化论述之间的对比。

Fuel使用谓词实现了无状态AA。谓词只是一个可以使用UTXO的条件,是主函数返回布尔值的脚本。是该谓词下的资产被解锁,如果求值为true,则可以由调用者使用的纯函数。谓词拥有或控制UTXO。

注意:UTXO代表未花费的交易输出。对UTXO的核心基本理解是,对于每笔交易,都会花费全部余额或代币数量。你发送给你的目标收件人的金额会转给他们,其余的会被销毁,然后再次铸造,从而产生新的未花费输出。

关于Fuel谓词的关键在于,你可以内省或检查谓词的输入和输出,这允许你达成协议,从而允许你建立订单簿交易或在多方之间进行原子交换。

在交易层面,UTXO交易描述了交易的确切效果的子集。这部分效果可以在无状态帐户抽象中被设定为条件。Fuel通过UTXO模型的设计决策实现了这一点。这使得系统能够了解交易的输入和输出。在以太坊上,你只知道输入的情况。有了Fuel,你可以用输出来编写逻辑,说明如果你提供X则Y。

你可以将代币锁定在具有可编程有效性的谓词中,该谓词表示:“如果将X数量的Y资产发送到某个特定地址,则这些代币是可消费的。类似地,你可以有一些逻辑,说这个交易只有在X以一定的价格交换时才有效。这里的问题不在于你在“发送”什么。它已经被发送了。你看到的是交易的最终效果,在这种情况下,代币已经被发送。

谓词有效性

在作用域执行期间不会检查谓词。他们会在交易有效性时间被检查。谓词可以检查交易的输入是否具有特定的属性,但它并不关心这些输入是否是有效的。要使交易有效,它们必须是有效的输入,但执行这种有效性的不是谓词。

现在,作为衡量它们的一种方式,Fuel谓词受到字节数的限制。在未来,该团队将使用gas来约束谓词。这使得通常需要循环的自定义哈希和签名验证等密码学成为可能。

Fuel实施的好处

注意:如果你想继续了解AA可以做什么,请跳过本节

UTXO自省

在比特币和以太坊以及使用类似实现的协议上,你不能自省交易。这意味着你不能自省交易的支出,也不能基于输出以编程方式设置要执行的操作。

在其核心,Fuel的AA实现为开发人员和用户提供了更多的灵活性,因为这些不是在协议级别上编码的东西。Fuel的帐户抽象允许开发人员在应用层面定义自定义验证方案。

Fuel Labs团队有一个以太坊私钥的EC恢复示例。如果你想要针对不同曲线的EC Recover,开发人员可以在应用层编写一个!

EC RECOVER:当向以太坊网络发送交易时,你必须使用你的私钥签署此交易。EC Recover正将验证签名的功能转移到智能合约中,而不是只有以太坊节点才能做到这一点。有了它,你可以验证更多的东西,而不仅仅是交易签名本身。

无状态膨胀

无状态帐户抽象不会使状态膨胀(那么多),因为即使它被花费了,它也永远不会进入区块链状态,只会进入历史记录。

对于谓词,没有合约、状态或存储。谓词最初没有状态,如果有人代表谓词消费,则只能获得一个数据库条目,仅用于UTXO而不是状态树。

其他生态系统是如何进行帐户抽象的

像计算机科学中的大多数事情一样,帐户抽象可以以无数种方式实现。没有一种实现是整个行业的标准。

以太坊

EIP-2938是一个初始EIP,允许合约成为支付费用和启动交易执行的最高级别账户。其实施围绕着引入一个新的EVM操作码来发出有效性信号,以通过执行任意EVM字节码来扩展交易条件。该提案没有纳入协议,因为开发人员正忙于合并等其他变更,不能冒险进行如此大规模的协议变更。

ERC-4337是第一个不需要改变核心协议就能实现以太坊账户抽象的账户抽象提议/标准。它通过将交易验证移出协议本身,并将其移到更高的级别—具有特殊“入口点”的智能合约级别来实现这一点。

在以太坊上,EOA是以太坊上的帐户,其功能被硬编码到协议中。它定义了他们如何支付gas,如何签署交易,如何使用nonce等等。这个标准摆脱了EOA给我们带来的账户硬编码性质。

Starknet

Starknet是以太坊上的zk-rollup。Starkware为以太坊实现了EIP-4337模型的修改版本。

zkSync

zkSync是以太坊上的zk-rollup。zkSync实现了EIP-4337的修改版本。

Biconomy AA

Biconomy是一个开发人员工具平台,专注于以太坊生态系统的基础设施和工具。Biconomy实现了EIP-4337的修改版本,并提供了一些功能,比如作为SDK的一部分为用户支付gas费。

模块化设计

模块化的理念不是设计一个与另一个系统紧密耦合的系统,以允许更大的灵活性。Fuel对账户抽象的实现就是这种精神的一种体现。Fuel的帐户抽象实现提供了更高的灵活性和高度可定制的环境,开发人员可以在应用层面上定义有效性条件,而不需要依赖Fuel协议的支持。

因为Fuel不是专门为以太坊或任何其他系统构建的,所以Fuel的实现不受其他系统的拖累,有创新的空间。

zkSync、Starkware和Biconomy都实现了EIP-4337的修改版本,而Fuel实现了更独特和高性能的帐户抽象。由于Fuel将作为一个rollup部署在以太坊上,因此从某些方面来说,以太坊已经有了账户抽象。

你可以用帐户抽象做什么

你所看到的正在构建的新体验是通过帐户抽象而不是帐户抽象本身实现的功能。像为用户提供gas费赞助和Web3Auth之类的东西都是建立在帐户抽象之上的应用层事物。通过帐户抽象的核心机制:以编程方式设置tx的有效性条件的能力,这些事情本质上是可以实现的。

建立在帐户抽象之上的例子:

  • Web3auth
  • 为其他用户支付gas费
  • 自由签名验证方案
  • 检查多签名(原生多签名)

利用了Fuel账户抽象的项目:

  • Authsome-无钱包登录系统。这个钱包会被用作类似于Web3Auth的可插拔认证基础设施的基础。
  • Thunder-Fuel上的一个NFT市场,可以通过一次点击批量执行交易。
  • Poolshark-用于定向流动性的协议。Poolshark使用Fuel的账户抽象与汇集流动性来匹配条件订单,以提高可及性并减少高级交易者的费用。

用户体验改进

  • 钱包的社交恢复
  • 批量交易
  • 应用程序可以为用户交易的gas付费
  • 使用来自不同生态系统(或相同的,使用不同签名方案)的钱包
  • 无钱包web3登录
  • 用户不需要在“常规”钱包中使用ETH来发起交易
  • 能够把100%的资金放在一个multisig并直接从那里发起交易

解锁新应用

事实是我们还不完全知道哪些新类型的应用程序可以被解锁(目前),但我们可以开始对现有应用程序的用户体验进行大规模改进,这是一个很好的开始。

几年前,区块链的用户体验问题是,世界上大多数人在财务上完全无法接触到它们。随着第2层的不断发展和扩散,我们到达了一个新的领域:用户体验。

突然之间,我们可以将费用降低到足够低,使区块链可用,但应用程序的UX需要更加令人愉快和强大。在下一个周期中,我预计更多的团队将专注于支持帐户抽象的UX改进和流程。这将是为web3的托管属性带来类似web2的体验所需的另一个工具。

评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

    行情显示,ETH跌破2500美元,现报2499.87美元,24小时跌幅达到2.55%,行情波动较大,请做好风险控制。

  • ETH突破2500美元

    行情显示,ETH突破2500美元,现报2500.13美元,24小时跌幅达到2.21%,行情波动较大,请做好风险控制。