区块链利用非对称加密的方式使用户的密钥分为私钥和公钥,其中公钥公布在网络当中,用于数据交互和地址访问,而私钥则保管在用户手中,用于保护自己的数据和资产安全。

这种公、私钥分离的方式,是一种安全系数很高的加密机制。但这个机制中,和其他的加密方式类似,私钥一旦被他人窃取,用户的数据和资产便会被盗取。事实上,在区块链发展的这些年中,经常会出现因私钥泄露而导致资产丢失的网络安全问题。黑客在无法通过公钥逆推出私钥的情况下,选择了直接窃取用户私钥。

为什么用户私钥会被窃取?这里我们就需要了解当前较为主流的几种私钥保护方式:

其一:用户自己保管

这通常是指用户通过冷/热钱包对自己的私钥进行管理,钱包中会存在一组私钥。冷钱包由于全程离线的特点,可以说拥有很高的安全性。而热钱包由于触网的原因,是有可能会被黑客截取私钥信息的。

不过,冷钱包虽然更安全,但由于区块链在加密时采用的哈希算法生成的私钥是一串很长的字符,记忆相对比较困难,通常会采用助记词的方式辅助记忆,用户也基本会利用笔记本、备忘录等工具记录,这些记录方式是有可能导致私钥遗失的。

其二:多重签名的共同保管

这种保管方式是利用智能合约使其在执行前通过多个私钥来签署交易提高安全性。多重签名的方式虽然让交易变得更安全,但同时,它也产生了新的风险,那就是持有私钥的多个签名者是否完全受信,如果有签名者存在恶意行为,那么资产同样会面临安全威胁。

其三:第三方托管

这是通过第三方机构来对用户私钥进行存储和管理的一种方案,第三方机构通常会结合多重签名、硬件安全模块(HSM)等更加专业的多种保护措施确保私钥安全性。

不过,这也有个前提,用户需要相信第三方机构会保护私钥,并且不会暗中使用用户资产。

从上述的几种私钥保管方式来看,其中或多或少都存在着一定的不足,而这些正是黑客攻击的关键性漏洞。

在总结了经验之后,开发者提出了一个安全性更高的保护方式,被称之为多方计算(MPC),这是一种将私钥拆分为多个片段,分别共享、加密并发送到多方节点中的保管方式。

这种方式的好处在于,只要用户不使用钱包,那么私钥就永远呈现分离的状态。黑客在攻击时,除非完全攻破所有的存储设备,否则就无法得到完整的私钥。这无疑是降低了私钥被攻击的风险。

另外,MPC 还可以在不改变私钥的情况下,对共享的片段进行更新,也避免了长时间存在一个设备中而导致被破解的风险。