什么是零知识证明,ZKP)?这是许多对区块链感兴趣的投资者想知道的问题。例如,ZKP意味着A可以向B证明他知道特定的信息。却不告诉对方他们到底知道什么。在这个例子中,A是证明者,B是验证者。这在密码学中特别有用,因为它为证明者提供了额外的隐私保护。
要运行ZKP,必须满足以下参数:
完整性:如果陈述为真,则诚实的验证者可以被诚实的证明者说服。可靠性:如果证明者不诚实,他们可以';don’不要通过撒谎来说服验证者这个陈述是可靠的。。
零知识:如果语句为真,那么验证者无法知道该语句是什么。
举一个零知识证明的例子。让';让我们来看看阿里巴巴洞穴是如何运作的。在这个例子中,证明者(P)对验证者(V)说他知道洞穴后面暗门的密码,并提出在不向验证者透露密码的情况下证明它。
证明者可以走路径A或路径B,假设他们最初决定走路径A到达秘密门。同时,验证者V来到入口。他没有';我不知道证明者选择了哪条路径,并声明他们希望看到证明者出现在路径B上。
证明者确实出现在路径B上,但如果这只是巧合呢?也有可能证明者在出发的时候侥幸选择了路径B。,但我被困在门口,因为我没有';我不知道密码。
所以,我们需要做很多实验来确定测试的有效性。如果证明者每次都能出现在正确的路径上,那么证明者就可以证明他知道密码,而无需向验证者透露。