zk-SNARK是什么?zk-SNARK详细原理介绍
什么是zk-SNARK?
zk-SNARK全称为Zero-Knowledge Succinct Non-interactive Argument of Knowledge,翻译过来即“零知识简洁非交互式知识论证”,是一种零知识证明(ZKP)。
- ZK:zero knowledge零知识
零知识意味着正在验证声明的人无法从验证过程中获得任何新信息。换句话说,在零知识证明过程中,验证者只知道陈述是对还是错,除此之外一无所知。
- S:simplicity简洁
简洁的 zk-SNARKs 证明是简短且易于验证的证明。这与常规的零知识证明形成对比,后者可能非常长且复杂。通常,zk-SNARK 证明可以在几毫秒内得到验证。
- N:non-interactive非交互式
非交互式 zk-SNARKs 证明不需要证明者和验证者之间的任何交互。这意味着只有一条结果消息从证明者发送到验证者。这与交互式证明形成对比,在交互式证明中,证明者和验证者必须相互来回交互才能完成证明。
- AR:argument论证
论点是支持一个观点的一个或一组理由。在 zk-SNARKs 的上下文中,论证是一系列数学运算,用于证明一个陈述论点是正确的。
- K:knowledge知识
知识是指证明者知道完成证明所需的某些信息的想法。例如,这可能是帐户的私钥。
zk-SNARK是零知识证明(ZKP)的一种形态,具有简洁、高效和非交互性的特点,在区块链隐私保护方面发挥了重要作用。zk-SNARK模拟了零知识,这是一种验证链上交互而不泄露相关信息的证明系统属性。证明系统是加密审计员,用于证明交互发生并验证交易输出的正确性。
在zk-SNARK协议中,允许一方(证明者)向另一方(验证者)证明某个陈述为真,而无需透露交易信息,也无需两方之间的任何交互来证明和验证这些信息。这是一种使交易在区块链上保持私密和完全加密的方式,同时仍然可以使用网络的共识规则进行验证。它主要用于区块链网络中三个主要领域:可扩展性解决方案、私密交易和身份保护。
zk-SNARK需要两个参与方——证明者和验证者——必须可用并重复交互。证明者将秘密信息传递给一个特殊算法来计算ZKP,然后将证明发送给验证者,以使用另一个算法检查证明者是否知道秘密信息。
zk-SNARK工作原理
zk-SNARK协议的工作原理可以概括为三个步骤:初始化、构建证明和验证证明。
在初始化阶段:通过Setup算法生成公共参数。这些参数将用于后续的证明和验证过程。
在构建证明阶段:证明者(Prover)使用公开输入和秘密输入构建一个简洁的证明。这个证明能够证明某个语句是真实的,而不需要透露任何秘密信息。
在验证证明阶段:验证者(Verify)算法使用公开输入、公共参数和构建的证明来验证语句的真实性。如果验证成功,则认为证明者拥有满足条件的信息。
zk-SNARK允许交易的发送方在不透露任何涉及的地址或金额的情况下证明这一切。为了做到这一点,区块链网络在zk-SNARK中编码了一些共识规则。
在交易过程中,zk-SNARK将需要证明的信息转化为方程。这些方程可以在不透露信息本身的情况下计算和求解。交易的发送方会构建一个证明来证明,包括:
传输的输入和输出值匹配。
发送方拥有输入的私有支出密钥。
这些私钥以加密方式与交易的数字签名进行链接,以确保它不能被没有私钥的人修改。
免责声明:
币界网免责声明:
1.本网站所提供的所有信息仅供参考,不构成任何投资建议。
2.用户在使用本网站的信息时应自行判断和承担风险。
3.币界网不对用户因使用本网站信息而导致的任何损失负责。
4.用户在进行任何投资活动前应自行进行调查和研究。
5.币界网不对用户基于本网站信息做出的任何投资决策负责。
6.用户在本网站发布的任何内容均由其个人负责,与币界网无关。