当前位置:首页 > 知识 >

区块链中的隐私问题拒绝做透明人,如何保护区块链隐私?

隐私是现代社会的产物,是自由社会的基础。隐私保护也是区块链行业的重要研究方向之一,那么如何实现隐私保护呢?
零知识证明是保护隐私的一种方法。
其实可以用一句话来概括:
“证明者 (Alice) 说服验证者 (Bob) 证明者 (Alice) 知道秘密而不透露秘密。
隐私保护的例子将用于更直观的解释。
隐私保护是什么?
隐私通常是指不愿向他人透露或告诉他人的事情。在数据传输中,它是一种既不愿意也不需要交换的敏感信息。
隐私保护的目的是切断发送人与接收人之间的联系,提高交易数据的隐私性和匿名性,使第三方更难跟踪交易数据的使用和所有权。
以生活为例:
游客们把香钱放进寺庙里的功德箱里。所有的游客都扔了一元硬币。此时,第三方观察到,他知道谁何时扔了多少硬币。但当新手从功德箱里拿出混合硬币时,他分不清是谁扔出去的。
这里的评价箱起到数据保护的作用。
使用积分盒,游客可以快速有效地将自己的数据(即硬币)与其他数据混合。然而,绩效箱有一个缺陷。事实上,游客投入的数据可以不受限制地取出,因此我们需要混淆接收者和数据。此时,可以使用零知识证书来解决证明私有数据所有权而不暴露相关信息的问题。
为什么需要隐私保护?
主要原因是隐私保护帮助我们解决了匿名和隐私问题。
匿名的
目前,公共链的匿名性只起到化名的作用。首先,区分匿名和假名。
匿名需求不相关。不相关意味着从攻击者的角度来看,不可能与用户的任何两个操作相关联。
化名很容易理解。我们在互联网上使用的身份与我们的真实身份无关。例如,在现实生活中,人们可以生成任何数量的公共和私人密钥对,并使用这些公钥发送或接收链上每个交易区块链中的隐私问题,这些公钥充当他们的假名。如果外界不知道区块链中你和公钥之间的隐私,他们就无法将你与你的交易历史联系起来。如果有人能把你和公钥联系起来,他们就能找到你过去的交易历史。没有办法阻止第三方将我们与我们的公钥联系起来。
例如,为了直观地理解上述文本:
作家通常使用化名与读者互动,如《哈利波特》的作者乔安妮·罗琳,一直以JK·以罗琳的名义发表作品。
她为什么要这样做?
很可能是因为她想过正常的生活,而不是让别人发现她是一个著名的作家。不幸的是,一旦你被曝光,假名就毫无意义了。就好像我知道乔安妮一样·罗琳就是 JK 罗琳,我立刻把她和她写的每一部作品联系起来,意识到她一年的版税可能比我有生之年多。
这里我们回答需要隐私保护的原因:
隐私保护可以完全匿名和不可追踪。
零知识证明隐私保护
为了在接收者和受隐私保护的数据之间建立随机连接,在不暴露相关信息的情况下,需要使用零知识证明来解决数据所有权问题。

区块链中的隐私问题拒绝做透明人,如何保护区块链隐私?那么什么是零知识证明呢?
如何在不泄露敏感信息的情况下证明你知道秘密?
零知识证明
接下来,我只从使用零知识证书的角度来解释,这样你就可以从宏观的角度来理解如何使用零知识证书。至于零知识证书的细节,我将在下面的文章中使用流行的方法。
是零知识证明的一般过程。
在这里,我们将电路视为一个黑盒子,强制执行一些约束,这些约束与要解决的问题有关,比如x y=5。
接下来,从Prover将两个值传入电路:Private input(value: 2),public input(value: 3),然后电路将进行一系列操作,检查是否满足约束条件(2 3=5),然后输出证书。Prover 向其发送证书和公共输入,并使用证书和公共输入来验证证书是否正确。如果正确,返回 true,如有错误,则返回 false。
只有证明者知道这个值,这里的私有输入不会对外暴露。公共输入是证明者和 .
因此,上述过程可以概括为证明人证明它知道一个值可以满足 (x 3=5) 不暴露 Private 输入。
基于电路的零知识证明称为通用零知识证明,它将计算问题转换为电路。
下面以zk-Snark为例进行说明。下图是zk-Snark的流程图:
首先,zk-SNARKs 不能直接用来解决任何计算问题。我们必须首先将问题转化为正确的形式,这就是所谓的(QAP)。
在进行 QAP我们可以使用 转换Private input 和 public input 创建相应的解决方案,称为 QAP 见证。证人使用此见证生成证明。
1. 首先,必须有计算问题,通常是NP问题;
2.然后将计算问题转换为等价QAP,步骤如下:
3. 接下来是更重要的一步,可信设置。可信设置产生两个值PK、VK。setup目的是实现零交互验证。它产生的PK和VK相当于神。它帮助我们做一些挑战来验证证明者;
4. Prover 会生成一个带有 PK 和 Witness 并交出证明;
5. 获得此证书后,将使用 VK 做一些验证。这一步发生在链上,由链上的节点或智能合同验证。
到目前为止,你握了zk-snark操作原理。虽然你不明白一些细节,但没关系。这并不影响你的使用 zk-snark 做项目。zk-snark 详细介绍将在后面的文章中介绍。

猜你喜欢

微信二维码

微信