一. 概述
MPC 是使用多方计算的方式各个节点产生密钥分片,各节点自行托管密钥分片,由于完整的密钥没有在整个网络中出现过,只要确保阀值节点的密钥分片不泄漏,钱包就是安全的。
MPC 私钥管理是目前比较流行私钥管理方案,该方至少需要三方参与才能完成,两方计算没有意义;参与的节点多一些相对比较安全一些,该方案的优势就是弱化私钥的概念,用户体验好,安全度高,缺点是参与方少的话安全度会低一些。
二. 架构设计
1. 项目设计架构:
2. 执行细节
-
APP 端发起 KeyGen 请求,并把自己的公钥给到 hailstone, hailstone 广播 PulicKey 给各节点,节点收到公钥之后keygen;
-
keygen完成之后,将公钥和私钥分片绑定,以供后面签名交易的时候验证签名,密钥分片走社交恢复的钱包的逻辑将密钥分片做门限共享秘密拆分之后存储到区块链网络;参考文档:https://github.com/savour-labs/docs-chinese/blob/main/social/architecture.md
3.APP发起交易,hailstone调度各节点签名,签名前先验签,验签通过之后,开始签名,节点签完名之后给到 hailstone,hailstone 将交易发送到区块链网络,并返回交易 Hash 给 APP 端;
- 节点密钥丢失,可以走社交恢复钱包的流程,将节点的密钥恢复出来,参考文档:https://github.com/savour-labs/docs-chinese/blob/main/social/architecture.md。
三. 附录
- savour github: https://github.com/savour-labs
- hailstone: https://github.com/savour-labs/hailstone
- key-locker: https://github.com/savour-labs/key-locker
- savour 官网:http://savour.group
目前我们正在在招募 Python, Go, Rust 和 Node 开发工程师,前端开发工程师(Vue 和 React 方向),产品经理, 视觉设计师和密码学研究员,欢迎有兴趣的朋友联系我们,联系方式如下:
- 邮箱:guoshijiang2012@163.com
- 微信:LGZAXE
- discord: https://discord.gg/WW86tqEw
- telegram: @shijiangguo
- Twitter: @seek_web3