Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

区块链上的隐私(区块链的隐私保护)

区块链 加入收藏
你知道区块链上的隐私吗?今天小编就给大家整理一些相关信息,希望对大家有所帮助哦!区块链探长(ID:qqtanzhang)文|VitalikButerin来源|蓝狐笔记(ID:lanhubiji)前言很多人对比特币及区块链有误解,认为比特币解决了隐私的问题,但其实不然,比特币是公开透明的账本。V神清晰地梳理了目前区块链隐私的几种解决方案,未来还有很远的路要走。很多人都认同区块

你知道区块链上的隐私吗?今天小编就给大家整理一些相关信息,希望对大家有所帮助哦!

区块链探长(ID:qqtanzhang)文 |Vitalik Buterin来源| 蓝狐笔记(ID:lanhubiji)前言很多人对比特币及区块链有误解,认为比特币解决了隐私的问题,但其实不然,比特币是公开透明的账本。

V神清晰地梳理了目前区块链隐私的几种解决方案,未来还有很远的路要走。

很多人都认同区块链是一种强大的技术。

它们允许大量的交互被编码和实施,提高了可靠性,消除了与中心实体管理的进程有关的商业和政治风险,并减少了对信任的需要。

它们创建了一个平台,来自不同公司甚至不同类型的应用程序都可以一起运行,允许极其高效且无缝的交互,并留下审计跟踪,任何人都可以检查,以确保所有的处理都是正确的。

然而,当我和其他公司谈论如何在区块链上构建应用程序时,总是会出现两个主要问题:可扩展性和隐私。

可扩展性是一个严重的问题:当前的区块链每秒处理3-20个交易,与运行主流支付系统或金融市场所需的处理能力相差几个数量级,更不用说去中心化论坛或物联网的全球小额支付平台了。

幸运的是,是有解决方法的,正在积极地致力于实施路线图计划。

区块链的另一个主要问题是隐私。

尽管区块链的其他优势是诱人的,但无论是公司还是个人,都不热衷于将所有信息发布到公共数据库中,这些数据库可以不受限制地被自己的政府、外国政府、家人、同事和商业竞争对手随意阅读。

与扩展性不同的是,隐私的解决方案在某些情况下更容易实现(尽管在其他情况下要难得多),其中许多方案与当前存在的区块链兼容,但它们也不太令人满意。

要创建一种“圣杯”技术要难得多,它允许用户在区块链上完成他们现在可以做的一切,但同时也拥有隐私:相反,开发人员在许多情况下将不得不面对部分解决方案、启发法和机制,这些解决方案和机制旨在将隐私带到特定的应用程序中。

圣杯首先,让我们从“圣杯”技术开始,因为它们实际上提供了承诺,可以将任意应用程序转换为完全保护隐私的应用程序,允许用户从区块链的安全性中受益,使用分布式的网络处理事务,对数据进行“加密”,虽然所有的事情都是公开可见,但信息的底层“含义”完全被混淆。

当然,把握方向的最强大的技术是密码安全混淆。

一般来说,混淆是将任何程序转化为程序等效的“黑匣子”的一种方式,即程序仍然具有相同的“内部逻辑”,并且仍然为相同的输入提供相同的输出,但不可能确定这个程序内部运作的细节。

(把它想成是“加密”盒子内部的电线,使加密可以自行抵消,对输出最终没有影响,但是它确实会使你完全不可能看到里面发生了什么。

)不幸的是,绝对完美的黑匣混淆在数学上已知是不可能: 事实证明,总是有一些蛛丝马迹可以从程序中提取出来,通过提供输出和特定的输入集即可实现。

然而,我们可以满足的是一个较低的标准:不可区别性的混淆。

从本质上说,给定使用该算法混淆的两个等效程序(例如。

X=(a+b)*c和X=(a*c)+(b*c)),无法确定哪个输出来自于哪个原始源。

要了解这对于我们的应用程序来说是仍然足够强大的,请考虑以下两个程序:1.y=02.y=sign (privkey,0) -sign(privkey,0)一个只返回零,另一个使用内部包含的私钥对消息进行加密签名,下一次执行相同的操作,从彼此减去(明显相同的)结果,并返回结果,该结果保证为零。

即使一个程序只返回零,而另一个程序返回包含并使用加密私钥,如果不可区分性可以满足,那么,两个混淆的程序不可能区分开。

因此拥有混淆程序的人肯定无法提取私钥,否则,这将是区分这两个程序的一种方法。

这是一个相当强大的混淆--大约两年来,我们已经知道如何做到这一点!那么,我们该如何在区块链上使用这一点呢?这里有一个简单的数字代币方法。

我们创建一个包含私钥的混淆智能合约,并接受使用相应公钥加密的指令。

合约将帐户余额加密存储,如果合约想读取存储,则在内部对其进行解密,如果合约想写入存储,则在写入之前对所需结果进行加密。

如果有人想读取帐户的余额,那么他们会将请求作为交易进行编码,并在自己的机器上模拟它:混淆处理的智能合约代码将检查交易的签名,以查看该用户是否有权读取余额,如果他们有权读取余额,则返回解密的余额:否则,代码将返回错误,用户将无法提取信息。

然而,与其他几种此类技术一样,也有一个问题:这种混淆的机制效率极低。

十亿美元的开销是正常的,甚至还是不够的:近期论文估计“在同一个cpu上执行[2位乘法]电路需要1.3 * 108多年。

此外,如要防止读写存储成为数据泄漏向量,还必须设置合约,以便读写操作总是修改合同整个状态的很大一部分,这也是很大的一个开销。

最重要的是,当您在区块链上运行代码时,要有数百个节点运行代码,这可以很快就看到技术是如何运行的。

不幸的是,这种技术不会很快改变任何事情。

退一步说然而,虽然对安全模型有重要的妥协,但是有两个分支技术可以让你几乎可以实现混淆效果。

第一个是安全多方计算。

安全多方计算允许程序(及其状态)在N个当事方之间被分割,这样你就需要其中的M(例如,N=9,M=5)进行协作,以便完成计算,或者显示程序或状态中的任何内部数据。

因此,如果你可以相信大多数参与者是诚实的,那么该方案就像混淆一样好。

如果你不能,那么它就毫无价值了。

安全多方计算背后的数学是复杂的,但比混淆要简单得多。

SMPC也比混淆更有效率,这一点你可以用它进行实际计算,但效率依然很低。

加法运算可以处理得相当快,但是每当 SMPC 实例执行一些非常小的固定数目的乘法运算时,它需要执行一个“降阶”步骤,涉及从每个节点发送消息到网络中的每个节点。

最近的工作将通信开销从二次降低到线性,但即使是每一次乘法操作也会带来某种不可避免的网络延迟。

要求信任对参与者也是一项艰巨的任务:请注意,与许多其他应用程序一样,参与者有能力保存数据,然后未来任何时间点都可以串通。

此外,不可能知道他们已经做了这一点,因此不可能激励参与者维护系统的隐私。

因此,与公共链相比,安全的多方计算可能更适合于私有区块链,在这种情况下,激励机制可能来自协议之外。

本文到此结束,希望能给网友您带来不错的体验。

图集详情底部广告位