{"content":{"title":"钱包开发工程师应该掌握的知识","body":"钱包是区块链的入口，不管是交易所，还是去中心化的应用，钱包都做为一个基础的功能而存在；我们都知道，钱包分为中心化钱包，去中心化钱包(含 AA 钱包和社交恢复钱包)，硬件钱包和托管钱包(包含多签钱包和 MPC 钱包)；四种钱包的区别主要是私钥的管理方式不一样。 \r\n\r\n中心化钱包钱包一般供给交易所使用，将完整的私钥加密之后管理在中心化的环境中，常见的管理方式有 TEE, KMS 和 CloadHSM。 \r\n\r\n去中心化钱包私钥加密之后存储在用户设备中，一般钱包私钥丢失无法找回。社交恢复钱包分为两种，密钥分片备份和守护者恢复，密钥分片技术是将用户的私钥使用门限共享秘密算法将私钥分成 N 片加密之后分发给不同的朋友存储到设备中，一旦密钥丢失，通过社交加验证的方式从朋友哪里获取 M 个密钥分片，使用 N-M(密钥拆分成 N 分，拿大其中 M 份可以恢复出完整的密钥) 逆门限共享秘密算法恢复出完整的私钥。守护者社交恢复主要是针对 EVM 系列的社交恢复钱包，由一个合约来管理整个钱包，一旦密钥丢失，发起社交恢复，由多个守护者签名一笔交易进行钱包合约的私钥替换，完成恢复的过程。 \r\n\r\n硬件钱包主要是把私钥管理在离线的硬件设备中，在硬件设备中集成钱包签名算法。 \r\n\r\n托管钱包有两种，团队资金共管钱包，一般使用多签钱包；[EVM](https://learnblockchain.cn/tags/EVM) 链比较成熟的方案是 gnosis 多签，其他链还是使用多签算法实现；企业资管一般使用 MPC 钱包，MPC 是资管解决方案里面用得最多的密码学算法，运行 N 个 [MPC](https://learnblockchain.cn/tags/mpc) 节点，节点之间通过多轮交互之后生成密钥片，节点与节点之间互相不知道对方生成的密钥片是什么，当需要发交易时，只需要其中 M 个节点签名交易就有效。 \r\n\r\n上面说了这么多，如果想找一份还不错的钱包开发的工作，您应该掌握哪些知识呢？我们将在下面做详细的探讨。 \r\n\r\n## 1.密码学算法基础\r\n\r\n*  公钥[密码学](https://learnblockchain.cn/tags/%E5%AF%86%E7%A0%81%E5%AD%A6)基础 \r\n*  DES 算法深入 \r\n*  RSA, GPG, ECDSA 和 EDDSA 算法深入 \r\n*  BLS 算法深入 \r\n*  单向函数算法深入 \r\n*  门限共享密码算法深入 \r\n*  MPC 算法深入 \r\n\r\n##  2. 通信协议\r\n\r\n*  蓝牙通信协议 \r\n*  串口通信协议 \r\n*  NFC 通信协议 \r\n*  P2P 通信协议 \r\n\r\n##  3. 离线签名(含硬件钱包)\r\n\r\n* 主流公链的交易签名前后数据组织编码细节与代码实现 \r\n* Tee,  Kms 和 CloadHSM 等集成环境的密钥对生成和签名调度 \r\n* 通过各种通信协议调度硬件生成密钥对和交易签名等 \r\n\r\n##  4. 中心化钱包\r\n\r\n* 主流公链 RPC 接口，能快速组织接口扫链支持钱包出入金 \r\n* 充值，提现，归集，热转冷，冷转热和链路风控等钱包业务流程 \r\n\r\n##  5. 去中心化钱包(含硬件钱包)\r\n\r\n* 熟悉 [BIP](https://learnblockchain.cn/tags/bip) 协议簇 \r\n* 能快速组织主流公链 RPC 接口支持钱包转账，交易记录等 \r\n* 钱包和主流 [Dapp](https://learnblockchain.cn/tags/DApp) 交互过程开发(Dapp 浏览器)\r\n\r\n##  6. 托管钱包\r\n\r\n* Gnosis Safe 多签钱包流程 \r\n* MPC 底层算法实现机制 \r\n* 使用 MPC 开发托管钱包 \r\n\r\n## 7. 推荐学习社区\r\n\r\n* The web3: [https://github.com/the-web3](https://github.com/the-web3) \r\n* 密码学教程：[https://github.com/the-web3/cryptography…](https://github.com/the-web3/cryptography) \r\n* 钱包教程：[https://github.com/the-web3/blockchain-wallet…](https://github.com/the-web3/blockchain-wallet) \r\n\r\n\r\n\r\n以上两个教程目前在完善中，欢迎大家参与共建......"},"author":{"user":"https://learnblockchain.cn/people/17992","address":"0x72fFaA289993bcaDa2E01612995E5c75dD81cdBC"},"history":null,"timestamp":1714226181,"version":1}