第4节:MPC钱包和智能合约钱包
当前钱包种类:
一、传统(HD)钱包
传统钱包使用助记词+分层确定性(HD)结构来派生私钥、公钥、地址,这些钱包允许用户生成签署交易的私钥,并使用助记词恢复所有私钥。
- 单点故障
- 出现问题后,需要手动跟踪历史交易进行撤销。
二、智能合约钱包
以太坊目前有两种账户:
- 外部拥有账户(EOA)External Owned Address,由私钥控制
- 智能合约账户(COA)Contract Owned Address,有代码控制
智能合约钱包指的就是一种:行为类似于钱包的智能合约,它需要初始成本,因为要事先在链上部署,例如:多签钱包。
它需要M-of-N密钥的签名才能交易。
- MPC只创建单个签名,而不管参与的密钥共享的数量。
- 多签钱包使用不同私钥生成的不同签名对进行签名,这是的它与现有的私钥钱包兼容(位于Ledger或Metamask上一层)。
优势
- 无单点故障,执行需要多个签名
- 可编程访问控制,设置时间锁,支出限制等
- 可扩展
- 可编程恢复
- 链上问责
- 可以迁移到其他签名方案
- 开源
缺点
- 费用更高
- 没有得到普遍支持,在非EVM链上需要定制实现
- 恢复成本高
三、多方计算(MPC)协议
- Multi-Party Computation Wallet(多方计算)
- 密钥在不同的地方生成&存储,使用时再进行整合。
- 签名的时候,每一方都要输入迷药共享部分、公共输入(要签名的消息),生成数字签名。
- MPC是一种协议,有很多种实现方式。
优势
- 无单点故障,一个完整的私钥在任何时候都不会集中在以太设备上。因为没有助记词。
- 签名方案可以调整,固定人数可以随着组织需求变化而修改,同时保持相同的地址。
- 粒度访问控制
- 更低的交易和回收成本
- 不限于某一条链
缺点
- 链下问责制,签署授权政策和批准固定人数是在链下管理的,依然存在中心化问题。(需要更加严格的运营审计)
- 与传统钱包不兼容(没有助记词,没有完整的私钥存储在单个设备上),MPC算法没有标准化。
- 大多是孤立的定制产品,许多MPC库和解决方案是不开源的,如果出现问题,生态很难独立审计和集成。
MPC解决方案目前主要针对机构客户(基金、交易所、托管人)。
项目
四、钱包挑战
- 技术漏洞:如果有bug,那么再好的概念也没用,未来智能合约账户的标准会出现;
- 社交攻击:社会工程学攻击,钓鱼等,诱导用户暴漏私钥;
- 安全和迁移成本:交易费用、打开关闭头寸、收入影响、操作错误、时间精力;
- 操作安全:操作错误是不可逆转的,这对用户需要加强教育
五、总结
MPC和智能合约钱包是互补关系,MPC在密钥生成和管理级别提供了共享安全性,而智能合约为功能和应用程序开发带来了可扩展性和生态系统方法。