Unipass创始人知县:为什么AA钱包在Web3钱包中是更新的范式

知县热度: 28290

而智能钱包是当前实现以太坊账户抽象最有前途的方法,不需要从共识层、底层改进,ERC-4337可以让应用层做账户抽象这个事情。

原文作者: 知县

原文来源:SevenUp DAO

10月27日,7upDAO开发者公会做了一场关于《探索Web3钱包的终局形态》的分享。

受邀嘉宾为知县,UniPass创始人,以下为演讲内容精选:

一、Original Sin 原罪:回顾MetaMask Devcon主旨演讲

MetaMask虽然产品受到了广泛的关注,但是一直饱受产品更新迭代慢、用户体验差的诟病,不过开发者团队对产品迭代的理解深度比普通用户是要强很多的,基于庞大的用户量MetaMask产品形态其实对现在的web3应用生态有一定的塑造作用,因此这就回到了“原罪”的主题,我们(MetaMask)做钱包的方向到底是不是对的?我们未来需要作出哪些改变?

MetaMask开发团队认为当前钱包赛道仍有较大的可提升空间,一方面较高的使用、安装门槛阻拦了web2尝鲜加密的新用户,另一方面就是安全问题,即使是插件钱包也不能完全阻碍黑客钻空子的可能性。

另外,Web2用户很难理解web3的产品,例如私钥的安全保管是个老生常谈的话题,不过用户对此敏感度依旧不是那么高,只有在私钥真正遗失后才追悔莫及,私钥意味着web3的入口,代表着web3世界所有权的证明。

因此,Web3产品新的范式应该是怎么样的?Web2用户不理解产品的情况下,也能顺利进入web3,如果用户真正理解产品后才开始使用,这会极大增加用户的学习成本,MetaMask给出了他们自己的思考,当前的web3产品很少能做到这几点。

  • 能证明这就是我的
  • 它不能被黑客入侵或盗窃
  • 我可以完全控制、撤销、恢复账户
  • 产品在我完全知情的情况下做交互
  • 我可以自由选择和外界交互的方式

并且做钱包赛道最重要的一定是诚实,方案的优缺点一定能够让用户明晰,掩耳盗铃是对产品和用户的不负责,因此也就引入了今天的正题,账户抽象和智能钱包。

MetaMask提出了三个非常重要的账户抽象提案:ERC-4337,“为钱包的设计打开创意之门”,比如“多签和社交恢复”; EIP-3074,可以把EOA的权限委托给一个合约,允许用户在一次交易中批准转账、执行操作和撤销批准,相当于从EOA地址变成智能合约地址;EIP-5003,相当于3074的群体版本。

二、什么是智能钱包

1. 概念

智能钱包本质上就是采用智能合约做钱包,智能合约钱包 (Smart Contract Wallet)是当前以太坊支持的两种钱包形态之一,而另一种是大众所常用的EOA(外部拥有地址)钱包,EOA 钱包是由私钥控制的区块链上的地址,即通过私钥,用户可以从所述地址签发交易,但是用户不能授权另一个密钥来为给定地址签名,也不能在其上编写自定义逻辑;相对的,智能钱包通过对代码的编写,可以实现任意逻辑。之前我画过一个加密货币钱包的分层图,最底层是密钥层,中间层是provider,最上层是wallet,密钥最主要的作用就是管理公钥私钥,密钥的导入和导出以及签名的生成,这些本质上都和链没有关系,说到底是数学的运算;中间层provider就跟是在哪条主链有关系,根据主链的格式生成地址;最上层主要对应资产的浏览、代币的收集和分发,所以说一个钱包基本上都可以拆成三层。

Ca钱包一开始翻译过来就叫做内部钱包,更多的是为了和EOA外部钱包做对应,EOA地址是没有办法承载任何资产的,凸现的是记账功能,资产实际上都是在Ca账户里面的,CA 中文叫做合约账户,我们常见的 ERC-20 代币合约、DeFi 业务合约等都有一个跟 EOA 长得很像的地址,这就是 CA。

2. 用合约做钱包有什么好处呢?

Ca可以用作智能钱包资产的管理,例如gnosis safe多签钱包其实也是智能钱包,但多签不是它的本质,而是用智能钱包的逻辑做多签。合约做钱包也是有很多优势的,其内部的逻辑是可以自定义、特别灵活,能实现传统钱包不能实现的功能。例如我们一讲到合约钱包,大家第一反应是它的私钥是在哪儿的?其实这是EOA钱包的逻辑,私钥和公钥一一对应,这样的描述在EOA钱包里面是没有问题的,但是就像gnosis safe多签钱包,它实际上是通过一种“逻辑”实现的,比如3/5的多签钱包,权限的控制取决于五个地址中能不能得到三个以上的授权,因此合约钱包资产管理不是由私钥控制的,最主要的是逻辑执行,CA 也可以不设定任何密钥,而是由其他 CA 的逻辑决定是否可以解锁,比如 DeFi 的借贷合约,只要还了钱就能取回质押的资产。当然并不是说仅依靠逻辑就不需要公钥,只是说这样多了一层安全保障和操作逻辑。

