区块链隐私保护方案:零知识证明、可信执行、多方计算、同态加密

在现在这个网络发达的时代,个人隐私已经变成一个既敏感又常见的问题,随着有越来越多的人加入区块链,私人钱包被盗或是隐私外露等等这些事件层出不穷,这使得大家对隐私保护的需求在逐步提升。区块链技术最受人敬仰的是它具有匿名、不可篡改以及可追溯的属性,在隐私方面具有先天的优势,对于现阶段的使用者来说这种保护必然也成为了一种 "刚需的存在",可以保护使用者和扩大加密市场是Web3.0的重要方向之一,现在也有越来越多的开发者入场隐私赛道,角逐也越来越激烈,对于隐私保护也出现了不同的解决方案。

基于目前的现况,我将会分别介绍四个主要的隐私解决方案,分别是零知识证明可信执行环境安全多方计算同态加密

Zero-Knowledge Proof

第一个零知识证明,英文缩写为ZKP(Zero-Knowledge Proof)。它有三个基本的特征分别为完整性可靠性零知识性,总而言之要建立零知识证明验证者需要让证明者执行一系列操作,而证明者只有在得知底层资讯的情况下才能正确执行,如果证明者乱蒙一个结果那么验证者极有可能在验证中发现并证明他的错误,如果你听不懂这一大串没关系。我举个简单的例子来让大家理解。假设我今天被强盗抓住了,为了保命,于是我开出条件说我有能力把银行的金库开启,这样强盗就会因为我有价值而不杀我,首先是我要证明我有金库的密码,但同时我又不能把密码告诉强盗,于是我左思右想终于想出了一个解决办法,先让强盗带我去银行金库面前,距离足够远让强盗无法看到我按的密码,但同时距离也足够近确保我没有能力在强盗的眼皮子底下逃跑,那这整个过程就是零知识证明证。

证明者也就是我能够在不向验证者提供任何有用信息(密码)的情况下使验证者相信某个论断是正确的,零知识证明目前有多种实现方式每种方式在证明大小、证明者时间以及验证时间都有它的优缺点,这边举几个目前有在使用零知识证明的热门专案像是Zcash、IdentDiFi还有Aleo。

第二个可信执行环境,英文缩写为TEE(Trusted Execution Environment)。TEE 是一种具有运算和储存功能,并能提供安全性和完整性保护的独立处理环境,它是CPU上的一块区域,这块区域的作用是给资料和程式码的执行提供一个更安全的空间,并保证它们的机密性和完整性,目前移动端的系统执行环境叫做REE(Rich Execution Environment),在REE上面执行的系统叫做Rich OS(Operating System),Rich OS可以给在REE上的应用提供装置的所有功能,例如像是手机的镜头或是触控板这些功能,但是在Rich OS上存在很多的安全隐患,因为它可以获得应用所有的资料,但很难验证这些资料是否被篡改而且还比较容易受到各式各样的攻击。

这个时候就需要TEE帮忙了,TEE提供了一个与REE隔离的环境,可以直接获取REE的资讯,但是REE不能获取TEE的资讯,当用户使用付款时可以透过TEE提供的介面来进行验证,以保证支付资讯不会被篡改,密码不会洩漏,指纹资讯也不会被盗用,相比REE作业系统有着更强的安全性,TEE具体实现形式差别在于:隔离的实现机制还有算力的共享程度,目前像是ChainLink 预言机、Ekiden还有TeeChan都是使用TEE。

第三个则是安全多方计算英文缩写简称为MPC(Multi-Party Computation)。这张图是MPC的原理,它的目的是可以在保护个人隐私资讯的同时实现隐私资料共享,目前在MPC领域中主要用到的是技术是秘密共享不经意传输、溷淆电路、同态加密、零知识证明等关键技术,其实MPC你可以把它想像成是一堆协议的总集合,目前MIT Engima就是使用MPC的应用,他们计划将区块链用于医疗资料的分享和隐私计算。

最后一个就是同态加密,英文缩写为HE(Homomorphic Encryption),HE的重点在于关注数据处理安全,它提供了一种对加密资料进行处理的功能,也就是说其他人可以对加密资料进行处理,但是处理过程中不会洩露任何原始内容,同时拥有私钥的使用者对处理过的资料进行解密之后得到的正好就是处理后的结果,听起来好像有点抽象,没关系这边举个生活中的实际例子。

假设我今天买了一大块金子,我想让工人把这块金子打造成一个金项链,但是工人在打造的过程中有可能会偷金子,毕竟一克金子也是挺值钱的,因此我就开始想能不能有一种方法让工人可以对金块进行加工,但是又能够阻止他得到任何金子?这方法当然是有办法,我可以将金子锁在一个密闭的盒子里面,然后在这个盒子里面安装了一个手套,工人可以带着这个手套对盒子内部的金子进行处理,但是盒子是锁着的所以工人不仅拿不到金块,连处理过程中掉下的任何金子都拿不到,加工完成之后,我再拿回这个盒子,把锁开启就能得到金子,处理这个盒子的过程就大概像是这张图。

这里面的关系是:盒子就像是加密算法,盒子上的锁则代表使用者的私钥,将金块放在盒子里面并且用锁锁上也就是代表将资料用同态加密方案进行加密,加工则是代表应用同态特性,在无法取得资料的条件下直接对加密结果进行处理,最后的开锁也就是对结果进行解密直接得到处理后的结果。虽然说同态加密这方法看似简直完美,但是这么好的特性肯定会带来一些缺点,目前同态加密最需要解决的问题在于效率,一个是加密资料的处理速度,另一个是这个加密方案的资料储存量。

我们可以直观地想一想这个问题,工人戴着手套加工金子,肯定没有直接加工来得快,也就是说隔着手套处理精准度会变差,加工的时间也会变得更,长而且工人需要隔着盒子操作也就代表他需要更专业的技术,金子放在盒子里面为了操作,总得做一个稍微大一点的盒子(储存空间问题),要不然当手操作不来的时候,里面也会要放一些小工具这些也都是需要空间的对吧。

至于在区块链中如何应用HE,爲了保护链上资讯的隐私性,同时又能实现区块链节点对相关资讯的可计算性,可对资料进行同态加密,并将计算过程转化为同态运算过程,节点即可在不知道明确资料的情况下实现加密计算,总结来说隐私性问题是目前密码学研究中最令人兴奋的领域之一,但是由于隐私赛道的技术门槛比较高,而且在理论技术的效率方面还有大量工作需要落实,这也是非常的具有挑战性。

但是从客观角度来看,资本过去几年非常积极布局隐私赛道,能看出作为底层基础设施隐私解决方案,是一个未来必须要完成的底层架构,因为它在确保财务资料与商业机密不被洩露承担了关键性作用,因此隐私必然成为加密生态迎来下一波爆发的重要基础设施。

再从开发者与资本的大量流入来看,隐私赛道仍然处于早期阶段,有充足的时间与资金,目前大部分隐私基础设施及应用仍在开发与建设当中,未来它们能否形成对通用智慧合约平台的强力竞争,并且在广泛的资料使用场景中赢得更多使用者,仍然是值得我们继续观察的,希望今天的分享可以帮助到各位更加了解加密的隐私方案。

猜你喜欢

转载自blog.csdn.net/ab6326795/article/details/131597079