第1课

零知识 101:从证明到协处理器

本模块介绍零知识证明的概念,并解释它们为何对区块链的可扩展性和隐私至关重要。它探讨了从链上智能合约向链下计算的转变,并介绍了 ZK 协处理器作为可验证计算的模块化层。

什么是零知识证明?

零知识证明 (ZKP) 是一种密码学方法,允许一方(称为证明者)使另一方(验证者)相信某个陈述是真实的,而无需透露除陈述真实性之外的任何信息。从技术角度来说,ZKP 满足三个核心特性:完整性、可靠性和零知识。完整性确保如果陈述为真,诚实的证明者总能说服验证者。可靠性保证不诚实的证明者无法欺骗验证者接受错误的陈述。零知识意味着验证者除了验证声明的有效性外不会学到任何信息。

这个概念并非仅仅是理论性的。零知识证明已经在现代密码系统中被用于验证身份、验证交易和执行政策,而无需透露私人数据。它们特别适合区块链应用,因为隐私和去中心化是关键。

为什么区块链需要 ZK(隐私 + 可扩展性)

以太坊和比特币等公共区块链基于完全透明的原则运行。网络中的每个节点都必须重新执行每个交易才能验证它。虽然这种模式确保了安全性和共识,但却牺牲了可扩展性和隐私性。零知识证明解决了这两个限制。

对于隐私,ZKP 允许用户证明某事 — 例如,交易是有效的 — 而无需暴露交易的内容。这使得保密交易和私人智能合约逻辑成为可能,同时保持公共可验证性。对于可扩展性,ZKP 将计算压缩为简洁的证明。即使原始计算昂贵且耗时,这种证明也可以在链上快速验证。不必在每个节点上执行完整逻辑,只需检查证明即可。这大大降低了 gas 成本并提高了吞吐量。

零知识技术使得在不牺牲信任的情况下扩展区块链成为可能,并在不引入中心化中间人的情况下构建私有应用程序。随着区块链变得更加复杂并被主流采用,这些能力变得至关重要。

从智能合约到链下计算

智能合约已将区块链转变为可编程平台。它们允许开发者构建去中心化应用程序,这些应用程序可以根据预定义的规则自动执行逻辑。然而,智能合约受到区块链本身计算限制的约束。它们必须在链上运行,而在那里每个操作都是昂贵且公开的。

随着去中心化应用程序复杂性的增长,这些限制变得更加问题化。在链上执行大型计算或访问庞大数据集是不切实际的。同时,用户日益要求隐私,而标准智能合约无法提供这一点。

为了解决这个问题,开发者已经开始将计算转移到链下,同时通过密码学证明保持信任。这就是零知识证明发挥作用的地方。不必在链上执行整个逻辑,而是在链下执行重型计算,只将结果的简洁证明提交到区块链。这使区块链保持安全和可验证,同时显著提高性能和机密性。

这种从链上逻辑到链下验证的转变标志着区块链架构的重大转变。它允许应用程序扩展超出以太坊虚拟机的限制,并支持其他方式无法实现的新用例。

介绍 ZK 协处理器:新的模块化层

零知识协处理器是一个专门的链下系统,执行计算并生成其正确性的密码学证明。与直接在区块链上运行的智能合约不同,ZK 协处理器在外部运行。它处理输入,使用 zkVM 或自定义电路运行计算,并生成零知识证明。然后可以将此证明提交到链上,以证明计算被正确执行。

协处理器的概念借鉴自计算机硬件。在传统系统中,协处理器是用于处理特定任务(如图形或浮点运算)的单独处理器。类似地,ZK 协处理器将复杂逻辑从区块链卸载,允许主链专注于验证而非执行。

ZK 协处理器引入了模块化执行环境。开发者可以在专门的链下运行时中构建逻辑,在那里运行大型或私有计算,然后将经验证的结果提交回任何区块链。这种模块化支持跨链组合性,提高性能,并支持更灵活的应用程序设计。

如何融入区块链技术栈

在现代区块链架构中,ZK 协处理器占据了链上智能合约与外部数据或计算源之间的中间层。在基础层,有记录状态、执行规则并验证证明的区块链本身。其上是智能合约,它们定义应用程序的公共逻辑,并接受来自用户或其他合约的输入。

ZK 协处理器与这些智能合约并行或在其下方运行。它们接收来自用户或合约的输入 — 通常以 calldata 或签名消息的形式 — 在链下执行逻辑,并生成零知识证明。证明被提交回智能合约,后者使用验证者密钥验证它。如果有效,合约会更新其状态或触发响应。

这种架构越来越模块化。一个协处理器可以服务于多个合约或应用程序。同样,一个合约可以与多个协处理器合作。该系统也可以跨链扩展。ZK 协处理器可以为一个链上的数据计算证明并将其提交到另一个链,实现具有强保证的跨链互操作性。

免责声明
* 投资有风险,入市须谨慎。本课程不作为投资理财建议。
* 本课程由入驻Gate Learn的作者创作,观点仅代表作者本人,绝不代表Gate Learn赞同其观点或证实其描述。