区块链的隐私保护已成为必然?四种方案出炉!

目前来看,隐私性的问题确实存在。

如果我们仅仅是为了保护区块链交易的安全性,而对隐私性的问题视而不见,或者通过削减节点的方式来使两者得到兼顾,那么我不认为这是妥善有益的解决方法。

由此,该如何在保证安全性的前提下,让隐私性得到保护?发展至今,我们探索出了几种解决方案。

其中有一些是尚存在于理论上的技术解决方案,还有一些是使用上高科技手段的“黑科技”解决方案。下面我开始介绍四种主要的解决方案。

四种适用于区块链的兼顾隐私性和安全性的解决方案:

  1. 通道(Channels)
  2. 混合器(Mixers)
  3. 环签名(Ring Signature)
  4. 零知识证明(Zero knowledge proofs)

在其中,虽然四个方案各有优缺点,但普遍认为零知识证明(Zero knowledge proofs)是“最为强大”的解决方案,潜力最大,尽管技术实现难度最高,但在保护区块链网络的隐私性和安全性上,其效果最佳【注:2014年提出,仍处于前期】。

现在来一一解释四种解决方案的基础原理:

1 通道(Channels)

第一个介绍的主要解决方案是通道解决方案。

支付手段的革新,推动了通道技术的发展。从交易的两方来分别观察这样一个支付通道,其实就是将其开启以后,其中一方便通过它,向另一方发起执行包含交易的智能合约的请求的这样一个过程。

交易双方的隐私性如何得到保护?在我们的网络中,假设有交易两方分别名为Alice和Bob,Alice向Bob发送了双方的交易总额为0.1个币的智能合约,这个智能合约就代表了支付通道。在发起以后,交易都是在链下进行,支付操作也发生在线下。

作为交易的两方,只有Alice和Bob才能掌握到交易其中的详细信息,通过这一通道发起的交易,和票据交易类似,只有其中任何一方才能进行彼此验证、查看和签名。每一笔交易,都需要Alice签名发出,经由通道被Bob得到,再签名验证。

如图所示,即使是交易额很小的一笔交易,也需要另一方的签名来确认完成。在序列号为1的交易中,我们看到“Alice:0.0999 Bob:0.0001”的字样,这代表着什么?代表着:“我 ,Alice,持有着0.0999的币,经过签名确认,向持有0.0001的Bob发起交易”。接着,序列号为2的“票据”亦是同理。

那么,如果还想发起一笔交易,就还需要签名。签名次数越高,说明交易发生的越晚,通过这种方式可以知道交易发起的次序,一直到序列号100的那笔交易,Alice持有0.0635的币,而Bob持有0.0365的币,从而能够最终确认,在他们总共包含0.1个币的智能合约交易中,Alice持有0.0635,Bob持有剩余的0.0365。所以,一笔交易的序列号越大,意味着这笔交易越能体现交易双方的近况。

如果,任何一方想起将交易进行溯源查看,只要凭着收到的序列号更高的票据,以此为准,就能根据最近的这一票据进行交易核实。

通道之内的交易都发生在链下,只有参与交易的双方才能看到。并且,只有那些在存款、取款和解决途径出现冲突的交易才会被放到链上。

什么是出现冲突的解决途径?继续以Alice和Bob的例子来说明,假如发起交易的Alice一方无法辨认或者不承认Bob的签名,那么智能合约就会认为这笔交易不被交易双方所接受而将其提交至链上待双方追溯处理。

所以,用“通道”这样的方式来发起交易,安全性与在区块链上发起的交易基本一致,但同时保障了交易方的隐私性。

通道解决方案,是完全建立在更高的可拓展性前提之上而得到发明的。你可以在通道中发起交易,而不会使这些交易都暴露在区块链上,原因就在于,每个没有上链的票据,都不会被参与方之外的人看到。

而且同时,任何引入该项解决方案的应用,也能够得到更大的扩展性。

2 混合器(Mixers)

接下来是第二种也相对比较“简单”的解决方案,混合器。什么是混合器?

一般来说,在区块链上发起一笔交易,交易双方都需要知道彼此的地址,而在混合器解决方案中,设置好一个与所有交易方都相连的中心平台,左侧的交易方A1把需要交易的货币和A2的地址发予该平台后,B1、C1亦进行同样的操作,对于右侧的A2、B2、C2也是一样。

