{"content":{"title":"让人头疼的私钥","body":"要进入web3世界，首先需要拥有一个钱包，也就是一张管理个人加密资产的数字银行卡。但这卡不易管理，屡屡爆出资产被盗事件，大部分是因钱包私钥泄露所致。\r\n\r\n1. 2022年4 月，周杰伦价值300万元的BAYC #3738 NFT被盗。\r\n2. 2022年 8 月，Solana发生大规模盗币事件，有近1万多个 Solana 钱包地址遭到攻击，被盗资产损失价值超600万美元。\r\n3. 2022年11月，分布式创始人沈波表示个人常用894结尾钱包，共42M价值资产，其中包含38M USDC 在纽约时间11月10日凌晨被盗。\r\n4. .....\r\n\r\n钱包私钥如同摆在街边的保险柜钥匙，小偷拿着钥匙就能大摇大摆地取走财物。如何保护钱包私钥安全，是年年谈日日谈的话题，是亟需解决的重要问题。现有钱包私钥的管理方式，都在挑战新用户心智，初入区块链行业极易被骗。 \r\n\r\n接下来，七哥（公众号“七哥链道”）试图用轻松的语言向你介绍钱包私钥，帮助你理解私钥，以便更好的保护私钥。\r\n\r\n\r\n## 私钥：一串暗语\r\n\r\n在《阿里巴巴和四十大盗》故事里，强盗将偷来的金银珠宝全藏在一个山洞中。只需说出暗语“芝麻，开门”便可触动机关打开暗门。\r\n\r\n同样，在区块链世界里，每个人都需要在开始闯荡前，给自己开辟新的山洞藏好数字资产，在开辟山洞时会得到一开门暗语。当然，这暗语不是简单的“芝麻，开门”，太简单的暗语能轻松暴力破解，。暗语是一串非常长、毫无规律且随机生成的数字串，可认为是一串“乱码”，如“ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80”。\r\n\r\n如果说山洞是钱包是保险箱，那么这段暗语就是私钥是钥匙，念出私钥才能打开暗门取走珠宝。\r\n\r\n\r\n![芝麻开门](https://img.learnblockchain.cn/attachments/2022/11/HFcKjne8638064cfb7af1.jpg)\r\n\r\n注意，在第一次使用钱包时，钱包会要求设置一个密码。这个密码并非私钥，而是用于在钱包设备中加密存储私钥的，防止私钥明文存存储带来风险。\r\n\r\n\r\n![密码加密私钥](https://img.learnblockchain.cn/attachments/2022/11/jtbfnzvI638065317bf01.png!/scale/15)\r\n \r\n \r\n如果忘记密码，会无法解密出私钥，导致钱包资产被永久锁定。所以，设置一个不会忘记的密码很重要，要记得❌没有找回密码机制。\r\n\r\n\r\n![钱包无法找回密码](https://img.learnblockchain.cn/attachments/2022/11/FjrPVRuV63806531bdc1f.png!/scale/30)\r\n\r\n\r\n## 备份私钥太重要\r\n\r\n私钥做为暗语被加密存储在钱包设备中。如果安装钱包的设备（电脑或手机）出现故障、丢失、被盗或数据损坏， MetaMask 等钱包是无法为你恢复出私钥的。当你使用钱包前，记得备份私钥，备份私钥，备份私钥。重要事情说三遍！\r\n\r\n阿里巴巴可以记得住“芝麻，开门”，但无法记住“ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80”这段毫无规律的暗语。他需要找个地方记录下暗语，防止暗语丢失。但不应将暗语明文赤裸裸的记在微信、备忘录、云文档等容易暴露的软件中， 最好的方式是将暗语记录在物理设备上，如纸张，以防止丢失遗忘。\r\n\r\n可纸张易潮湿，遇到天灾人祸易损坏，可考虑刻录在不锈钢板上，安全存放上百年。\r\n\r\n\r\n![不锈钢板助记词备份](https://img.learnblockchain.cn/attachments/2022/11/qTSfYnsq63806587e82c6.jpg!/scale/50)\r\n\r\n\r\n\r\n物理设备备份私钥是可靠方案，不过除非买一个助记词不锈钢板，自己制作一个实属麻烦。七哥（公众号：七哥链道）推荐另一个技术型方案，使用强密码加密私钥，再将密文分割成多个文件，分别存储在不同的云文档中，具体操作方法见看这篇教程。\r\n\r\n\r\n\r\n## 多签：一群人签字防盗\r\n\r\n将刻录着暗语的不锈钢板隐秘保管，就不太担心暗语丢失问题。可另一个问题没能解决，如果阿里巴巴的钱包设备被盗或被黑客入侵，暗语仍然面临泄露风险。\r\n\r\n阿里巴巴始终担心在打开山洞时被别人听到暗语，辗转难眠，向他妻子求助。聪明的妻子认为必须换个暗语。可山洞暗语是没法修改的，和钱包一样钱包是根据私钥构建的，打开暗门只认唯一的暗语。因此，阿里巴巴只能再在旁边修建新山洞，并且设置暗门使用三个子暗语，念出三个暗语中的其中两个就可打开暗门。阿里巴巴、妻子和女儿分别掌握一个暗语，并且互相不知道对方的暗语。\r\n\r\n这样，新山洞的安全级别大大提升。每次取珠宝时，可以让妻子先独自去山洞念暗语，隔天阿里巴巴再念咒语就好。一是，妻子虽然知道暗语，但她也无法打开暗门，除非她串通女儿。二是，哪怕妻子临时有事，也能找女儿念暗语。\r\n\r\n\r\n![多签](https://img.learnblockchain.cn/attachments/2022/11/5Tom2Q9X6380653185dba.png!/scale/30)\r\n\r\n\r\n可这隐含的问题也非常明显，阿里巴巴不敢和老婆一起做捕猎，生怕双双遇难，女儿一人就没法再打开暗门取走珠宝。阿里巴巴又陷入困境，守财不易......\r\n\r\n在区块链中这种安全管理方式，就叫做多签。由多个人共同管理资产，只有其中大多数签署同意资金使用申请时，钱包中资产才能被使用。https://gnosis-safe.io/ 是一个多签协议，允许设置多人管理合约钱包。 多签优缺点如下：\r\n\r\n**优点**： 分散风险，消除单机故障、异步协作管理资产\r\n\r\n**缺点：** 多签在区块链上执行验证，需额外支付Gas费，参与签名者越多消耗 Gas 越多。无法隐匿签名参与方。\r\n\r\n## 私钥分片：切割私钥成碎片，分散保管\r\n\r\n阿里巴巴使用三个暗语控制暗门，新麻烦是每次都需要妻子或女儿一起处理才能打开暗门。虽然安全，但体验差，效率低。如果真遇上妻儿都生病时更是麻烦。因此，他准备使用一种新方案：暗门只使用一个暗语，但这个暗语被分割成多份，由他和妻儿一起保管。即使妻儿不去山洞他一个人拿着合并好的暗语就能打开暗门。如同虎符一般，皇帝和将军各持一半，将军只有手持完整虎符才能调兵遣将。\r\n\r\n![私钥分片虎符](https://img.learnblockchain.cn/attachments/2022/11/UbnRAP7X63806531a1131.png!/scale/30)\r\n\r\n通过分割保管，阿里巴巴保护的仅是暗语的备份，但因暗语在使用前必须完整现身，依旧面临泄露风险。\r\n\r\n这里分割管理暗语，就是私钥的分片管理。将私钥分割成多份，由多人保管。在操作钱包时，则需要多人一起将私钥碎片合并后签署交易。 优缺点如下：\r\n\r\n**优点：** 分散风险，消除单机故障。无需额外支付签名验证Gas费，不暴露签名参与方。\r\n\r\n**缺点：** 私钥在签名时以完整形式存在，存在泄露风险。\r\n\r\n\r\n\r\n## 门限签名：多人签名\r\n\r\n阿里巴巴能否得到一个真正的多暗语系统呢？其中的暗语总是分开的，永远不会彼此相遇，但暗门仍然只有一个暗语，看起来和普通暗门一样？像是上方谈论的多签和私钥分片系统的融合体，消除缺陷，保留优点。\r\n\r\n阿里巴巴没啥希望，但他的曾孙们，现在有机会拥有这样的一套系统。\r\n\r\n利用 MPC（Secure Muti- Party Computation） 安全多方计算算法，创建一个符合普通暗门的暗语。MPC的优点是可以不用向第三方透露自己的暗语（信息），只需出具一个计算结果就能让第三方相信他的暗语是正确的。\r\n\r\n利用MPC，在生成暗门的暗语（私钥）时，不再由个人独自生成，而是由所有参与者根据签名要求（如：n 个参与者需要 t 个签名才能打开暗门），一起求解一个 MPC 方程。当求解结束时，所有参与者都能得到自己的私钥分片和一个公开的暗门门牌号（公钥），真正的私钥需要至少 t 个人才能合成出来。而大家现在只知道门牌号，暗语分片各自保管，攻击者只有盗取不低于 t 个参与者的私钥分片才能恢复出真正的暗语。 \r\n\r\n\r\n![MPC- TSS获得私钥分片](https://img.learnblockchain.cn/attachments/2022/11/sjDtR9Nc638065318ad27.png!/scale/15)\r\n\r\n为进一步提高安全性，可以要求每隔一段时间后参与方一起重涮私钥分片，旧私钥片全部作废。这种刷新机制能有效防止攻击者窃取有效的 t 个私钥分片。因为，每次刷新私钥分片，攻击者就会前功尽弃，成功窃取的难度系数指数上升。\r\n\r\n我们把这种基于MPC 密码学技术的 TSS （Threshold Signature Scheme）多签系统称为 MPC-TSS 签名技术。多方参与签名在密码学中称之为门限签名。\r\n\r\nMPC-TSS 完美解决前文中阿里巴巴的烦恼，美中不足的是在签名交易时，它需要至少 t 个参与方同时在线才能成功签名交易。理论上参与方越多越能冗余，但寻找大量独立彼此不联合作恶的参与人成为考验人性的问题，但区块链技术是需要摒除人性的，怎么办呢？\r\n\r\n也许这是一个不错的创业方向，这里就不展开了，欢迎关注七哥公众号“七哥链道”留言讨论。\r\n\r\n\r\n## End\r\n\r\n上述介绍了什么是私钥，以及私钥管理的多种方式和各自的优缺点。现在你能理解私钥和如何选择适合自己的备份方案吗？还是不会？？？？？点赞就会了！\r\n\r\n\r\n![七哥链道公众号](https://img.learnblockchain.cn/attachments/2022/11/zwDNs4UQ63806643dcf9a.png!/scale/30)\r\n\r\n\r\n## 参考资料\r\n\r\n1. https://www.infoq.cn/article/xur1mzvlo4wgcgsedz1t\r\n2. https://zengo.com/threshold-signatures-the-future-of-private-keys/\r\n3. https://medium.com/zengo/mpc-over-signal-977db599de66 \r\n4. [七哥链道公众号文章](https://mp.weixin.qq.com/s?__biz=MzA5NDIzNDY3MQ==&mid=2247483944&idx=1&sn=b57f12d9429fbb74604246dd69a8e028&chksm=9050f368a7277a7ef89f3ee779e5434bff5811dab1606db1130fd83867e7db499ce6c8292a59&scene=178&cur_album_id=2679454108280176646#rd)"},"author":{"user":"https://learnblockchain.cn/people/43","address":null},"history":"QmXBb7VcsasrFS6Un31aAiep9FR9oa9JzYyPNL48hwmACN","timestamp":1669360305,"version":1}