Odaily星球日报@Eth2.0革新Eth1.0之路:货币政策、无状态与账户抽象等( 三 )


帐户抽象当前以太坊协议中有两种类型的账户:外部账户(用户)和合约账户 。 只有外部帐户才可以发起交易 , 并且仅允许账户的所有人修改其帐户状态 。 当前 , 存在元交易 , 但是这些交易依赖于中继网络来支付gas , 例如GSN 。
Eth2.0试图将这两种账户类型抽象为1种 , 从而使用户账户和合约账户在网络中无法区分 。 当然智能合约依然存在 , 但这将为以太坊充当元交易的中继者本身打开了大门 。 自己签名交易并进行广播将不再是与网络互动的唯一方法 。
你还可以像智能合约一样操作普通帐户 , 例如 , 将主帐户中收到的ETH直接发送到冷钱包中 , 或者甚至发送任意ETH到你的帐户中 , 该账户会自动卖出ETH来购买DAI 。
将功能内置到帐户中为DApp设计打开了更多的空间!用户管理帐户的处理将不再像以太坊中当前所定义的一组明确的操作 。
帐户抽象的有趣可能性在于智能合约将能够支付自己的gas费用 , 或者成为发送交易的原始地址 。 这是一个仍需努力解决的复杂问题 , 但是在这种变化之后将产生新的创造可能!
执行环境对于以太坊开发者来说 , 他们主要使用的语言是Solidity或Vyper , 它们各有特色 , 但都可以很好地满足开发生态系统的需求 。 当前 , 这些语言被编译为以太坊虚拟机(EVM)可以理解的更通用的底层操作 。 如果你想更深入地了解EVM , 可以参考这里 。 但不是必需 。
EVM使用操作代码(OPCODE)来帮助以太坊节点生成相同的计算结果 , 与运行操作代码的计算机是无关(因此称为「虚拟机」) 。 它还定制复杂的操作(如验证签名或查询帐户余额) , 仅一行代码即可完成 。 如果没有EVM , 正常读取和修改状态的功能是无法实现的 。
尽管EVM为整个智能合约生态系统(甚至在其他链上)奠定了坚实的基础 , 但如果以太坊上的应用程序都能够使用所需的任意运行环境 , 那就更好了 。 区块链不应将自己的状态转换规则(例如EVM)强加给其他人 , 执行过程应该更加开放 。 这就是执行环境(EE)的用武之地 。
执行环境(EE)允许直接在协议中内置任何类型的状态转换(使用WASM) , 这使我们可以从系统的其余部分完全抽象出处理交易的方式 。 有专门为处理ZKRollup或私人交易而设计的EE , 也可能有针对UTXO(未花费交易输出)建模交易的EE(就像BTC) 。 甚至可能存在某个专门针对代币的EE , 这可以用于所有的代币 , 这样就不必为每种现有代币上传相同的代码 。 当然 , 现有的EVM将被复制到称为eWASM的某个EE中 , 以保持对当前生态系统的兼容 。
Eth1.0上的每个DApp都需要在考虑EVM的情况下进行设计 , 以太坊状态转换功能(EVM)的所有限制都使整个系统成为瓶颈 。 有了EE , 将不再存在这个瓶颈 , 允许构建可以充分利用开放式协议的全新的DApp类型 。