这样,交易方需要把账户上的货币,发到另一个相连的中心平台,保证彼此打乱联系后,再重新发送到事先指定好的地址里。

在链上参与方以外的人看来,他们只知道A1、B1、C1这些用户,和A2、B2、C2这些用户发生了交易,却不知道它们相互之间具体的对应关系。

但是这也意味着,在混合器解决方案中,需要一个中心化的服务器的存在。左右两侧的交易方都将货币发送到中心处理器,告诉中心处理器(混合器)应该发到哪里。

这个方式很简单,但不仅保护了隐私性,这个地址不会上链,别人不会看到,但需要充分信任中心处理器,这是基于纯粹第三方的信任。

所以,我们进一步发明了Coin Join改良版本,通过引入智能合约的特性来削弱这种中心化的趋势,同时在一定程度上兼顾其安全性和隐私性。 总的来说,分为三个步骤来完成整个流程:

第一步,在明确了有哪些人涉及到交易之后,将Coin Join智能合约发送给这些参与方;

第二步,在智能合约中,每个人都需明确交易对象和具体指定一个交易地址,来发送货币;

而第三步,即在执行环节,需要得到所有的参与者的同意后才会执行。

只有有一个人不同意,这个进程就会被终止。如果顺利,智能合约会最终被发往到在第一步中各参与方的地址中。

在Coin Join混合器解决方案中,通过这三个步骤来执行交易虽然复杂了一点,还会对交易的效率产生一定的影响,但能最大程度保护交易各方的隐私性,他们的代币和那些使用了该技术的应用的安全性也能得到保障。

说到在其他应用上的扩展性,不仅限于虚拟加密货币的交易应用,只要出于加密处理过的隐私保护需求考虑,都能采用混合器解决方案来解决问题。

在抵抗Sybil攻击上,采用了混合器解决方案之后,还能防止一个用户创造过多的账户来达到攻击的目的,原理即为用这种算法来提供隐私性的保护,使得在混合器解决方案中,用户和账户之间的一致性和有限性得到了保证。

同理,由于这种特质,混合器解决方案还能被应用在隐私性受保护的匿名投票中。

3 环签名(Ring Signature)

除了上述两种解决方案,还有其他不同的高科技的解决方案。这些“黑科技”解决方案,包括了零知识证明,一种在最近十年或二十年才萌生的密码学领域的新型协议,也包括了环签名,它们都采用了密码学中的技术。

所谓的环签名,是一种特殊的群签名组成的协议。在其中,你需要证明的是,你拥有着这组群签名中的任意一个签名的签署权。

在这种情况下,你可以告诉别人,这里有五个签名,其中有一个是你自己的签名。这样,我传送了一段信息给别人,就能够通过这组环签名中专属于我的签名来证实我就是我,不可能是别人。

但是,你仅能证明你的签名存在于这组环签名之中,不能证明确切哪个是你的的签名。

通过这些可读的环签名,你可以具体指定一个账户地址进行加密货币的交易,别人无法得知发送的这些信息源头在哪里,而只知道你是这五个签名中的一个,但是,如果在同一笔交易中出现了两次你的签名,那环签名的匿名性就被破解了。

所以,你可以故意“泄露”一个你的签名,来证明你是这组环签名的所有者之一,但别人只知道你是成员之一 ,却不知道这组环签名代表的资产具体的持有者是谁。

并且,这五个签名之间相互连接,同时可以任意拎一个出来,而对于别人,只会看到里面有五个签名,得以证明资产是五个人签名的所有者之一。

还有,如果用环形签名来进行加密处理,组合运用在混合器解决方案中,只要给出了一次环形签名,隐私性和安全性就能得到保护,效果比其他的解决方案更好。

在混合器中执行交易时,你只要确定一次交易约定,就得到这组交易签名的签署权,但不能签两个名。所以,这使得用户能够在确保去中心化的原则下,和现有的单一环签名技术相比,能更为兼容地保护隐私性和安全性。

所以,无论你是否曾试用过这项技术,现在在这里,可以作为这项技术真正开始落地应用的起点。

4 零知识证明(Zero knowledge proofs)

接下来介绍的解决方案,所应用技术更为“高科技”,我们称之为零知识证明。在保护隐私性上,它也许是使用的技术最为前沿的解决方案。

什么是零知识证明?

