Web3无助记词钱包:安全性和便捷度的取舍

时间:2024-11-09  分类:电子


「无助记词」本质是一种取舍:用较低安全级别存储密钥的方式,来提升用户登录便捷度。


1.为什么需要无助记词钱包


「无助记词钱包」并不是任何一种具体的钱包技术,而是一种功能体验:用户不再需要保管复杂的助记词,而是通过邮箱密码即可登录。由此,用户使用钱包的门槛大大降低,使用体验上接近Web2产品。


这类钱包的本质是允许密码丢失,也就是在密码丢失的情况下仍然可以保全资产安全、并且最终恢复对钱包的访问。所以,用户不再需要谨小慎微地在线下自行保管助记词,而是可以用安全级别较低的方式来存储密码,包括云端存储、移动端本地存储、第三方托管等等。如此,产品就可以在用户体验上做文章,设计新手友好的登录体验。


实现无助记词有多种技术路线,包括MPC、智能合约等。但不论何种技术,在获得使用便利性的同时,也都存在某种信任假设或是需要信任托管中介、或是需要信任智能合约,钱包的安全性并不唯一掌握在用户自己手中。对于安全要求极高的人来说,这未必是个最佳选择;但是对于普罗大众而言,无助记词钱包确实能够降低Web3的进入门槛。


2.无助记词钱包有哪些实现方案


本文介绍市面上主流的三种实现方案。


2.1MPC钱包


第一种主流的方式是MPC(Multi-partyComputation,多方计算)。这是一种链下的解决方案,是钱包之外的另一层技术,换言之可以和任何类型的钱包结合,使用了MPC技术来保管私钥的钱包都可以称作MPC钱包。


MPC钱包使用SSS或TSS技术生成私钥的多个分片,分发给多个参与方。在使用钱包时,各方通过自己的分片,在不暴露每一方分片的情况下,生成完整的数据来签名。


MPC钱包可以灵活地设置阈值策略,比如可以要求3个分片中至少2个分片参与签名,也可以要求2个分片全部参与签名。但是需要注意,虽然允许密码丢失,但是分片的存储方案仍然会影响钱包安全,比如由项目方托管的存储更多依赖于项目方不作恶。目前MPC钱包的阈值策略和存储方案并不统一,还没有一个行业标准;每种钱包所使用的不同方案,也体现了不同的安全设计策略。


MPC钱包的私钥分片方案可以有效避免单点故障:即使丢失了单个分片,也可以保全钱包内资产,而且可以在不改变私钥的情况下更新各个分片,做到密码恢复。此外,MPC钱包的所有实现都在链下,最终只生成一个私钥签名,因此相比智能合约的多签更节约资源。


典型的MPC钱包包括Web3Auth、ParticleNetwork、Openblock等。


Web3Auth采用SSS(ShamirSecretSharing,Shamir私钥分割)方案来进行密钥分割。SSS区别于TSS(ThresholdSignatureScheme,门限签名方案)的地方在于,SSS需要首先由单方生成一个私钥,然后再通过密码学分割私钥并分发给各方,签名时也必须先重构完整私钥,因此私钥仍然有在前端暴露的风险;而TSS不论在密钥生成还是签名的阶段,都是通过分布式计算进行、而不需要进行重构,因此避免了暴露风险。SSS方案使得Web3Auth存在一定安全缺陷,MPC钱包的后起之秀通常都使用TSS。


下图展示了2-3模型,也是Web3Auth采用的基础模型,即需要3个分片中的2个分片参与才能完成签名。其中,设备分片存储在用户的本地设备中;OAuth登录分片由节点网络进一步分割存储;备份分片由用户自行存储,可以存储在单独的设备或通过密码访问。


来源:https://web3auth.io/docs/overview/key-management/


用户在登录时,首先通过Gmail等第三方登录,获得OAuth登录分片;再用存储在本地设备的设备分片,就可以重构完整私钥。当用户登录新设备时,必须同时用到第三个分片,也就是备份分片来实现登录。此外,通过用户也可以自己设置不同的阈值模型,比如3-4、4-5等等。


来源:https://web3auth.io/docs/overview/web3auth-for-wallets


ParticleNetwork采用TSS,相对SSS更安全。其阈值模型采用2-2,客户和官方分别保管一部分分片。客户端的分片由Particle或第三方云服务提供商存储在云端,通过邮件OTP或社交登录验证后调用。但是,客户端密钥本质上不受保护,服务提供商可以访问该密钥,这一方案依赖于客户信任Particle或者第三方提供商。


获客方式是所有钱包都面临的难题,因为绝大部分ToC市场都已经被占据。Web3Auth和ParticleNetwork都采用ToB策略,通过服务项目方来获得用户量。值得一提的是,使用了ParticleNetowork钱包服务的Web3游戏PowerofWomen曾一度登顶美国区谷歌商店游戏总榜,成为了Web3游戏破圈的一个标杆案例。MPC钱包提供了丝滑的登录体验,对于FreetoPlay的游戏来说是一个非常重要的降低门槛的方式,可以预见未来低门槛的Web3项目很可能会大规模采用类似的登录体验。


来源:https://foresightnews.pro/article/detail/14777


2.2智能合约钱包


上文说的「MPC钱包」是使用了MPC技术来保管私钥的钱包,「智能合约钱包」则是钱包本身的一种类型。


在EVM有两种钱包类型,一种是EOA钱包(ExternallyOwnedAccounts,外部控制账户),由任何人通过私钥控制;另一种是CA钱包(ContractAccounts,合约账户),部署在区块链上,由合约代码控制,这也就是智能合约钱包。


目前我们使用的绝大多数钱包都是EOA钱包,如小狐狸。事实上,智能合约钱包由于可以自定义合约代码,实现的功能远比EOA钱包丰富,例如账户找回、预设执行逻辑等;但是目前普及度并不高,主要是由于使用成本高,每笔交易都会比EOA钱包多出一笔gasfee。因此,目前的使用场景主要在于「多签」这样的机构管理层面,个人用户采用较少。此外,智能合约钱包没有私钥、无法验签,因此交易实质上仍然需要由一个EOA钱包来调起,个人用户如果要用智能合约钱包,还需要另外保管EOA钱包密钥,仍然有较高的复杂度。


在针对个人用户的智能合约钱包赛道,Argent是一个先行者,2019年就开始运营至今。Argent包含两个产品:


1)移动端App钱包「Argent」,在ETH和zkSync上,实现无助记词功能;在ETH上还有「ArgentVault」产品,提供社交恢复功能;


2)浏览器插件钱包「ArgentX」,只在StarkNet上,是基于账户抽象(AccountAbstraction)的钱包,后文会再做解释。


我们先来看第一个产品,移动端钱包Argent,其中的「Vault」也就是传统的智能合约钱包。



-->> 1/2 文章未完,请继续阅读

以上就是Web3无助记词钱包:安全性和便捷度的取舍的全部内容,望能这篇Web3无助记词钱包:安全性和便捷度的取舍可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。