智能钱包在生态系统范围内,在努力完全摆脱 EOA 和私钥(也称为帐户抽象)的过程中发挥着至关重要的作用。
原文标题:Seedless Self-Custody: On MPC and Smart Contract Wallets
原文作者:Nichanan Kesonpat
原文来源:medium
编译:ChinaDeFi
自我托管一直被誉为管理加密资产的最佳实践。FTX和Celsius的崩溃是一长串事件中的最新一起,这些事件提醒业内 “非彼之钥,则非彼之币”,引得人们纷纷奔向非托管钱包。在FTX事件曝光后,Safe获得了8亿美元以上的净流入,Ledger在短时间内连续经历了多个历史新高的销售额,Trezor销售额飙升300%,ZenGo在一夜之间实现了三位数增长,存款达到历史最高水平,所有这些都发生在同一周内。
然而,大量用户仍然愿意承担托管风险,以换取较低的成本和易用性。在非托管钱包基础设施成为保护和管理资产阻力最小的途径之前,我们还有很长的路要走。
幸运的是,现在有一个蓬勃发展的钱包生态系统,为个人、DAO和机构提供了更多的选择。加密不再只涉及安全存储,它还包括在新经济中使用资产。但是,不断增加的攻击面和漏洞,再加上日益丰富的功能,使得钱包需要既能够抵御攻击,同时又能支持日常业务和个人使用。
与所有的设计决策一样,这是针对给定用例的多个考虑因素的优化问题,也是钱包解决方案和密钥管理实践的能力,它们需要务实地平衡目标用户的集体需求:
有两类替代密钥管理解决方案取得了重大进展:智能合约钱包(包括多重签名钱包)和多方计算(MPC)协议。
本文涵盖:
钱包中需要考虑的属性
传统(HD)钱包
传统钱包使用助记词和分层确定性(HD)结构来派生私钥、对应的公钥和链上地址。这些钱包允许用户生成用于签署交易的私钥,并使用助记词恢复所有密钥。
到目前为止,传统钱包一直是用户保管资产的工具,也是他们与区块链应用程序交互的主要入口。像MetaMask这样的浏览器扩展程序和像Rainbow这样的移动应用程序已经为这个生态系统吸引了数百万用户。想要降低风险的用户可以选择Ledger和Trezor等硬件钱包,它们可以离线保护私钥,从而提供更好的安全性。
虽然业界已经做出了巨大的集体努力来告知用户保持助记词和密钥安全的重要性,但这个单点故障仍然是广泛采用的一个重要障碍。如果私钥丢失,除了失去所有资产外,用户还必须手动跟踪多个地址、代币批准,并因必须为新地址提供资金而损害隐私。
今天,不可撤销的字符串不仅可以让一个人的毕生积蓄全部被“访问”,而且越来越多地趋势是将用户在线身份的链上历史联系起来。获取私钥访问权的动机就是这么大,以至于黑客们,每个人都投入无限的资源,进行越来越有创意的攻击。现在,仅仅依靠用户已经不够了——我们需要完全消除这个单点故障。
多方计算(MPC)钱包和智能合约钱包帮助我们实现这一目标,并且已经有一个由机构、个人和 DAO 等采用的关于这两类产品和服务的生态系统。虽然这两种类型的钱包都消除了单点故障,但它们有一些基本的技术差异,导致了不同的折衷方案。
MPC钱包
广义上讲,多方计算(MPC)使一组互不信任的各方能够根据他们的输入共同计算一个函数,同时保持这些输入的私密性。在密码学中,这对于保存用于解密数据或生成数字签名的私钥特别有用。
MPC钱包通过使用阈值签名方案(TSS)消除了单点故障。在这个范式下,我们创建并分发私钥的一部分,这样就没有一个人或机器能够完全控制私钥——这个过程被称为分布式密钥生成(DKG)。然后,我们可以通过合并部分,并且在不暴露各方之间的部分的情况下共同生成公钥。
为了对消息和交易进行签名,每一方都要输入秘密共享部分与公共输入(要签名的消息),以生成数字签名。从那里,任何知道公钥的人(即验证者节点)都应该能够验证和验证签名。由于密钥部分是被组合的,签名是在链下生成的,因此从MPC钱包生成的交易与传统的私钥钱包的交易没有区别。
这为MPC钱包用户保护了一定程度的隐私。对于那些希望将其签名方案和签名者活动置于公众视线之外的组织来说,这个特性是开箱即用的,因为这些过程发生在链下。这样,组织就可以保留参与签名的内部日志,而不对外公开。
Private Key Rotation是另一种MPC协议,它将秘密共享部分作为输入,并输出一组新的秘密共享部分。旧的秘密共享部分可以被删除并替换为新的共享部分,新的共享部分可以以相同的方式使用,而无需更改相应的公钥和地址。
MPC钱包的优势
MPC钱包的缺点
基于MPC的解决方案主要针对机构客户,如基金、交易所和托管人。像Fireblocks和Qredo这样的MPC技术提供商,允许他们的客户为不同类型的交易定义自己的工作流,使他们能够保持合规和安全。然而,散户投资者的基础仍然依赖于独立的研究和私人密钥钱包。Web3Auth最近发布了一个MPC SDK,用户可以使用他们的iCloud或电子邮件作为备份。像Entropy这样的去中心化托管协议正在为消费者和DAO构建开源工具,以便他们能够在线存储资产。
MPC中值得注意的发展:可编程密钥对
Lit是一个去中心化协议,它将密钥共享存储在Lit网络节点上。公钥/私钥对由PKP(可编程密钥对)NFT表示,其所有者是密钥对的唯一控制者。然后,PKP所有者可以触发网络聚合密钥共享,以解密文件或在满足任意定义的条件时代表他们签名。
这对去中心化访问控制、资产管理和链上自动化交互具有很大的意义。通过向Lit Action(部署到IPFS的不可变代码)授予签名特权,PKP可以用作MPC或去中心化云钱包,使用任何可用javascript表示的身份验证方法。
铸造 PKP NFT 是基于 MPC 的分布式密钥生成过程,它使NFT 所有者成为PKP的根所有者。因此,转移这个NFT相当于交易私钥,这实际上打破了“灵魂绑定”代币(SBT)的概念,因为SBT是与特定的所有者绑定,现在是钱包本身可以安全地交易,因此,“钱包绑定代币”可能是更合适的名称。
智能合约钱包
以太坊目前有两种账户类型:
智能合约钱包(“智能钱包”)是一种行为类似于钱包的智能合约,即一个允许用户管理资金、进行web3登录和与dApp交互的界面。与私钥钱包不同的是,智能钱包的创建需要初始成本,因为智能合约需要部署在链上。
多重签名钱包是智能合约钱包,它需要M-of-N密钥的签名才能执行交易。MPC只创建单个签名,而不管参与的密钥共享的数量,多重签名使用由不同私钥生成的不同签名对交易进行签名。这使得它与现有的私钥钱包兼容,并位于Ledger或MetaMask等传统钱包地址之上的一层。
像Safe这样的智能合约账户标准为资产管理产品和服务的生态系统提供了一个基础层。功能是通过模块添加的,它允许用户定义管理密钥逻辑、支出限制、重复交易、帐户自动化、分层访问等等。目前最多产的一组Safe模块是由Zodiac团队构建的。
智能合约钱包的优势
智能合约钱包的缺点
智能合约钱包中值得注意的发展:帐户抽象
智能钱包在生态系统范围内,在努力完全摆脱 EOA 和私钥(也称为帐户抽象)的过程中发挥着至关重要的作用。在这种范式下,所有账户都是智能合约,它们有自己的逻辑来规定什么是有效的交易,允许用户根据自己的特定需求定制账户。
自2016年以来一直在讨论帐户抽象,但生态系统在对解决方案上的协调方面一直进展缓慢。L2已经极大地加快了其意识和采用,例如StarkWare已经将所有Starknet账户本地化为智能钱包,zkSync 2.0也将与AA一起推出。
在以太坊上,存在多个EIP来完成路线图上的里程碑,使帐户抽象成为现实。
钱包开发生态系统面临的挑战
技术漏洞
Parity Multisig黑客攻击和最近的Rabby Swap攻击表明,如果实现有缺陷,即使是最好的存储资金的概念方法也没有什么意义。我们可以预见,智能合约账户的标准将会出现。
社交攻击层面
任何技术解决方案的优点仍然不能消除社会层面的风险。损失6亿美元的Ronin Bridge漏洞不是由于任何技术缺陷,而是针对Sky Mavis一名员工的社会工程攻击,使攻击者能够访问验证者密钥。除了决定使用哪个钱包来管理资产之外,组织还需要确保这个关键系统的每个“组件”在社交和技术层是真正独立的。
安全和迁移成本
从一个帐户迁移到另一个帐户既不有趣也不便宜。尽管目前市场上有强大的钱包替代品,但用户迁移现有的EOA是有实际成本的:交易费用、关闭/打开DeFi头寸、收入影响、用户错误、时间和精力。
操作安全
自我保管对于今天的大多数用户来说是一个可怕的前景,因为提高是需要有意识的努力的,这可能是一项艰巨的任务。大多数交易数据是不可读的(尽管这一点正在改变),错误是不可逆转的。就像加密教育一样,这个问题不能由一个团队单独解决,需要工具和用户体验模式。
结论
尽管MPC和智能钱包有着共同的“这个vs那个”框架,但从长远来看它们并不是竞争关系,而是互补关系。MPC在密钥生成和管理级别提供了共享安全性,而智能合约为功能和应用程序开发带来了可扩展性和生态系统方法。例如:
今年,中心化实体的不计后果的行为在许多方面削弱了加密货币,它们侵蚀了行业的信任,最重要的是失去了用户的资金。本文重点介绍的技术和项目为每个人都可以参与去中心化经济,同时不用将命运掌握在少数人手中的未来铺平了道路。