解读帐户抽象:以更灵活、无缝的方式与以太坊交互的一文

'解读帐户抽象:与以太坊无缝交互的方式'

实现智能合约与以太坊的交互方式

区块链技术的出现为实现去中心化的应用提供了新的思路和可能性。其中,以太坊作为一种重要的区块链平台,为智能合约的开发和运行提供了强大的支持,使得区块链应用的开发更加便捷和灵活。然而,在以太坊中,智能合约目前并不能直接与以太坊网络进行交互,这可能限制了一些应用场景的发展。针对这个问题,有三种解决方案被提出,并在以太坊改进提案(EIP)中得到了详细的描述和解释。

升级 EOAS 进行控制

要想实现智能合约与以太坊的交互,一种方法是升级 EOAS (EOAS,即唯一授权状态命名账户)系统,使其能够通过智能合约进行控制。这种方式在技术上是可行的,但也需要对以太坊底层协议进行改动,这可能会导致各种风险和后果。因此,这种方式并不被广泛采用。

升级智能合约进行交易

另一种方法是升级智能合约,使其能够发起交易。这种方式需要对智能合约进行修改,以使其具备发起交易的功能。同样地,这种方式需要对以太坊网络进行改动,不同于升级 EOAS 的方法,这种方式会更多地依赖智能合约开发者和用户的支持和适应,而且也会引入风险和复杂性。

添加独立的交易系统

为了解决智能合约与以太坊网络交互的问题,采取了第三种解决方案,即添加一个与现有协议并行运行的独立交易系统。这种方法的核心是引入了一个名为 UserOperation 的新对象,用于打包属于用户的操作和相关签名。这些 UserOperation 对象将被广播到一个专用的 Mempool 中,验证者可以将它们收集到一个捆绑事务中,这个捆绑事务可以包括一连串的 UserOperations,并且可以被包含在一个区块中。在实际使用中,这种方式通过一个全局钱包合约作为入口点来实现这些功能,并避免了每个钱包重新实现常见但复杂的安全逻辑。入口点负责支付燃气费并执行 EVM 代码,从而实现了智能合约与以太坊交互的目的。

以上是三种实现智能合约与以太坊交互的方法,每种方法都有其自身的优势和限制。前两种方法需要对以太坊底层协议进行改动,这可能会带来一些风险和不确定性。而第三种方法则不改变底层协议,通过引入独立的交易系统来实现智能合约与以太坊网络的交互,提供了更加灵活和便捷的方式。

EIP-4337: 通过独立交易系统实现 AA

在这三种方法中,EIP-4337 是基于添加独立交易系统的解决方案。这个方案不需要改变以太坊的共识层,而是引入一个新的层与标准流言协议并行运行。这个新的层被围绕一个名为 UserOperation 的对象构建,负责打包用户的操作和相关签名。用户操作将被广播到一个专用的 Mempool 中,验证者可以将其收集到一个捆绑事务中。在实践中,这个机制可以通过一个名为入口点的全局钱包合约来实现,而不是每个钱包都需要重新实现繁琐而复杂的安全逻辑。入口点负责支付燃气费并执行 EVM 代码,从而实现了智能合约与以太坊的交互。

EIP-2938: 修改以太坊协议以支持 AA

EIP-2938 是基于修改以太坊协议的解决方案,以支持 AA。这种解决方案需要对以太坊进行修改,允许一个合约成为顶层账户,以支付费用和启动交易执行。然而,目前这个解决方案尚未上线,具体的实现和细节还需要进一步的研究和探索。

总的来说,实现智能合约与以太坊交互的方式有多种选择,每种方式都有其自身的优势和限制。通过升级 EOAS 或智能合约,以太坊可以支持智能合约与以太坊网络的交互,但这需要对以太坊底层协议进行改动,并可能引入一些风险和不确定性。而通过添加独立交易系统的方式,则能够在不改变底层协议的情况下实现智能合约与以太坊的交互,提供了更加灵活和便捷的选择。这些解决方案的提出为智能合约的发展和应用带来了更多可能性,也推动了区块链技术的进一步发展和创新。

参考:Twitter链接