LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > Enigma简介之MPC

Enigma简介之MPC

2020-07-09 张江中本笨 来源:区块链网络

Enigma简介之MPC

当前的公有链有两个缺点。第一,隐私数据的安全性没有保障,因为公有链上的数据是公开的;第二,链上无法承载大量计算,比如以太坊,在链上计算是昂贵且低效的。Enigma的出现可以解决这两个问题。

Enigma是一个确保隐私安全的去中心化计算平台。通过点对点网络,允许多方协同对数据进行存储和运算,同时保证隐私数据的安全。其中的关键技术就是Secure Multi-party Computation(MPC)。

什么是MPC?

MPC直译成中文是安全的多方计算,旨在通过去中心化的分布式系统来实现隐私安全的数据计算。

事实上,完全可信的中心化机构是不存在的。你无法百分百放心地把数据交给它而不用担心隐私泄露。而MPC则是利用无需信任的去中心化网络来确保“可信”,即设计这样一个网络(这个网络是在链下的),网络中的每一台计算机智能看到加密后的部分数据碎片,而不是全部,并且这样的数据碎片是无意义的。唯一能够还原出有意义的原始数据的方法就是控制整个网络中足够多的计算机——这个数量是由一个可调节的参数控制的,小到一定比例,大到整个网络。 MPC的实现目前主要有两种方案,Enigma利用的是其中之一——Secret Sharing。简言之,就是有这样两个函数:Share和Reconstruct。Share可以把数据切分成n份单独来看无意义的数据碎片,然后将数据碎片一一分发给网络中的节点;Reconstruct则可以把从各节点收集到的k份数据碎片还原成有意义的原始数据(k小于等于n)。也就是说,如果你想保护某一数据,你可以通过Share把数据“切碎”,分发给网络中的各个节点。如果有攻击者想要盗窃你的数据,他需要攻破k个节点来获取足以还原数据的碎片,对于一个足够大的k,这种难度可想而知。你可以看到,在这个过程中,你保护了你的数据,却没有用到任何密钥。

一个比较容易理解的形象模拟如下图:每个平面就相当于一个数据碎片,三个平面能相交于一点,这个点就相当于原始的数据;而两个平面只能相交出一条直线。

而且,Share切分的数据碎片是具有加法同态的性质的,也就是说直接对这些无意义的数据碎片进行计算是可行的。举个例子,如果要通过MPC的方式计算两个数的和,可以对这两个数分别进行Share操作分发,网络中的每个节点将收到的两个数据碎片相加得到运算结果,只要收集到网络中足够多这样的运算结果,就可以调用Reconstruct得到最终的加和结果了。整个过程中计算工作由各节点代劳,但是各节点都无法得知这两个数是多少。

另外需要提一下同态加密。一般来说,有意义的明文经过加密后得到的是无意义的密文,失去了可计算性。但同态加密的神奇之处在于密文也是可以进行计算的,即把密文经过计算后再解密,得到的结果同直接对明文进行计算是一致的!比如有两个数a和b,经过同态加密后的密文分别是ea和eb,把两者相加得到ec,ec解密后得到c,而c恰恰就是a加b的和!而所谓全同态,就是指密文可以进行任意计算,没有运算类型或次数的限制。 有了全同态加密技术,以后数据持有者甚至可以把大量数据的复杂运算外包给第三方去做,而不用担心隐私数据暴露给第三方,因为第三方拿到的是全同态加密后的数据。但是,目前同态机密技术还在发展过程中,其性能和效率还有待提升。

根据白皮书,Enigma还对MPC进行了一系列的性能优化,比如分层MPC,网络缩减,可适应电路等。这些都比较学术,具体可以细看白皮书。

参考资料:

1. Computing Over Encrypted Data

2. Enigma Whitepaper

?

—-

编译者/作者:张江中本笨

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...