风险提示:理性看待区块链,提高风险意识!
当前位置:首页 > 专栏 > 正文

零知识证明是什么意思?零知识证明的特性有哪些?

来源: 币界网时间:2024-04-29 09:23

  

零知识证明的概念最早出现于1985年麻省理工学院(MIT)的一篇论文中,该论文由Shafi Goldwasser和Silvio Micali联合发表。他们证明,可以在不透露具体数字或任何其他相关信息的情况下证明该数字的某些性质。

什么是零知识证明(ZKP)?

零知识证明(Zero-Knowledge Proof),简称ZKP,它是一种密码学范畴,允许一方(证明者)向另一方(验证者)证明他们拥有特定的知识或信息,而无需透露实际细节。从本质上讲,零知识证明可以在不透露任何信息的情况下验证陈述的真实性,从而确保隐私和安全。

 

零知识证明主要用于隐私和安全至关重要的应用程序。例如,身份验证系统可以使用zk证明来验证凭证或身份,而无需直接泄露它们。举一个简单的例子,它可以用来验证一个人是否拥有计算机系统的密码,而无需透露密码。

零知识证明工作原理:

零知识证明允许你证明声明的真实性,而无需共享声明的内容或透露你是如何发现真相的。为了使这成为可能,零知识协议依赖于将一些数据作为输入并返回“真”或“假”作为输出的算法。


零知识协议必须满足以下条件:

完整性:如果输入有效,零知识协议总是返回“真”。因此,如果基础陈述是真实的,并且证明者和验证者诚实行事,则证明可以被接受。

 

可靠性:如果输入无效,理论上不可能欺骗零知识协议返回“真”。因此,说谎的证明者不能欺骗诚实的验证者,使其相信一个无效的陈述是有效的(除非概率很小)。

 

零知识:验证者除了声明的有效性或虚假性之外,对声明一无所知(他们对声明“零知识”)。此要求还阻止验证者从证明中导出原始输入(声明的内容)。

 

零知识证明的3个要素:证人、挑战和回应。

证人:证明者使用零知识证明来证明对某些机密信息的了解。证据的“见证人”就是秘密信息,证明者对见证人的假定了解产生了一系列问题,这些问题只有知道信息的一方才能回答。因此,证明者通过随机选择一个问题,计算答案,并将其传递给验证者来开始证明过程。

 

挑战:验证者从集合中随机选择另一个问题,并要求证明者回答。

 

回应:证明者接受查询,计算答案,并将其返回给验证者。证明者的响应允许验证者确定前者是否真的可以接触到证人。验证者选择更多的问题来问,以确保证明者不会不假思索地猜测并偶然获得正确的答案。通过多次重复这种交换,证明者伪造证人知识的机会大大减少,直到验证者满意为止。

 

应用于区块链领域

在加密货币和区块链技术领域,零知识证明可以提供诸多好处。通过使用户能够在不泄露任何敏感信息的情况下证明交易的有效性,有助于维护区块链的隐私和安全。

 

比特币和以太坊等公共区块链的透明度可以实现交易的公开验证。然而,它也意味着很少的隐私,并可能导致用户去匿名化。零知识证明可以为公共区块链引入更多隐私。例如,加密货币 Zcash 基于零知识简洁非交互式知识论证(zk-SNARK),这是一种零知识加密方法。另一个例子是零知识可扩展透明知识论证(zk-STARK),它用于以太坊区块链并提供隐私和可扩展性。

 

使用零知识证明的代表项目:

zkSync

zkSync是一种无需信任的协议,用于在以太坊上进行可扩展的低成本支付,由 zkRollup 技术提供支持。它使用零知识证明和链上数据可用性来保证用户的资金安全。

zkSync将使验证交易的新方法变得可行。将有验证者和监护人,验证者被分配批处理交易和提交安全债券的职责,这些债券总是超过他们验证的TX。它以这种方式保护交易。与此同时,为了确保验证者不会流氓并控制网络,作为多数代币持有者的监护人随机选择验证者。

 

Starknet

StarkNet是一种通用ZKP,能够在其生态系统上更快地部署dApp。StarkNet通过使用2级密码证明和当前代数来促进计算完整性。

此外,StarkNet提供与以太坊相同级别的可组合性,允许开发人员加速开发过程并根据需要创建复杂的解决方案。StarkNet还提供真正的匿名性,不允许从公钥中推断出用户的身份,并支持多调用或单个调用中的许多交易来结算账目。因此,从链下计算层到主要父链以太坊的数据流大大减少。

 

零知识证明特性包括:

保密交易

零知识证明最著名的应用之一是创建保密交易。这种方法使用户能够证明拥有足够资金执行交易,而无需透露实际转移的金额。保密交易有助于保护财务隐私,同时确保交易有效性。

 

身份验证

在去中心化系统中,验证用户身份而不泄露个人信息至关重要。零知识证明为这一挑战提供了一个优雅的解决方案,使用户能够在不暴露敏感数据的情况下验证身份或凭证。该技术可用于访问控制、投票系统和去中心化应用程序的安全身份验证。

 

区块链分片

区块链分片通过将区块链网络分割成更小的并行子链(分片)来提高可扩展性。零知识证明可用于验证跨分片交易,无需每个分片中的节点保存完整交易历史。这可显著减少节点存储和计算需求,提高网络性能。

 

Layer 2 扩展解决方案

Layer 2 扩展解决方案(如 rollup 和侧链)旨在通过将交易和计算移到 Layer 2 来提高区块链网络的可扩展性和吞吐量。零知识证明可用于确保在 Layer 2 上执行的交易的安全性和完整性,使其能够安全地锚定到主链。

 

保护隐私的智能合约

智能合约是自动执行的合约,协议条款直接写入代码中。通过将零知识证明纳入智能合约的执行中,开发人员可以创建保护隐私。

 

 


免责声明:

币界网免责声明:

1.本网站所提供的所有信息仅供参考,不构成任何投资建议。

2.用户在使用本网站的信息时应自行判断和承担风险。

3.币界网不对用户因使用本网站信息而导致的任何损失负责。

4.用户在进行任何投资活动前应自行进行调查和研究。

5.币界网不对用户基于本网站信息做出的任何投资决策负责。

6.用户在本网站发布的任何内容均由其个人负责,与币界网无关。