10 年来我们对加密资产的管理和钱包的使用方式,仍停留在比特币诞生之初的蛮荒时代。而MPC(多方计算)钱包却创造了链上资产管理安全的新方式。REI Network 也将积极探索MPC 钱包与网络发展的结合点,MPC(多方计算)钱包是什么?REI Network 将如何结合MPC 钱包与网络的发展?
在说明MPC钱包是什么之前,我们先简单介绍现有的软件钱包,无论哪种软件钱包,用户都将直面私钥和助记词,并且承担着妥善保管和备份它们的任务。而在早期钱包中,有的甚至还会选择让用户备份 Keystore 文件——一份将私钥以加密形式保存的 JSON 文件,并且需要输入在钱包软件中设置过的密码才能解密。
私钥、助记词、钱包密码。
这三者的技术原理和区别可能时至今日仍有大量用户无法完全理解,将他们直接推向用户也显得过于原始和粗暴。
目前的软件钱包都基于公私钥体系和非对称加密,私钥是一切的命门,掌控私钥也就掌控了资产的控制权。
当用户自己直面钱包时,实际上体验已经经过了一轮优化:公钥通过转码变成了用户所看到的“钱包地址”,而私钥其实是 64 位长度的 16 进制字符,不利记录也容易记错,所以早在 2013 年,比特币社区就通过 BIP39 协议:用算法将私钥转换成了一串 12 ~ 24 个容易记住的单词,也就是我们今天常见的“助记词”。
比如REI Network 是EVM 兼容链,用户可以使用Metamask 钱包登陆链上应用,接收发送$REI 资产,这里可以查看如何通过Metamask 钱包使用REI Network。
https://www.youtube.com/watch?v=fWzVta-mtQE
但如果用户的私钥弄丢了或者是被黑客攻击,那么钱包内的资产就丢失了,并且最开始的记私钥,登陆钱包已经把部分习惯链下交易的用户挡在门外,严重影响了社区参与网络治理的积极性。据统计,每年因私钥泄露问题导致资产丢失的数额可达数亿美元,远至 Wintermute 为代表的行业专业做市商,近至arb 空投地址私钥被黑客攻击造成损失。
MPC(多方计算)钱包可以一定程度解决这个问题,多方计算(MPC)是一种加密技术,允许多方联合计算一个函数,而不透露他们各自的输入,确保数据隐私和安全协作。
MPC(多方计算)钱包如何实现安全保存资产?
在加密货币钱包的背景下,MPC技术被用来保护钱包的私钥,将其分成多个份额或秘密。每个份额由单独的一方持有,完整的私钥在签署过程中的任何时候都不会被暴露或重构。相反,各方共同执行签署交易所需的加密操作,同时保持各自份额的隐私。
当你创建一个传统钱包时,实际上会得到一对配套的公私钥。其中公钥通过某种转换形成了你的钱包地址,可以公开给其他人看;而私钥在自己手中,不可分享给他人。
接下来,你在钱包中发起了一笔交易。实际上你使用了自己的私钥对交易进行了签名并发出,即表示“我同意这笔交易”;其他人由于可以得到你的公钥(地址),可以很容易的验证确实是由签名发出,于是经过一系列验证后判定交易有效。
这时如果我拿到了你的私钥,那么我同样也可以通过该私钥签名来执行交易,从而转走你地址里的资产。
这里的问题在于,传统的钱包采用的是单方签名模式,对私钥安全性的依赖极高。我们只承认私钥的唯一性,而它的保管环境如何,背后是真正的主人或是小偷,无从识别。
而对于 MPC 钱包,情况稍有不同。
首先,钱包由多方共同创建。假设甲乙丙 3 方共同创建了一个钱包地址,基于多方计算密钥生成协议,此时并不会生成一个单独的私钥,而是3方各自都会拿到一份密钥碎片(keyshare)。
注意,3 方手上均不是完整的私钥文件,而是 3 份不同的密钥碎片。其中的任何 1 个碎片都不具备单独掌控钱包地址中资产的能力,但每1个碎片都对应着同样的钱包地址。
随后,在交易发起时多方安全计算和多方签名共同发挥作用。甲乙丙 3 方分别用自己所持的密钥碎片,对一笔交易进行签名,你可以通俗的理解为 3 份签名碎片。
类似多签钱包,你也可以设置一个签名阈值,例如 3 个人必须都进行签名,才能发起一笔交易。
此时,多方安全计算(MPC)会在不暴露每一份密钥碎片的情况下,对3份签名碎片进行汇总,从而形成一份完整的多方签名。其他人也可以轻易的验证这份完整的多方签名与钱包地址的对应关系,从而判定交易有效。
MPC(多方计算)钱包如何与REI Network 结合?
目前市面上面向普通大众日常使用的且成熟可用的 MPC 钱包并不多,但REI Network 仍然会积极探索MPC(多方计算)钱包与网络应用的结合。
首先会与行业内优秀的MPC 钱包合作,让其接入REI Network 和生态,REI Foundation 会持续的跟进MPC 钱包的发展,对于社区有意做MPC 钱包与REI Network 结合的技术创新会予以Grants 奖励。
MPC 钱包将从哪些方面改善REI Network 的网络环境?
增强安全性: 通过将私钥分割成多个份额,MPC钱包减少了单点故障的风险,即使攻击者获得了一个份额,他们也无法在没有获得其他份额的情况下破坏钱包。保证REI 的用户使用钱包不用担心因私钥丢失造成资产亏损。
改善隐私: 由于参与MPC过程的各方不会透露他们的个人输入,因此每个参与者的份额的隐私在整个过程中都得到了维护。
抵抗密钥泄漏: 在传统的钱包设置中,私钥必须被重构以签署交易,增加了密钥泄漏的风险。在MPC钱包中,私钥永远不会被完全重构,减少了密钥泄漏的可能性。
协作控制: MPC钱包使多方能够共同管理一个钱包,促进协作控制和决策,这一功将有利于REI Network 的社区委员的发展。
密钥恢复: 在MPC钱包的一些实现中,密钥份额可以在受信任的各方之间分配,以便在用户失去对其钱包的访问时实现密钥恢复。