三、什么是账户抽象(AA-Account Abstr­act)?

1. 概念

账户抽象概念就是,改变目前大多数人都在使用 EOA 的现状,希望用户转向 SCW(Ca作为地址的钱包解决方案,智能钱包),并且把生态对 EOA 的依赖完全去除。当前很多链其实内置就有比较完善的账户抽象功能的,公钥集合、权限控制、合约逻辑等,其实从eos开始各种公链就有一定的账户抽象能力了,eos的地址其实是一个字符串,它已经不是一个公钥了,有明显的内部结构,两个公钥,一个有高级权限属于owner,另一个用于执行。而以太坊实际上是没有账户抽象这个概念的,最早可以追溯到 2015 年的一些讨论,当时 Vitalik 认为至少要让以太坊用来验证交易的密码学算法做到可替换,以及后面的第三方支付gas、签名等等,但是以太坊基于历史原因很难进行“现代化改造”,很多东西都写死、固定住了,因此如果以太坊生态想要拓展账户抽象只能借助智能钱包、在应用层做弥补。

账户抽象在做的事情就是把账户层和密钥层抽象出来,用户可以自定义里面的逻辑,例如现实中机械锁(只能物理钥匙解锁)和电子锁(集成指纹、密码、面部特征等),抽象之后能带来多维的可拓展性。而智能钱包是当前实现以太坊账户抽象最有前途的方法,不需要从共识层、底层改进,ERC-4337可以让应用层做账户抽象这个事情。

2. 智能钱包能带来什么样的改变?

智能钱包和智能手机有很多的类比之处,智能手机因为集成了更多先进的能力,例如电容屏、陀螺仪、多点触控、gps等等,这些能力的升级为上层应用的搭建带来了很大的想象空间,极大增强了用户体验,同时也会降低用户的进入门槛,让老年人、年轻人、儿童都能上手智能手机,因为智能手机的诞生让更多的用户进入了移动互联网;同时智能手机有很大的可拓展性,不局限于通信设备,更多的场景是听歌、视频、导航、游戏等等,可拓展性带来了范式转移,用户也习惯了这种认知转移,“默认”我们会拿智能手机做这些理所应当的场景。

智能钱包和EOA钱包的对比,通过智能手机总结下来的四点优势依旧适用,第一个就是更强的功能性,比如签名的内部逻辑、gas费用的代付、批量交易等都可以通过智能钱包实现,这些其实是配合现有的场景方便大家理解,EOA钱包是不支持批量交易的,同一笔交易只能干一件事情,但是智能钱包它可以做批量交易,它可以approve and swap一笔完成,所以每次你需要花多少钱你就approve多少钱,同时也保证了安全性。第二点就是更好用,让用户的门槛降得很低,备份密钥这件事情可以使用社交恢复给替代,这都是能够带来的新的变革,包括gas支付也是如此,不用自己去专门去买各个链的,而是使用第三方的服务,这样就能让没有能力理解钱包、没有能力管理私钥、甚至是不想入金的一些人,能够通过智能钱包进入web3。第三就是更大的可扩展性,可以安装类似于装插件的操作,让功能变多,例如nft的交易需要授权approve,如果不经过approve双方实际上是没有办法交易的,中间存在信任博弈的难题,但是可以通过第三方合约的方式,将nft打入合约账户并设定取出的逻辑,例如受到付款等等,然后就能完成交易,不需要第三方信任,智能钱包本质上就是个合约,因此本身是可扩展的。第四点就是范式转移,如同智能手机用户,以前默认状态是“断网”,当前默认的状态是“联网”,有了智能钱包之后,EOA之前的很多传统观念会被覆盖,例如私钥公钥对应,需要付gas,或者是需要不断approve,这些场景都可以被打破,大家会慢慢习惯一些新的情况并默认。

这里举几个例子来展示一下智能合约钱包的扩展潜力:

  • Gnosis safe 利用智能合约钱包架构实现多签逻辑;
  • 用户可以在一笔上链交易中同时给多个地址发送不同的 token,也可以在用 uniswap 时让 approve 和 swap 在一笔交易里完成,从而做到需要多少授权多少,避免因为过度授权造成安全隐患。
  • 用户可以给不同资产设定不同的操作权限,比如给 PFP 设定比普通 ERC--20 token 更高的操作门槛(例如需要一把由硬件钱包管理的 admin key 才能转移),这样即便日常使用的环境发生密钥泄露,黑客也无法将高价值资产转走,在安全和便利中间取得平衡。
  • 用户可以签署一个离线授权「谁能给我 100 ETH,就可以转走我的某个 BAYC」,这样不需要授权给第三方合约,用户就可以跟其他人 P2P 地完成原子交易。

四、Uni-pass:无痕、无gas、非托管、支持社交恢复的智能钱包

1. 基于电子邮件的社交恢复

