织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

深入解析以太坊账户抽象发展、挑战与应用前景(5)

时间:2021-01-11 11:18来源:未知 作者:admin 点击:
减少 链上 无效套利交易,提高可扩展性。 现阶段,在链上发现套利机会时,可能存在多个套利者同时发起套利交易,而首笔成功的套利事务会让其余事务
  • 减少链上无效套利交易,提高可扩展性。
    • 现阶段,在链上发现套利机会时,可能存在多个套利者同时发起套利交易,而首笔成功的套利事务会让其余事务的套利行为失效,但这些事务仍然会被打包在以太坊中(如果 gasprice 足够,且没有使用相同 nonce 替换该事务),这导致以太坊上存在大量的「垃圾」事务。而实现账户抽象之后,由于可以在账户权限验证阶段进行价格判断,那么套利者无需为失败的套利行为付费,链上也不会包含失败的套利事务,可以有效提高链的可扩展性。
  • 账户抽象的代价

    • 加大内存池验证事务有效性的开销
      • 在现阶段,节点收到一笔事务时,很容易判断其有效性,并将其载入内存池。节点只需要判断三件事:签名的有效性、nonce 的合理性(账户当前 nonce 加 1 或合理的数值)、账户的余额,如果其中任意一条不满足,节点可以选择丢弃该事务。非法事务并不会支付手续费,节点是免费「验证」,由于验证 ECDSA 的签名非常简单,开销极低,目前网络的安全性不会受到挑战。
      • 当引入账户抽象后,判断一笔事务的有效性的难度大了很多,节点需要为无效事务的验证花费更多计算资源,而不能从中收取任何费用。有关 DOS 攻击,参见 [8]
    • 加大内存池确保事务有效性的开销
      • 现阶段,一旦节点验证某笔事务的有效性,除非该账户使用相同 nonce 发送新的事务并被打包,否则这笔载入内存池的事务将永远有效,直到被打包进某个区块(也可能因为 gasprice 太低而一直没有打包)。而账户抽象之后,判断事务的有效性的难度提高了,内存池中的多笔事务在被打包前可以同时有效,但由于其有效性可能依赖全局状态,存在其中某一笔事务执行后剩余事务全部失效的可能性。因此,需要建立新的内存池规则,以避免这种情况的出现。
    • 引入新的事务类型、计费方式、挖矿和广播策略
      • 首先,引入了新的事务类型。在 EIP-86/208 的讨论过程中,一度有一种倾向是「消灭」EOA 账户,或者说把 EOA 账户包裹在一个智能合约账户内,这样链上的基本账户类型和事务类型都只有一种。而在本提案中,EOA 账户得以保留,即存在两种类型的账户——EOA 和 AA,也有两种事务类型。同时,AA 事务调用其它合约时必须加上前缀,以防止 EOA 账户发起对 AA 账户状态的修改,影响事务有效性的判断,这可能会带来兼容性的问题。
      • 其次,计费方式发生了变化。现阶段,矿工无需关心事务的内容,只需要确认事务的发起方的 ETH 余额大于 gaslimit*gasprice,就可以保证收到手续费。而在账户抽象之后,如何保证矿工可以收到手续费呢?本提案将一笔事务分拆成两个部分——验证阶段和执行阶段,用一个新的操作符 PAYGAS 间隔。在验证阶段,完成对账户权限的验证,在此阶段不允许调用外部数据或操作账户余额。与现阶段的方法一致,验证通过则支付手续费并开始执行事务,即使事务在执行阶段回滚,也仍然会被包含在区块中且支付费用,但验证不通过则丢弃该非法事务。 (责任编辑:admin)
    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容