Jolt Inside:a16z揭示构建区块链未来的核心技术

华雨欢1 小时前

作者:a16z crypto;编译:Block unicorn

前言

近日,LayerZero 推出了其全新区块链 Zero,这一突破性进展融合了多项技术创新,其中包括一种全新的零知识证明方法,将交易执行与验证分离。而这一切的背后,离不开“Jolt Inside”的支持。

那么,什么是 Jolt?Jolt 是一款开源的 RISC-V zkVM(零知识虚拟机),以其快速、安全和易用性著称。它代表了一种基于 a16z crypto 三年研发的先进 SNARK 设计方法,并已开源供全球开发者使用或进一步开发。然而,Jolt 的诞生并非一蹴而就,而是历经数十年技术积累的结果。

zkVM 和 SNARK 的重要性

在深入探讨 SNARK 设计的演变之前,我们需要了解 zkVM 的定义及其意义。

zkVM 被广泛称为“零知识”虚拟机,但其更核心的特性是简洁性。虽然“零知识”对隐私保护至关重要,但“简洁”意味着生成的证明短小且易于验证——这是两个不同但常被混淆的特性。(Jolt 已具备简洁性,并将在未来实现零知识。)

那么,为什么 zkVM 如此重要?zkVM 和更广泛的 SNARK(简洁非交互式知识论证)是区块链可扩展性、隐私性和安全性的重要组成部分。这些技术不仅在加密行业中有着广泛应用,还在其他领域展现了巨大潜力。

由于传统设计架构的限制,业界在构建 zkVM 时通常采用复杂的方法。然而,Jolt 从一开始就专注于一种全新的 SNARK 设计方法,旨在实现更高的效率、可用性和性能。

简单来说,zkVM 是一种证明计算机程序正确运行的技术。与其他 SNARK 相比,zkVM 对开发者更加友好。通过利用现有的计算基础设施(如开源的 LLVM 编译器生态系统),开发者无需学习领域特定语言 (DSL),即可在自己熟悉的编程语言中发挥 SNARK 的强大功能。

这与现代密码学领域的许多技术相似——我们拥有用于加密和数字签名的标准库,普通开发者每天都在使用这些工具,而无需深入了解其内部机制。Jolt 为开发者提供了类似的抽象层:只需使用现有程序并对其进行验证,而无需担心底层交互。

借助 Jolt,开发者无需任何 SNARK 专业知识,只需按下一个按钮,即可使用已编写的代码生成证明。

然而,即使 Jolt 取得了诸多进步,生成中等复杂度的证明(例如单个标准 CPU 核心执行一秒钟的操作)仍然需要强大的计算能力。为了在合理时间内生成复杂的证明,通常需要多个 GPU。LayerZero 将 Jolt 证明器移植到 CUDA,并推出了 Zero,结合了 Jolt 底层的高度并行化算法与 GPU 的硬件优势,从而实现了更高阶的扩展性。LayerZero 致力于推动 Jolt 在生产级 GPU 上的应用,包括合作开发 GPU 友好版本的 Jolt 算法,这对提升 zkVM 和证明的可扩展性至关重要。

开源研发的力量

Jolt 本身是开源的,任何人都可以基于其创新技术进行开发。开源是终极倍增器:通过公开共享成果,更多人能够使用、测试、改进并在此基础上进一步创新。

风险投资公司投资开源项目或许看似不同寻常,但现代研发的结构决定了大部分开发工作要么发生在公司内部(如企业实验室或基金会实验室),要么发生在学术界。我们成立 a16z 加密研究机构的目的,正是为了打造一个连接学术理论与产业实践的研究实验室和工程团队。作为一家风险投资公司,我们还能资助其他机构无法支持的项目,尤其是在逆向投资的情况下。

对于 Jolt 而言,逆向设计方法尤为重要,因为它代表了与以往设计方法截然不同的“范式转变”。这种设计演进历经多年。

创新的故事:架构设计的转变

要理解 Jolt 在 SNARK 设计方法上的重大变革,我们需要追溯到两千多年前:古希腊人开创了形式化数学证明系统的发展,后来中东、亚洲及其他地区的学者也对其进行了拓展。

