MPC 钱包
Zengo 钱包
Zengo 创建于2018年,是一种基于MPC的钱包。
在Zengo中,当用户创建一个新的钱包时,会生成两个密钥分片(2-of-2 TSS), 一个在Zengo服务器上存储,一个在用户手机终端存储;在进行交易的时候,需要用户发起,然后两者交互生成签名。
Zengo相当于一个半托管的钱包,可能会有意或有无意拒绝用户的签名请名(例如声称遭到攻击等).
Zengo 可以通过人脸识别恢复对钱包进行恢复,用于在删除app, 丢失手机或者使用新设备的情况下。
用户的经过加密的密钥分片可以备份在自己的私有云上,如iCloud 和 Google drive中,加密密钥存放于zengo服务器上。当用户的密钥分片丢失后,首先通过人脸识认证获取在Zengo上保存的加密密钥,然后用户可以用它来解密存放于私有云上的密钥分片。
Zengo 提供一种Chill Storage
电子钱包服务,以 防止OpenBlock服务端密钥出现问题,例如丢失,Zengo项目方跑路等。为了解决这个问题,Zengo会找到第三方托管机构 (Escrow Tech),这个机构会生成一对主公钥和主私钥。Zengo服务器利用主公钥加密在用户在服务器端的密钥分片,然后发送给用户。
若Zengo 停止服务,此时第三方托管机构会将主私钥公布在指定的GITHUB账户中,然后Zengo App会监测到主私钥,然后进入恢复模式,App 可以用主私钥解密加密的服务器的密钥分片,最终恢复账户的私钥。
Bitizen 钱包
Bitizen创建于2021年,是一个基于TSS(threshold signature scheme) 和 MPC (multi-party computation) 的钱包,从密钥生成到交易签名的过程中,不会暴露密钥的明文。
在用户创建钱包的时候,Bitizen是2-of-3 TSS, 会生成三个独立的密钥分片(key share): 一个存放在用户手机终端上,一个在Bitizen服务器上,另一个在用户另一个设备中,如PC/laptop/iPad/second Phone等。
在连不上Bitizen服务器的情况下,用户可以连接两个设备生成签名。
Bitizen 采用3FA安全认证,通过人脸识别作为生物认证,添加邮箱,还有私有云存储(icloud, google Drive),用于恢复密钥。
在使用体验方案,用户感知不到密钥的存在:
OpenBlock
OpenBlock钱包,使用MPC技术,支持比ETH更广泛的公链,包括比特币,狗狗币,aptos,波场等20几条公链。 它主要实现2-3 门限签名方案(TSS),其中任意两方能够生成一个签名,消除单点故障问题。
OpenBlock支持TSS 私钥旋转(Private key rotation)技术,在不改变公钥和地址的情况下,允许用户改更改密钥分片(private key fragment)。 在用户密钥分片泄露的情况下,可以允许对其进行重置。
关于TSS 的架构,有两种选项:
- 默认方案:将密钥分成的三份分别由用户,OpsenBlock, 和可信第三方保管。OpenBlock 会提供24小时的在线签名服务,可信第三方主要对加密的密钥分片进行冷存储。当用户密钥分片丢失或需要重置时,可以从可信第三方取回密钥分片;
- 升级的方案:由用户设备1,OpenBlock, 用户设备2分别保管三个分享的密钥。但是目前这个功能在OpenBlock上还没有上线。
为了提升安全性,OpenBlock 采用可信执行环境TEE保证敏感代码和数据的安全性。
Safeheron
Safeheron 是一个透明、开放的企业级数字资产自托管平台,通过运用 MPC + TEE 等技术提供数字资产领域私钥管理和资产管理解决方案。
Safeheron设计了 私钥保护和 审批策略的安全防御模型组合来提升安全性。
在私钥保护方面,Safeheron 设计了三层叠加的防护机制让私钥窃取难度达到银行级安全标准:
- 首先通过 MPC 把私钥去中心化,由客户(手机终端)、Safeheron 云端计算节点、第三方云端计算节点 各自生成自己的私钥分片;
- 客户终端发起,三方通过 MPC 计算出公钥,而当客户签名时也是三方共同计算出最终的交易签名,这样就保证了在私钥的整个生命周期内,从生成到签名,没有在任何物理设备中存在过。
- 攻击者想拿到私钥,就必须搞定客户手机终端、Safeheron 和第三方的计算节点的服务器,也就是说,以前攻击者只需攻击一方窃取私钥,而在 Safeheron 的方案里,攻击者需要攻击三方才能窃取私钥,指数级提升私钥窃取难度。
- 「TEE 硬件保护分片」和「分片定期刷新」两层安全加固,让难度进一步增加了 N 个数量级
审批策略可以根据客户业务,针对钱包、币种、金额、来源地址、目标地址等维度灵活配置,而整个策略本身是植入在 TEE 芯片内运行和保护的,可以理解成由芯片硬件保护的智能合约,策略执行逻辑和数据无法被窃取、篡改和绕过。
举个客户场景,某个机构有三个人管理 100 万 USDT,策略如下:
- 每笔交易 1,000 USDT 以下允许任何一个人发起并签署,且当天单人签署上限为 1 万 USDT;
- 大于 1 万且小于 5 万,必须任意两个人签署;
- 超过 5 万,必须三个人签署;
- 当日签署总额上限为 20 万 USDT;
针对客户的业务场景可以设计对应的策略审批流程,从信任人到信任规则,而整套规则依靠密码学、硬件芯片和零信任安全架构全程保护。
Safeheron 目前支持 BTC、ETH、BSC、Solana 等十种左右的公链,Move 系公链也在我们接入计划列表中,我们有几套 MPC 协议层,去支持不同区块链的算法,兼容不同的公链。
Safeheron钱包产品套件包含 :
- MPC Wallet APP,客户内部可以多人协同管理数字资产;
- MPC Wallet API, 支持客户编写程序实现自动化的签署交易,无需担忧私钥泄露;
- MPC Web3 浏览器插件,支持客户通过多人审核的方式访问 Web3 协议。
FireBlocks
Firblocks 创立于2018年,是用于移动,存储和发行数字资产的区块链安全服务商, 重点是保护客户资产在交易所,柜台经纪人,以及传输转账时的安全。 Fireblocks 使银行,金融科技公司,交易所,流动性提商,OTC和对冲基金能够安全管理产品和服务的数字资产。
FireBlocks 技术主要由Fireblocks Network 和基于MPC-CMP的电子钱包组成。
Fireblocks Network,本质上是一类信息传递基础设施层,允许机构目前在不同的区块链上进行安全结算,而不容易受到各种攻击,并对操作过程进行了简化。Fireblocks 目前在为 1000 多家金融机构提供服务,从对冲基金、交易所再到到世界上的知名大银行,还与很多支付服务提供商进行合作,也曾经监控到很多资产被非法转移的案例。
- Asset Transfer Network: 首先是结算服务,旨在做 Crypto 领域的 SWIFT,解决了之前各平台复杂、手动和有风险的结算工作流程。一个平台上连接到 1200 多个流动性交易所和交易方,实现即时结算、再平衡和支付;
- MPC Wallet-as-Service: 提供可以安全地存储和转移数字资产的平台,同时保证客户和交易团队的运营效率;
- Tokenization: 通过 Fireblocks 的 Token 化引擎,可以部署稳定币和 Security Token,在 Fireblocks 上管理 mint、burn 和 Transfer 的整个生命周期。;
- Security: 结合 MPC、密码学和硬件隔离的多层技术,保护资金安全;降低外部攻击、内部勾结和人为错误的概率;
- AML/Compliance: 与 Crypto 合规供应商进行了整合,用户可以自动检测并提示高风险交易;
- Policy & Workflow Engine: Fireblocks 的工作流授权引擎,满足监管合规需求;
- DeFi:Fireblocks 的安全钱包基础设施,可以在许可的 DeFi 项目中使用。,过企业级保护和可定制的治理和政策控制,访问用于交易、借贷和抵押的 DeFi 应用程序。在去中心化交易所(DEX)进行交易,规划战略,设计 DeFi 投资组合。
FireBlocks 钱包采用MPC 结合硬件隔离实现多层安全:
- MPC 保证密钥不会在任何设备任何时候重构;
- SGX: 密钥share存储在SGX 中,保证不会泄露;
- Polycy Engine: 允许组织构建细粒度的规则,来处理交易。
关于其MPC 钱包具体的实现细节,未找到相关介绍。
Web3Auth
Web3Auth 具有 B2B2C 商业模式,为用户提供创建钱包的能力。钱包使用分片私钥并拆分为多个身份验证因素,例如谷歌登录、设备存储、恢复密码等。
Web3Auth 在设计时考虑了易用性,这种设置类似于 web2 世界中的设置。这使得用户具有更高的转化率,并降低了新手 web3 用户丢失私钥的风险。
需要三分之二的身份验证因素,所以即使用户碰巧失去了其中一个身份验证因素的访问权限,他们仍然可以访问他们的钱包,并有能力将其资产转移到新钱包中。
Web3Auth MPC 钱包还未正式上线,具体使用未知。
参考
https://github.com/ZenGo-X/multi-party-ecdsa
https://web3caff.com/zh/archives/32241
https://developer.safeheron.com/zh-CN/concepts/policy
https://www.fireblocks.com/platforms/mpc-wallet/
https://www.fireblocks.com/blog/pushing-mpc-wallet-signing-speeds-8x-with-mpc-cmp-9/