您当前的位置: > 热点资讯 >

区块链上你所不知道的隐私!-数字化货币相关知识

发布时间:2020-10-05 02:32

区块链上你所不知道的隐私!很多人对比特币及区块链有误解,认为比特币解决了隐私的问题,但其实不然,比特币是公开透明的账本。V神清晰地梳理了目前区块链隐私的几种解决方案,未来还有很远的路要走。很多人都认同区块链是一种强大的技术。它们允许大量的交互被编码和实施,提高了可靠性,消除了与中心实体管理的进程有关的商业和政治风险,并减少了对信任的需要。

它们创建了一个平台,来自不同公司甚至不同类型的应用程序都可以一起运行,允许极其高效且无缝的交互,并留下审计跟踪,任何人都可以检查,以确保所有的处理都是正确的。然而,当我和其他公司谈论如何在区块链上构建应用程序时,总是会出现两个主要问题:可扩展性和隐私。可扩展性是一个严重的问题;当前的区块链每秒处理3-20个交易,与运行主流支付系统或金融市场所需的处理能力相差几个数量级,更不用说去中心化论坛或物联网的全球小额支付平台了。幸运的是,是有解决方法的,正在积极地致力于实施路线图计划。

区块链的另一个主要问题是隐私。尽管区块链的其他优势是诱人的,但无论是公司还是个人,都不热衷于将所有信息发布到公共数据库中,这些数据库可以不受限制地被自己的政府、外国政府、家人、同事和商业竞争对手随意阅读。与扩展性不同的是,隐私的解决方案在某些情况下更容易实现(尽管在其他情况下要难得多),其中许多方案与当前存在的区块链兼容,但它们也不太令人满意。

要创建一种圣杯技术要难得多,它允许用户在区块链上完成他们现在可以做的一切,但同时也拥有隐私;相反,开发人员在许多情况下将不得不面对部分解决方案、启发法和机制,这些解决方案和机制旨在将隐私带到特定的应用程序中。首先,让我们从圣杯技术开始,因为它们实际上提供了承诺,可以将任意应用程序转换为完全保护隐私的应用程序,允许用户从区块链的安全性中受益,使用分布式的网络处理事务,对数据进行加密,虽然所有的事情都是公开可见,但信息的底层含义完全被混淆。

如要防止读写存储成为数据泄漏向量,还必须设置合约,以便读写操作总是修改合同整个状态的很大一部分,这也是很大的一个开销。最重要的是,当您在区块链上运行代码时,要有数百个节点运行代码,这可以很快就看到技术是如何运行的。不幸的是,这种技术不会很快改变任何事情。

然而,虽然对安全模型有重要的妥协,但是有两个分支技术可以让你几乎可以实现混淆效果。第一个是安全多方计算。安全多方计算允许程序(及其状态)在N个当事方之间被分割,这样你就需要其中的M(例如,N=9,M=5)进行协作,以便完成计算,或者显示程序或状态中的任何内部数据。因此,如果你可以相信大多数参与者是诚实的,那么该方案就像混淆一样好。如果你不能,那么它就毫无价值了。

安全多方计算背后的数学是复杂的,但比混淆要简单得多。 SMPC 也比混淆更有效率,这一点你可以用它进行实际计算,但效率依然很低。加法运算可以处理得相当快,但是每当SMPC实例执行一些非常小的固定数目的乘法运算时,它需要执行一个降阶步骤,涉及从每个节点发送消息到网络中的每个节点。最近的工作将通信开销从二次降低到线性,但即使是每一次乘法操作也会带来某种不可避免的网络延迟。

要求信任对参与者也是一项艰巨的任务;请注意,与许多其他应用程序一样,参与者有能力保存数据,然后未来任何时间点都可以串通。此外,不可能知道他们已经做了这一点,因此不可能激励参与者维护系统的隐私。因此,与公共链相比,安全的多方计算可能更适合于私有区块链,在这种情况下,激励机制可能来自协议之外。

另一种具有很强特性的技术是零知识证明,特别是SNARKs的最新发展。零知识证明允许用户构建一个数学证明,当给定程序在用户已知的一些(可能是隐藏的)输入上执行时,具有特定的(公开的)输出,同时还不透露任何其他信息。

如果你不想完全消耗一个给定的帐户,那么你必须创建两个帐户,一个由接收人控制,另一个由发送人自己控制其余的更改。这实际上是ZCash的方案。对于涉及双方的智能合约(例如,想一想像金融衍生合同在双方之间谈判),零知识证明的应用相当容易理解。当第一次协商合同时,不是创建一个包含实际公式的智能合约,该公式将最终释放资金 (例如,在二进制选项中,公式是如果某个数据源释放的索引I大于X,将所有发送到A,否则将所有发送到B),而是创建一个包含公式的哈希。

当合约终止时,任何一方都可以自己计算出A和B应该得到的金额,并将结果和零知识证明一起提供,也就是有正确哈希的公式提供该结果。区块链可以查出A和B各投入了多少,以及它们得到了多少,但不知道它们为什么投入或得到这个数额。