糟糕的用户体验是当今广泛采用加密货币的主要障碍之一。一般主流用户不考虑去中心化或潜在光明的未来
这就是现代 web3 的不足之处。对于许多人来说,进入智能合约世界、理解区块链概念,甚至设置加密钱包似乎都太复杂了。更不用说,例如,您很容易丢失助记词,您的资金将永远消失。
然而,以太坊于 2023 年 3 月 1 日部署的最新 EIP-4337 实施通过称为账户抽象的解决方案解决了用户体验问题。但它是什么?真的要改变整个吗
首先,让我们谈谈一些基础知识,这将有助于我们进一步理解帐户抽象背后的概念。
以太坊生态系统中有两种类型的账户:
这些帐户由个人控制,其中没有任何复杂的代码。这样的账户有一对密钥——私有密钥和公共密钥——它们是确认和执行交易所必需的。
外部拥有账户的一个明显例子是 MetaMask 钱包。
合约账户
这些账户基本上是由代码控制的智能合约。合约账户不需要用户手动执行交易,也没有私钥。
因此,合约账户与外部账户的主要区别在于,前者由代码管理,而后者由用户决定。理解这一点很重要。智能合约账户可以执行任何编程到其中的逻辑(程序员想要的任何东西),而 EOA 只是在区块链上签署交易。
直到最近,用户与网络交互并执行特定操作(如在钱包之间交易资金或购买)的唯一方式
对于区块链开发人员或已经进入该领域一段时间的人来说,使用 EOA 是一个熟悉的过程。
然而,对于新手和老一辈人来说,这是火箭科学。
从设置钱包、生成并记住私钥,到购买资金、每次转币都要支付 gas 费,再到不弄乱地址——对于习惯了现代便利的人来说,这一切都太复杂了银行服务,让您只需单击一个按钮即可汇款。
它并没有就此结束。
当您使用 EOA 时,您需要格外小心您的私钥和助记词。失去它们可能是致命的,因为您将无法再使用您的资金。如果您的私钥被盗,黑客将可以完全访问您的所有数字货币。
在传统的银行系统中,即使您丢失了卡,银行也可以随时冻结它并为您发送一张新卡。
难怪只有一小部分用户愿意冒险。即使对于了解所有可能的风险并知道如何保护自己的精明用户,使用 EOA 仍然会带来一定的心理紧张。
为了使区块链技术更易于访问和用户友好,以太坊开发人员提出了账户抽象的概念。这是让用户通过智能合约而不是 EOA 与网络交互的想法。
但为什么呢?好吧,智能合约钱包可以比 EOA 更通用,因为它能够包含不同的规则和设置。这为合约账户提供了更广泛的功能。
例如,账户抽象和合约账户将让一个用户拥有不同的私钥(用于一个钱包),这些私钥将分布在一组受信任的个人和设备中。如果用户无法访问他的主密钥,他可以求助于这些人并恢复对他的资金的访问。
这只是帐户抽象可以改善用户体验的一种方式。
根据 EIP-4337 的合著者 Yoav Weiss 和 Vitalik Buterin 的说法:
“帐户抽象是吸引下一个十亿用户的一种方式。”
帐户抽象是通过
然而,实际上,这两个缩写是不同的——Ethereum Improvement Proposal (EIP) 必须首先被链上治理系统接受,然后才能成为 Ethereum Request for Comment (ERC)。
另外,ERC只是EIP的一个组成部分,主要讨论协议和开发指南。
在 2021 年 9 月提出的 EIP-4337 之前,还有一系列与 ETH 上的账户抽象相关的其他EIP :
2016 年的 EIP-86——该提案的核心是赋予智能合约启动和授权交易的能力。
2020 年的 EIP-2938——该提案旨在创建一种新的交易类型。
2020 年的 EIP-3074——该提案的重点是通过使用新的操作码(智能合约构建块)更有效地交付自动执行的智能合约。
这些提议都没有因为一个简单的原因而实施——它们都需要改变底层的以太坊网络基础设施,而这在没有达成共识的情况下是不可能发生的。
EIP-4337 的不同之处在于它不需要任何协议更改。相反,它建议在现有基础设施之上构建更高级别的基础设施。
事实上,ERC-4337 已于 2023 年 3 月 1 日实施,开发人员已经可以使用新逻辑构建应用程序。
整个过程如下所示:
一个智能钱包触发一个“ UserOperation ”,一个伪交易对象,然后被添加到特殊的内存池中。这个内存池本质上是一个交易队列(尽管它不同于以太坊的常规内存池)。
然后,捆绑器,新的去中心化运营商,就像矿工或验证者一样。他们从内存池中检索 UserOperations,将多个用户操作打包到称为“捆绑交易”的单个交易中,然后,捆绑器将“捆绑”发送到称为“ EntryPoint *.*”的全球智能合约
在下一阶段,另一个名为“ handleOps ”的函数接收包并通过“ validateUserOp ”将信息发送到验证并执行操作。
捆绑商将支付与操作相关的交易费用(gas),或者将通过用户的合约账户或被称为“paymaster”的第三方(可以是去中心化应用程序或钱包)获得补偿。
快速事实:
帐户抽象化为任何级别的用户带来许多优势:
在创新用户体验方面,以太坊账户抽象将为智能合约、钱包和应用程序的开发人员提供更多自由,因为他们将能够通过代码设置账户规则。这将使入职更容易,整体服务水平和便利性可与传统银行相媲美。
新的账户逻辑将使运行在 ETH 上的应用程序更加
多重签名授权——您可以与多个受信任的个人或设备共享授权凭据。开发人员还可以这样配置合约,即特定价值的交易在执行之前需要一定比例(例如,3/5)的受信任方的授权。
账户冻结——如果设备丢失或受损,您的账户可以免受任何其他授权设备的影响,以确保您的资金安全。
帐户恢复——使用 EOA,丢失设备或忘记助记词可能会让您无限期地无法使用您的资产。幸运的是,使用智能合约钱包,您可以建立可信任的账户,允许新设备和重置访问。
交易限制——对一天、一周或一个月内可以从您的账户转移的价值数量设置每日限制,确保如果黑客获得访问权限,他们将无法快速清除所有内容。
白名单——为了确保您资金的最大安全性,您只能向您知道安全的地址发起交易。如果有恶意的人要获取您的私钥,他们将无法将资金转移到未列入白名单的目的地。即便如此,此类更改也只有在多个签名对其进行验证后才会发生——这意味着如果攻击者希望将他们的地址包含在此列表中,则它还必须首先获得您的几个备份密钥。
账户抽象也改善了气体管理。应用程序不仅可以支付用户的汽油费,还可以让第三方使用 ETH 以外的代币支付此类费用。这样,用户无需维持 ETH 余额来为他们的交易提供资金——智能合约将自动将用户代币与 ETH 交换。
许多应用程序,尤其是游戏,可以从可信会话的实施中受益,因为有大量的小交易需要在短时间内进行验证。手动批准每笔交易会干扰游戏体验;但是,给予永久批准是不安全的。智能合约钱包可以提供一种替代解决方案,允许某些交易在预定时间、达到一定价值或仅针对特定地址获得批准。
如今,每笔交易都需要证明您的钱包中当前已加载正确的代币。但是使用账户抽象技术,就像在线购物一样——你填满一个“篮子”,点击购买,所有必要的逻辑都由合约处理,而不是由消费者手动输入。
使用合约账户,您可以进行由记账方发起的“拉取”付款。例如,一家电力公司可以建立一个程序化的支付合同并规定其规则,例如每月收取的费用或一天开始付款的频率。用户通过他们的合约账户批准这些预定义的拉式付款后,可以在发薪日到来后很快进行自动账单还款。
区块链现在已在各种支付应用程序中变得非常有用。
通过利用合约账户,开发人员可以从现有 EOA 的限制中解放出来,可以将 web2 的优势元素带到 web3,而不会失去他们所追求的去中心化。在这里,我们刚刚谈到了几个示例,说明如何通过帐户抽象优化用户体验,但是尚未出现的富有想象力的新想法有着无限的潜力!