随着多方安全计算(Secure Multi-Party Computation,简称MPC)技术越来越受到关注,不少人开始拿MPC与区块链来做比较。本文希望从概念上谈谈这两种技术之间的区别。
乍一看这两项技术有点像,都声称可保护数据安全,都用到了很多密码学技术和理论,部署上也都是多节点分布式,所以当人们谈论MPC的时候,很容易想到,“哎,区块链不也是这样的吗?”事实上,它们有很大不同。
区块链(Blockchain)技术是一种不依赖第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。通俗一点说,区块链是一种由多方共同维护,使用密码学保证传输和能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(Distributed Ledger Technology)。而广义的区块链可以包含更加丰富的计算形式,乃至图灵完备的程序(通常称为智能合约)。
多方安全计算(MPC)的定义是“针对无可信第三方情况下,安全地进行多方协同的计算问题。即在一个分布式网络中,多个参与实体各自持有秘密输入,各方希望共同完成对某函数的计算,而要求每个参与实体除计算结果外均不能得到其他参与实体的任何输入信息。”
简单的说,虽然区块链和多方安全计算都是一