第4节:MPC钱包和智能合约钱包

当前钱包种类:

image-20221118142345429

一、传统(HD)钱包

传统钱包使用助记词+分层确定性(HD)结构来派生私钥、公钥、地址,这些钱包允许用户生成签署交易的私钥,并使用助记词恢复所有私钥。

image-20221118145716663

  • 单点故障
  • 出现问题后,需要手动跟踪历史交易进行撤销。

二、智能合约钱包

以太坊目前有两种账户:

  • 外部拥有账户(EOA)External Owned Address,由私钥控制
  • 智能合约账户(COA)Contract Owned Address,有代码控制

智能合约钱包指的就是一种:行为类似于钱包的智能合约,它需要初始成本,因为要事先在链上部署,例如:多签钱包。

它需要M-of-N密钥的签名才能交易。

  • MPC只创建单个签名,而不管参与的密钥共享的数量。
  • 多签钱包使用不同私钥生成的不同签名对进行签名,这是的它与现有的私钥钱包兼容(位于Ledger或Metamask上一层)。

image-20221118145040826

优势

  • 无单点故障,执行需要多个签名
  • 可编程访问控制,设置时间锁,支出限制等
  • 可扩展
  • 可编程恢复
  • 链上问责
  • 可以迁移到其他签名方案
  • 开源

缺点

  • 费用更高
  • 没有得到普遍支持,在非EVM链上需要定制实现
  • 恢复成本高

三、多方计算(MPC)协议

  • Multi-Party Computation Wallet(多方计算)
  • 密钥在不同的地方生成&存储,使用时再进行整合。

图片

  • 签名的时候,每一方都要输入迷药共享部分、公共输入(要签名的消息),生成数字签名。
  • MPC是一种协议,有很多种实现方式。

优势

  1. 无单点故障,一个完整的私钥在任何时候都不会集中在以太设备上。因为没有助记词。
  2. 签名方案可以调整,固定人数可以随着组织需求变化而修改,同时保持相同的地址。
  3. 粒度访问控制
  4. 更低的交易和回收成本
  5. 不限于某一条链

缺点

  1. 链下问责制,签署授权政策和批准固定人数是在链下管理的,依然存在中心化问题。(需要更加严格的运营审计)
  2. 与传统钱包不兼容(没有助记词,没有完整的私钥存储在单个设备上),MPC算法没有标准化。
  3. 大多是孤立的定制产品,许多MPC库和解决方案是不开源的,如果出现问题,生态很难独立审计和集成。

MPC解决方案目前主要针对机构客户(基金、交易所、托管人)。

项目

  1. https://zengo.com/mpc-wallet/
  2. https://github.com/ingonyama-zk/ingopedia

四、钱包挑战

  1. 技术漏洞:如果有bug,那么再好的概念也没用,未来智能合约账户的标准会出现;
  2. 社交攻击:社会工程学攻击,钓鱼等,诱导用户暴漏私钥;
  3. 安全和迁移成本:交易费用、打开关闭头寸、收入影响、操作错误、时间精力;
  4. 操作安全:操作错误是不可逆转的,这对用户需要加强教育

五、总结

MPC和智能合约钱包是互补关系,MPC在密钥生成和管理级别提供了共享安全性,而智能合约为功能和应用程序开发带来了可扩展性和生态系统方法。

参考文章:https://mp.weixin.qq.com/s/Yi8L4Ff8M473c3FK4QMADg

原文出处:https://medium.com/1kxnetwork/wallets-91c7c3457578