零知识证明(Zero—Knowledge Proof)并不是一个全新概念,也不是伴随着区块链的流行而诞生的新技术。零知识证明在我们以往的日常生活中随处可见,我举一个最简单的例子,张三在逛商场的时候把钱包弄丢了,李四捡到了钱包,交给了商场的管理处值班员王五,王五通过商场广播寻找失主前来认领。丢失钱包的张三听到广播后来到管理处认领钱包,那么问题来了,王五怎么确认失主就是张三呢?或者张三怎么向王五证明这个钱包就一定是自己的呢?

为了确保万无一失,王五不能向任何人泄露有关钱包的任何信息,通常,我们运用零知识证明就可以完美解决确认失主身份的问题。

第一:王五不能让张三看到钱包,更不能让他看到钱包里有什么东西;

第二:张三必须提供准确无误的信息,证明钱包就是自己的;

于是,王五问了张三几个问题——

1、钱包的颜色、大小、品牌分别是什么?

2、钱包里有什么东西?比如多少钱?什么证件?证件信息是什么?

如果张三全部答对了,则确认张三就是失主。这种信息验证的手段其实就是零知识证明。

我们可以这样来理解,你拥有着一些数字,同时也存在着一个有空缺的等式,你需要证明的是你无需借助任何其他知识,知道填入这个等式的数字是什么,从而使这个等式成立。

以上这个等式用的数字无论经过加密与否,所有人都能看到,如果它能够让等式成立,这就是零知识证明。不需要经过其他底层数据的辅助即可直接通过验证。

难度最高,保护程度最好

在以往,我们为了证明某些事情,需要引入或借助另外的知识或数据来达到目的,但在零知识证明中,我们无需其他任何底层数据来完成这个证明过程。在区块链公有链的交易中,运用零知识证明使得不需要添加或向外界透露更多的信息即可完成整个交易流程。

实际上,它支持所有基于公有链的服务。在我们全球的无数个节点的交易中,交易过程可能被加密,但我们不需要对其进行解密。

如果都应用上零知证明,每个区块中将只会有哈希数据的存在,它们已经足够支持整个公有链上的交易运行。

通过零知识证明,我们依然可以在不知道关于每一笔交易更多信息的前提,追溯每一笔交易,可以明白一笔交易是接在哪一项交易之后,也依然能知道每笔交易发起的时间。所以,这真的是一项非常强大的保护隐私性的技术。

在除去虚拟货币交易以外的其他领域,同样存在着应用零知识证明的巨大潜力空间。在区块链上数以千计的应用,都能够通过调整让零知识证明得以应用。

而我们遇到的问题是,如何将零知识证明作为通用的方案,在广泛范围内应用起来?在以往,困难在于经过加密的数字几乎不可能被写入智能合约中,来进行零知识证明。

但是,只要你提供的这个答案能够被填入这个等式成立,便能证明你对这个等式有唯一的正确解。

在对这个等式提供了解决答案后,将其放入一个集群中进行优先编译,在其中,它提供所有可能需要的工具来对其进行编译,从而说明零知识证明能够用于所有的场景,最大程度上保证去中心化的原则,并最大程度上对交易的隐私性和安全性进行保护。

零知识证明的优点与不足

总而言之,和其他解决方案相比,零知识具有哪些优点呢?它非常强大,从密码学的角度来看,基于其数学保障性,除了唯一解的数字以外,其他任何数字都无法进行解码,隐私保护性非常高,同时具有非常高的安全性保证。

但与此同时,它还并不是一项完美的技术。其一,它需要建立信任的设置,如果涉及的用户彼此争吵,只要有一个人表示不同意,在这些用户所在的群里没有建立起信任设置,就无法建立零知识证明。

其二,生成证明效率低。但在明年的升级中,我们能够将生成证明的效率从四十秒削减到七秒。

最后,这项新兴的技术仍有待时间的验证。像哈希算法,历经30年才从被提出到真正落地应用,而零知识证明,相对来说,才被投入运用一年多,还是一项没有经过测试的技术。

结语:

我相信,这四种方案都是非常强大的技术,我对其充满信心,在现在以及未来它们能在各个地方大放光彩,在更普遍的范围内得到应用,从而映射出在未来隐私保护的重要性!

欢迎对区块链技术感兴趣的伙伴可以留言/私信交流,如果本文对你有帮助,那就请点个赞/关注再走吧~

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值