区块链+大数据:突破瓶颈,开启智能新时代
上QQ阅读APP看书,第一时间看更新

2.1.2 区块链保障数据私密性

区块链上的数据本来是公开透明的,所有账户的资产和每一笔交易记录都可以被清楚地看到,这就产生了用户账户数据缺乏私密性的问题,如果某人将自己的账户地址告诉交易的另一方,那么对方就能够通过区块链看到账户的所有资产和历史交易记录。

为了解决数据缺乏私密性的问题,需要使用密码学工具对数据进行加密处理。常用的密码学工具主要有通道(Channel)、混合器(Mixer)、环签名(Ring Signature)、零知识证明(Zero Knowledge Proof)。

1.通道

通道技术的发展得益于支付手段的不断创新,通道实际上是甲方向乙方发起的请求执行包含交易的智能合约的过程。

那么通道如何保护交易双方的私密性呢?假设Ella和John在进行交易,El-la向John发起了交易总额为0.5以太币(ETH)的智能合约,这个智能合约就是支付通道。发起合约后,双方的交易和支付操作都是在线下进行,只有Ella和John两人才能掌握交易的各种详细信息。

在交易过程当中,每一笔交易都需要由Ella签名发出,经过通道到达John手中,即使交易额非常小,也需要对方签名确认。如图2-2所示,在序列号为1的交易中,“Ella:0.499,8”和“John:0.000,2”代表着持有0.499,8以太币的Ella,经签名确认,向持有0.000,2以太币的John发起交易。序列号为2的交易同理,以此类推,直到序列号为100的交易,最终能够确认在总额为0.5以太币的智能合约中,Ella持有0.382,5,John持有0.117,5。

图2-2 通道

每一笔交易都需要签名,签名次数越多,交易的时间越长。交易的序列号越大,越能体现出交易双方的近况。

通道内的交易都在链下进行,只有当出现冲突时,才会在链上解决。比如Ella无法辨认或不承认John的签名,那么智能合约就会认为这笔交易不被双方接受而将其提交到链上处理。

通道既保证了区块链数据的安全性,又保障了交易双方数据的私密性。

2.混合器

混合器是指交易双方将货币发送给一个中心平台,打乱交易关系后再把货币发送到指定地址的过程,如图2-3所示。

图2-3 混合器

混合器不需要交易双方在链上直接将货币发送到对方指定的地址,因为这样没有私密性可言,而是设置了一个与所有交易方都彼此相连的第三方中心平台,交易方A1、B1、C1、A2、B2、C2只需要将货币与对方指定的地址发送给平台,平台会打乱交易关系,然后把货币重新发送到指定地址。这样,链上的用户就只知道A1、B1、C1、A2、B2、C2这些用户间发生了交易,却不清楚具体是谁和谁发生了交易。

混合器保护了交易双方数据的私密性,交易地址不会被其他用户看到,但要充分信任第三方平台。

混合器还有很多应用,比如抵抗Sybil攻击和保护隐私的投票等。

3.环签名

环签名是一种保护签名者信息不被泄露的解决方案。签名者拥有着群签名中任意一个签名的签署权,但不能证明具体是哪一个签名。

应用到区块链交易方面,表现为签名者可以具体指定一个交易地址发送加密的货币,而其他用户只知道是群签名中的一个,却不知道具体是哪一个签名。但是同一笔交易不能出现两次同样的签名,否则环签名的保护措施就失效了。

环签名与混合器组合使用,安全性和私密性更高,因为在使用混合器进行交易时,交易签名的签署权很容易就会得到,和单一环签名技术相比,其组合使用保护能力更强。但要注意,只能签一个名,不能签两个名。

4.零知识证明

零知识证明是目前为止在保护区块链数据私密性方面最强大的解决方案,它难度最高,但是保护能力最强。一般来讲,零知识证明指的是不需要借助任何数据就能够完成整个证明的过程。比如有一个不完整的等式,我们需要在不借助任何其他知识的条件下,确定使这个等式成立的数字是什么,填入数字后如果等式成立,那么这就是零知识证明,如图2-4所示。表现在区块链交易中,则为不需要借助其他任何外界数据即可完成整个交易流程。

图2-4 零知识证明

其中,在C和D之间存在一个阀门,并且知道密码的人才能打开,B知道密码并想向A证明,但证明过程中不想泄露答案。为了实现以上设想,步骤如下。

1)B一直走进洞穴,到达C点或者D点。

2)在B消失在洞穴中之后,A走到B出发的位置。

3)A随机选择左通道或者右通道,要求B从该通道出来。

4)B从A要求的通道出来,如果有必要就用密码打开阀门。

5)B和A重复步骤1)至4)n次。

零知识证明不仅能有效保护数据的私密性,而且还会提供给交易方很多方便,比如追溯每一笔交易,查询每一笔交易发起的时间等。如果用户希望在不需要了解更多交易信息的前提下验证每一笔交易,那么零知识证明就为用户提供了强有力的解决和保护方案。

目前Zcash代币交易已经使用了零知识证明技术,取得了突出效果。除了在虚拟货币领域,零知识证明技术在区块链上的发展空间更为广大,因为零知识证明技术几乎能够被用在区块链上的所有应用当中,能够最大化保证区块链去中心化的原则,同时也能极大保障交易的安全性和私密性。

零知识证明保护隐私的能力极强,因为除了唯一正确的数据,其他任何数据都无法破坏交易。但是零知识证明技术目前并不完善,它也存在着一些明显的缺点,比如生成效率低、需要信任支持等。相信在不久的将来,零知识证明技术的缺点会得到有效修正,它会成为在区块链中使用最广泛且最强大的技术。