当前位置:首页 区块链 正文

账户体系在EIP提案中的重要性

2022-11-18

帐号为何如此重要?因为Web2的使用者在使用Web3的时候,首先要做的就是保存自己的密码和密码,其次就是不知道自己的密码会不会遗失,不知道会不会被人偷走,就连链桥都会被盗取,这也是为什么以太坊想要突破一千万人的原因。

而要深入了解以太坊和区块链的底层架构,就必须要对帐户抽象这个概念有绝对的了解,而这七年来,帐户抽象的迭代之路将会是一条长达一万多字的报告。

EIP方案根据模板链的优化,分为三条主要途径:改造链上交易类型、改造链上主体对象、改造上链交易包装流程。

1、背景

最近,以太坊的创建者 V神更新了 ETH的发展方向,在第六个阶段, Splurge的目标是:修补所有的东西。

EVM中有许多地方要做优化,例如 VDF可以使一个链产生真正的随机数,而这一次,最关键的是,EIP-4337作为帐户抽象的核心方案。

最重要的是,可以直接通过社交网站恢复钱包,项目方可以帮用户支付 Gas费用,支持 USDT。正是这些特性帮助以太坊突破了数千万用户的瓶颈,否则以太坊根本不可能突破用户的使用习惯。

1.1、目前的帐号系统为何成为一千万用户的“瓶颈”?

现在,以太坊的帐号分为 EOA和合同帐户。理论上,外部帐户的所有权和签名权利属于同一个人。

也就是说,拥有私人钥匙的人,不仅拥有账号的所有权,而且还可以“签字转让”所有的财产。

目前,以太坊的所有权和签名都是一个整体,这种外部帐户的设计可以衍生出许多值得商榷的问题:

私人金钥难以保护:使用者丢失私人金钥(丢失,黑客)就是损失全部财产。

签名算法较少:只有 ECDSA签名和验签算法才能用于确认事务。

高签署权:不存在多个签章(多个签章只能由智能契约来完成),单个签章可以进行任何操作。

交易费用仅限于 ETH,不支持大量交易。

交易隐私权泄漏:一对一交易易于分析帐户持有人的个人资料。

其次,契约钱包的问题也很多:

EOA必须启动对合同钱包的操作(本质上是调用合同),并且每次交易都要花费21000 Gas。(目前 ECDSA认证的方法是固定的,必须具备 ECDSA签名、 Nonce和帐户结余,才能进行交易)。

EOA必须有足够的 ETH来支付 Gas (两个帐户),也可以依赖 Relayer (Gas)来支付(中间)。

上诉限制使得一般用户难以使用以太坊:

首先,在以太坊中,使用者必须拥有以太(且冒着以太价格波动的风险)。

其次,用户要应付复杂的收费逻辑,如 Gas price、 Gas limit、事务阻塞等,这些都太复杂了。

最后,尽管很多区块链钱包和应用程序都尝试着通过优化产品来改善用户的使用体验,但是他们的实际作用并不大。

解决这个问题的方法是将帐户的抽象化,将所有权和签名分离(Decoupling)分开,这样就可以解决这个问题了,那么如何解决这个问题,以及如何解决这个问题,就让我们一起来看看这七年的 AA历史。

1.2、抽象帐户的历史轨迹

根据目标和联系,总体上可以分为三个方面

(EIP-101,EIP-86,EIP-859,EIP-2718)

EIP-2938,EIP-3074,EIP-3607,EIP-5003)

改良的上链贸易包装流程(EIP-4337,EIP-5189)

回顾实现这种目的的过程

以太坊一开始就加入了EIP-86,EIP-101,EIP-859等不同的新业务,以区别对外帐号与合同帐号,但他们发现这些变化非常巨大,其复杂程度丝毫不逊色于将统一算法的合并。一旦以太坊改变了交易类型,那么基础的签名检查算法也会相应地被修改,这取决于矿工们是否愿意使用新的加密方式来帮他们上链,并且必须保证他们的收入不能比正常的交易低(如果他们不愿意进行验证),还要考虑到账户地址管理、冲突、向后兼容等问题。