我们发邮件的时候,类似于中世纪送信需要用蜡质封印,需要证明信息的真实性,电子邮件为例,发件服务器会进行签名,比如G-mail是google会在它的域名里面公布D K M公钥,用这个公钥的私钥给每一份邮件都签名,收件方接着验证google的D K M签名和哈希,都能通过收信。Uni-pass的社交恢复流程一样的,只是在合约里面验一封邮件D K M的签名、哈希能否通过,这样能证明邮件的真实性,也能在合约里面换key,加权重或则额外的逻辑也是可以的。这也是为什么账号的社交恢复可以在uni-pass里面去做。我们是通过发邮件的方式验证用户是主动授权的,单单接受验证码意义不大,本质上是一个中心化的服务器发送的,发邮件和收邮件意味着用户授予服务器不同的权限,能更大限度保证安全性。

2. 同MetaMask合作,降低用户门槛

我们当前对接的客户非常广泛,包括nft平台、游戏公司、社交平台或者是想要通过FT做一定激励的组织,都可以通过我们的智能钱包提升用户体验提高转化率,同时降低成本。

说回MetaMask,他们当前并没有躺平,而是将自己向着生态画的目标去努力,类似于小程序一个集大成的插件,对于用户来说不需要安装那么多的钱包和插件就能集成想要的功能,而这些snap不能依赖与官方开发,只能通过生态开发者一同搭建,MetaMask提供流量、开发者提供技术,共赢的状态。其实uni-pass也是这个思路,账户抽象的概念他们不会自己做,我们已经和MetaMask开展合作,当前已经交付了第二版的Demo。其实这也不冲突,我们做合约层,他们做EOA层,合约钱包和EOA钱包不是竞争更倾向于合作、共存的关系,比如我们可以嵌在EOA钱包里面,如果新进来的用户注册钱包到私钥这一步的时候感觉麻烦不想做了,这时候就可以通过我们提供的电子邮件方式挽留用户,另外现存的用户也可以使用智能钱包的功能,用现在的地址一键控制智能钱包,能让流程更加顺畅。

观众Q&A:

Q:基于以太坊当前的逻辑,Ca钱包一定会对应EOA地址完成逻辑触发吗?智能钱包Gas费用是不是需要Layer2呢?

A:实际上这种说法没错,但是还是有些窄的,最重要的还是看怎么控制钱包,我们既可以用验证签名的方式,也可以用其他的逻辑,比如DeFi中借贷合约执行的逻辑,是有一个前提的,即用户是不是完成了资金的使用和还款,之后才会依据合约完成资金的转移。可以看到这个过程是没有验证签名的,合约层也是没有验证签名的,而是依据用户的行为、逻辑验证,但是共识层会发生签名的验证。

共识层和合约层的交易处理都是会产生Gas费用的,当前我们接的客户也都是对接的大部分不是eth主链,而是layer2或者其他高性能公链上的项目,智能钱包实际上能很大的降低成本,尤其是批量处理无论是理论还是实践中都能减少费用,同时固定费用也大大降低。

Q:当前很多的dapp是不支持Ca钱包的,那么从场景拓展的角度来说智能钱包应该如何打破僵局呢?

A:不兼容的情况主要是DeFi机枪池和土狗币,防止被薅羊毛项目方采取一刀切的方式,第二个不兼容的情况是需要验证签名的场景,如果使用智能钱包需要实现EIP-721,虽然有门槛但还是能够实现,opensea就能够兼容该方面并实现挂单交易。

其实我们面向的客户,无论是做游戏还是做消费,都没有这方面的限制,也没有理由去限制使用智能钱包,和他们的目标是不冲突的,中期来讲兼容的问题就可以解决,因为智能钱包本身就是解决兼容的痛点。

Q:NFT的合成、SBT的发放智能钱包能够实现吗?

A:这个场景不需要钱包支持也可以实现,只要有签名授权就可以,这个逻辑也可以放在智能钱包中,类似于放一个小app插入到钱包中,这样就不需要传统钱包复杂的交互了,整个过程更便捷、高效。

Q:从 To B 的角度来说,客户需求主要集中在哪些方向,定制化的程度是否很高?

A:主要还是根据项目情况,如果是了解加密发展的历史,部分项目是非常重视客户安全层面的需求;对于体量比较大、资金雄厚的客户,从开始就开始做托管方案也是make sense的,也能给用户不错的体验,如果可以接受非托管的方案,并且想要大幅度降低使用门槛,找我们是完全可以做的。定制化其实是从客户中搜集普遍需求,如果我们判断大部分的客户都需要这个层面的方案,我们就会去做,比如说一开始接的项目SDK大家没有native的需求,但是后来需求变得很普遍,大家都希望将SDK嵌入到自己的app里面,那么后来我们就开始做这个方案,做SDK就引入stss,后来我们想了一下客户很多游戏都是用unity来做,我们直接用引擎级别的SDK可能会更合适,也就是我们会不断调整定制化的服务,另外我们SDK提供的灵活度也是足够的,能够满足定制化的需求。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。