这些早期的证明——一步步推导出的逻辑结论——被记录在形式语言或公式中,以便任何人能够验证。例如,一位数学家可以将证明写在一本“书”中,另一位数学家逐字阅读这本书来验证其正确性。这种传统的静态书面证明概念,正是著名的“P vs. NP”复杂度类 NP 的体现。

值得注意的是,这种传统的证明方法是顺序的,需要轮流进行:它是静态的,而非交互式的。

时间快进到 1985 年,Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 提出了交互式证明(“IP”)的概念。这种交互式证明方法的核心思想是:两位数学家可以通过实时提问和回答来探寻证明的真谛,而无需等待一方写下完整的证明。

交互式证明的巨大威力直到五年后的 1990 年才被充分认识。当时,Carsten Lund、Lance Fortnow、Howard Karloff 和 Noam Nisan 提出了求和检验协议:一种用于交互式证明系统的代数方法。结合 Adi Shamir 的后续工作,这促成了“IP=PSPACE”这一基础性结论。

  • 如果证明者和验证者能够交互,我们可以快速验证比传统静态证明更复杂的陈述。

换句话说,交互属性赋予了我们在证明系统中的极大优势。而求和检验正是将这种优势转化为高效验证的核心。

遗留架构的持久影响

纵观证明系统的历史,我们经历了从静态到交互式,再到概率性和非交互式(PCP),然后又回到交互式,最后再次回到非交互式的演变。SNARK 出现在这一演进的末端:通过将 Fiat-Shamir 变换应用于 Kilian 的交互式论证,Micali 得到了我们现在所说的第一个 SNARK 构造。

然而,在这些早期基于 PCP 的 SNARK 中,证明者的工作量巨大,计算耗时过长,使得它们难以实际部署。

尽管业界尝试摆脱基于 PCP 的 SNARK 设计方法,但设计者仍然沿用相关概念(如“线性 PCP”),这些方法虽然带来了极短的证明,却没有显著提升证明者的速度。

SNARK 设计师们始终没有回归其根本来源——求和校验协议——来实现更快、更易用的证明者。

跳过中间步骤,正是 Jolt 方法背后的关键洞见。它直接从交互式证明构建 SNARK,直奔求和验证。

‘Jolt Inside’

Jolt 的 SNARK 设计方法基于交互式证明和求和校验协议,充分利用了 CPU 执行中的重复结构。通过观察每个 CPU 核心的“取指-解码-执行”抽象如何适用于批量求值机制,Jolt 以最小的复杂度实现了无与伦比的效率。

相比之下,其他 zkVM 严重依赖“预编译”来实现合理的性能。Jolt 摒弃了这些预编译,因为它们更容易出现 bug,也更难被广大开发者使用。Jolt 的重点在于普及 SNARK。

验证 CPU 执行的正确性正是 zkVM 的核心价值所在。Jolt 充分利用了 CPU 执行固有的“结构”,最大限度地提升了简洁性和性能。

Jolt 从一开始就将可用性与生产级性能放在首位:开发者可以直接验证现有程序,无需修改代码。Jolt 不会强迫团队围绕“预编译”或特殊 API 重构应用程序,而是保持原始代码的完整性,使其更易于采用、审计和迭代。

更重要的是,Jolt 不仅速度更快,而且更简单。其他方案需要为虚拟机的每条基本指令指定一个电路,而 Jolt 只需十行 Rust 代码即可完成。

Jolt 的未来

目前,Jolt 在速度方面已经处于领先地位。随着进一步优化和功能的加入,包括递归和零知识证明,以及从椭圆曲线密码学到格密码学的转变,Jolt 将在今年晚些时候实现速度的又一个数量级提升。

Jolt 让更多应用成为可能。对于区块链而言,可扩展性和去中心化将变得更加易于部署。零知识证明汇总可以开箱即用,无需耗费数月甚至数年的密码工程。

随着 Jolt 的进一步发展,开发者将能够在客户端和隐私保护方面解锁更多用例。例如,手机上的隐私保护应用可以从难以维护变得轻松实现。

从长远来看,这些证明系统将成为世界数字基础设施的核心组成部分。这种通用的加密压缩技术功能强大,以至于很难预测人们会用它开发出哪些应用。其可能性无穷无尽。

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代币币情的观点或立场