七年的时间里,有许多的知识和思想没有被抛弃,而是被继承和发展。

EIP-86/208:合同地址必须区别于外部帐号,因此合同地址必须能定制,并具有防碰撞的能力,因此EIP-1014和EIP-2470也是如此。

EIP-859:第一次,在没有合同地址的情况下,第一次在交易中使用了初始化代码,这是EIP-4337的基本功能。

EIP-2718:使将来的以太坊能够与任何新的交易类型相兼容,而不需要考虑到过去的兼容性。

透过EIP-2938:清楚地归纳出合约帐户的各种优点,如社交恢复、密钥轮换、自定义验证算法、元交易等等。

最后的一致意见主要有两条:

使现有的外部帐户具备智能合同的能力(EIP-3074)。

使现有的智能合同具备外部帐户功能(EIP-4337).

而现在,EIP-4337的加入也表明了以太坊在这两条道路上的选择。

1.3、抽象帐户的基本目标

从Web2到Web3的用户很难接受这种高风险的密钥管理方式,因此他们理所当然地把以太坊账号的抽象化作为一种尝试,目的就是要消除私有密钥。虽然每个人都有自己的权限和义务,但在使用智能合同的时候,也有一种妥协的方式。

而要做到这一点,首先要解决的就是当前账号的过度集中,也就是要将所有者和签名的分离。

2、新一代账户的最好形式是什么?

这里面的空间有多大?可以用数字来表达:

外部帐户帐户数目:扣除以太坊交易中的 from位址后,大约是一亿五千万。

SCW/A帐号:通过前两款产品 Gnosis Safe和 Argent的总数据总计为150,000。

本人相信接下来使用者会接触到的帐号形式是两个阶段,分别是链下金钥管理和连结帐号。

在链下密钥管理方面,采用了最优的 MPC+ TSS (TSS)技术,其中2/2和2/2都是兼容符合监管需求和便捷使用使用需求的参数方案。

在2/2模式中,项目组拥有1,使用者拥有1,即使双方不同意,也不会损失资金,这是一种非常适合于将来需要监控的场景(比如,团队金库的私钥管理)。

在2/3模式中,项目组拥有1个,用户拥有2个,用户可以在两个终端上各自管理一个子密钥,由一个人负责,一个人负责一个人,另一个人可以通过一个人的身份和一个人的身份来处理,这样,就算一个人离开了,他也可以自己去处理。

在主控端,可以使用可升级的智能合约,这个时候,会有很多功能。

定制的签名算法:多签、多签、多签、门限等。

多个交易打包:矿工可以通过签署来聚集多个交易的数据,只要保证它们都能顺利地完成。这样做的结果是,当交易量达到一定程度时, Gas的平均消耗量就会降低。

社交恢复密码:如果有一天,一个人的微信号被盗号了,就算所有的资金都被转移了,他的朋友名单和聊天记录都可以恢复,因为 SBT的灵魂代币是不会遗失的。

可升级和分散化:合同自身可以设计升级,可以更改所有权,并且在链子上的帐户主体也是无人管理和完全分散的。

元交易和多货币付款:用户可以通过其它 Token在合同钱包中的转账来支付矿工 Gas,这样就不需要先为自己的代币充值。

防 DoS和量子攻击:防止矿工的恶意干扰和钥匙爆炸。

针对套利者的优势:在实施了帐户提取后,可以在帐户授权验证阶段进行价格判定,因此,套利者不必为失败的套利交易支付费用,也不会产生失效的套利交易,从而有效地提升了链的扩展性。

然而, AA在EIP-4337上的应用,存在着很多的风险。

因此,在对节点进行验证时,将会增加大量不必要的运算负担,从而提高对 DoS攻击的抵抗能力。

由于合同安排, Gas的消费要高于 EOA账户的直接签署,并且使用了 NFT聚合的降低原则。