从 zkEVM 到 zkVM 的道路如何提高区块链可扩展性?

2024-12-05分类:区块链新闻资讯 阅读(

自十多年前Bitcoin诞生以来,区块链技术已经取得了长足的进步。 虽然最初的区块链网络在去中心化方法方面具有开创性,但它们面临着重大挑战,特别是在可扩展性方面。 随着区块链应用和用例的不断扩展,寻找可扩展性问题的解决方案已成为当务之急。

该领域最有希望的进步之一是从 zkEVM(零知识Ethereum虚拟机)到 zkVM(零知识虚拟机)的过渡,它具有大幅增强区块链可扩展性的潜力。 在本文中,我们将深入探讨 zkEVM 的世界,探索其局限性,并了解 zkVM 的演进如何为区块链可扩展性带来实质性改进。

零知识证明(ZKP)的兴起

零知识证明在保护互联网上的用户隐私方面发挥着关键作用,特别是当我们努力在区块链上广泛采用时。 它们还有望解决计算挑战。 目前,有两个主要途径可以实现这一目标:zkEVM 和 zkVM。 在这次探索中,我们将深入研究这两种方法,权衡它们的优缺点。 然而,在深入分析之前,有必要了解我们正在优化的目的以及隐私为何如此重要。

在密码学进化领域,就像生物学领域一样,特征的发展是以优化特定结果为目标的。 例如,Bitcoin将安全放在首位,它认识到去中心化的数字货币需要明确的安全性才能获得接受和广泛采用。 Ethereum遵循了类似的道路,强调安全性,同时引入附加层:智能trac提供的可编程性。

密码学演化中的这些迭代往往是相互构建的,每次都会带来其独特的权衡。 就Ethereum而言,每个节点都需要重新执行每笔交易,这带来了巨大的计算挑战,导致高昂的汽油费和缓慢的交易速度。 直接在区块链上执行计算的决定是为了增强安全性和透明度。 然而,这是有代价的:性能和隐私受到损害。

Rollups 是一种通过减少与Ethereum相关的计算负担来增强可扩展性的解决方案。 虽然他们开始解决性能问题,但他们没有考虑隐私问题。 这很重要,因为隐私已经发展成为旨在扩大用户群的应用程序的先决条件。 用户越来越要求对其数据进行更多控制,并对寻求不受限制地访问其信息的实体变得警惕。

应用程序开发人员已经认识到这种日益增长的隐私趋势及其必要性。 因此,他们一直在积极探索通过使用零知识证明(ZKP)来保护隐私的方法。 这些加密协议使用户或应用程序能够验证声明的真实性,而无需泄露任何其他信息。 例如,ZKP 可以确认用户已超过 18 岁,而无需透露其确切年龄或出生日期。

正如 a16z 的 2023 年加密货币状况报告中所强调的那样,开发人员对 ZK 证明技术的采用有望进一步增加。 这一趋势是由学术出版物的激增以及涉及在Ethereum网络上验证 ZK 证明的日常交易数量的增加推动的。 ZKP 背后的势头表明,它们在区块链领域平衡隐私、安全性和可扩展性方面日益重要。

了解 zkVM

需要defi的第一个方面是:虚拟机(VM)由什么构成? 简而言之,VM 是一种能够执行其他程序的软件程序,通常充当执行一组指定指令的迭代循环,这些指令代表“其他程序”。

具体来说,Ethereum虚拟机(EVM)作为负责执行Ethereum智能trac的VM。 2014 年,Gavin Wood 撰写的开创性黄皮书概述了受支持指令及其各自行为的原始汇编,其特点不仅在于其重要性,还在于其独特的黄色。 该论文保持持续更新的状态,旨在反映当前支持的指令数组。

另一方面,零知识虚拟机 (zk VM) 本质上是在零知识证明 (zkp) 系统中实现为电路的 VM。 这与主要侧重于证明程序执行的传统 zkp 系统不同。 在 zkVM 中,重点转向验证虚拟机本身的执行情况。 因此,一些人进行了区分,将非 VM zkps 归类为 FPGA(现场可编程门阵列)方法的一部分,同时将 zkVM 视为 CPU(中央处理单元)方法的组成部分。

在 zkp 系统中,程序或电路是不可变的实体,就像从特定程序编译的二进制文件一样。 因此,zkVM 电路有效地体现了循环的预定迭代次数,这可以比作展开循环。 本质上,zkVM 是一种设计用于执行虚拟机的电路。 实际程序的指令可以作为公共输入引入到该电路中,从而实现正在验证的程序的完全透明。 (如果希望探索更多替代方案,则可以使用多种方法将程序的指令传送给虚拟机。)

多个 zkVM 项目已经出现,其中至少有三项值得注意的努力:

  1. 开罗:该项目由 Starknet 使用,因其细致的纸张而引人注目,被视为一件艺术品。 Kimchi 框架中还包含一个名为“turshi”的实验性实现。
  2. Miden:Polygon 生态系统中正在进行的一个项目,Miden 目前正在开发中。
  3. Risczero:另一个正在进行的计划,Risczero 旨在支持 RISC-V 指令集,这是区块链领域之外广泛认可的标准。

这些项目中的每一个都容纳不同的指令集,使得它们彼此不可互操作。

zkVM 的类型

zk VM 领域可以分为两种不同的类型:

  1. zk 优化的虚拟机:著名的例子包括 Cairo 和 Miden。 这些虚拟机经过精心设计,优先考虑效率,使其速度显着加快。 他们的主要目标是促进与零知识证明(zkp)系统的无缝集成,简化验证过程。
  2. 真实世界的虚拟机:此类别包括支持 RISC-V 指令集的 RiscZero 等虚拟机,以及为Ethereum虚拟机 (EVM) 定制的各种 zkEVM。 现实世界的虚拟机旨在提供与零知识证明领域之外的已建立指令集和生态系统的兼容性。

支持 EVM 背后的动机可以归因于几个令人信服的原因。 首先,对于Ethereum本身来说,它能够创建涵盖整个状态转换的证明——从创世状态到最新的Ethereum状态。 Mina 等项目就体现了这种能力。

其次,对于非Ethereum项目,采用 EVM 兼容性具有无缝整合来自Ethereum生态系统(例如 Uniswap)的项目和应用程序的优势。 这不仅促进了互操作性,而且还为tracEthereum社区的开发人员参与新项目提供了机会。

zkVM的机制

ZkVM 源于我们之前在 TxVM 上的工作,并受到Bitcoin和Ethereum设计的影响,引入了一种新颖的交易格式。 在 ZkVM 中,交易被表示为直接操纵资产流的程序,作为第一类对象,通过交易日志更新区块链状态。 事务日志应用程序与验证的分离实现了高度可扩展的设计,同时为自定义trac提供了强大的环境。

为了增强区块链可扩展性并实现dent价值转移,ZkVM 采用 UTXO(未花费交易输出)模型来表示余额。 所有余额都表示为未花费输出(UTXO)集,可以在交易中创建、销毁和操作。 使用 Utreexo 方案将这些 UTXO 有效存储为 Merkle 根,从而显着降低存储需求并促进完全验证节点的更广泛部署。

在 ZkVM 中,每个输出都是存储在区块链状态中的trac,包含受谓词保护的多个项目——解锁这些项目必须满足的条件。 ZkVM 采用基于 Taproot 的设计,允许通过加密签名或执行验证自定义条件的嵌入式子程序来解锁trac。

ZkVM 中的trac可作为帐户、订单簿和支付渠道等更高级别协议的多功能构建块。 这种灵活性使像 Stellar 这样的平台能够将协议设计选择从共识关键层转移出去,从而促进对各种去中心化应用程序的实验。

关于dent性,ZkVM 在谓词中使用 Taproot 方案来取得平衡。 如果各方合作,则无需透露trac逻辑,但如果各方不合作,安全性仍然完好无损。 即使必须披露trac逻辑,由于零知识验证的约束系统,诸如余额和trac参数之类的数据仍然dent。

ZkVM 利用 Bulletproofs 零知识证明系统,按照 Pedersen 的承诺默认加密值和数据。 用户可以指定秘密值的算术和逻辑表达式,这些matic会自动转换为 Bulletproofs 约束系统。 交易紧凑且高效,小交易的大小从 1 到 1.5 KB 不等,聚合支付的边际成本仅为每个输入输出对 200 字节。 验证是高度并行化的,每个输出仅花费约 1 毫秒。 这种效率使 ZkVM 能够在不影响数据加密的情况下优先考虑安全性,确保数据仅在需要知道的基础上向授权方透露。 此外,Bulletproofs 框架消除了对可信设置的需求,从而能够在 ZkVM 之上创建新协议,而无需对每个功能进行全网络升级。

从 zkEVM 过渡到 zkVM 的必要性

zkEVM 的局限性

虽然 zkEVM 引入了重大改进,但它仍然存在一些限制,阻碍了其可扩展性潜力:

  1. 兼容性有限:zkEVM 主要是为Ethereum网络设计的。 这意味着其他区块链平台无法轻易采用该技术,从而限制了其对区块链生态系统的更广泛影响。
  2. 复杂性:实现 zkEVM 需要对零知识证明和密码学有深入的了解。 这种复杂性使得开发人员将 zkEVM 融入到他们的项目中变得具有挑战性,进一步限制了它的采用。
  3. 存储和数据挑战:zkEVM 没有有效解决区块链上的数据存储问题。 大数据存储需求仍然是可扩展性的瓶颈。

向 zkVM 的过渡:可扩展性的突破

认识到 zkEVM 的局限性后,区块链社区踏上了开发更加通用和可扩展的解决方案的旅程,导致了 zkVM(零知识虚拟机)的诞生。

zkVM 建立在 zkEVM 的基本原则之上,同时解决了它的缺点。 让我们探讨 zkVM 如何彻底改变区块链可扩展性:

  1. 跨平台兼容性:与 zkEVM 不同,zkVM 的设计与区块链无关。 这意味着它可以集成到各种区块链网络中,而不仅限于Ethereum。 这种更广泛的兼容性为 zkVM 对整个区块链生态系统产生更重大的影响打开了大门。
  2. 改善用户体验:zkVM 旨在简化开发人员的实施过程。 通过提供用户友好的工具和界面,zkVM 使开发人员能够更轻松地利用零知识证明的强大功能,从而降低进入门槛。
  3. 增强的数据管理:zkVM 更有效地解决数据存储问题。 它引入了数据压缩和存储的创新技术,降低了区块链上的存储要求。 这种优化通过减少区块链数据的大小对可扩展性产生直接的积极影响。
  4. 更快的交易处理:借助zkVM的链下计算能力,进一步减少了区块链网络上的计算负载。 这会带来更快的交易处理时间、更低的费用并提高整体性能。

我们优化的目的是什么?

洛克希德·马丁公司开始着手打造 F-35 的雄心勃勃的任务,将其设想为一种多功能战斗机,能够取代专门的空对空和空对地战斗机。 然而,这一努力遇到了重大挫折,比原计划晚了十年,并在行业专家中赢得了“有史以来最不成功的战斗机之一”的声誉。

这次经验的主要收获是,当设计一个系统时考虑到特定目的时,与尝试同时优化多个目标的解决方案相比,它通常擅长履行该特定角色。

与区块链领域相似,Ethereum最初被认为是一个完全公开和透明的平台。 如果试图将隐私功能引入这样的区块链,它不太可能达到与从一开始就以隐私为核心原则设计的系统相同的性能水平。 这带来了工程挑战,因为开发人员必须调整最初不打算在这种情况下运行的程序,从而导致创建复杂且笨重的电路。

然而,替代方法涉及开发专门为隐私而设计的专用应用程序层。 这种方法可以优化隐私相关的功能,同时获得零知识证明带来的好处,我们将在下一节中深入探讨这个主题。

zkVM 和 zkEVM 的实际应用

zkEVM 和 zkVM 在各个领域都有应用,有望重塑行业和区块链用例:

  • DeFi革命:去中心化金融( DeFi )平台可以利用zkVM和zkEVM来提高交易速度、降低费用并保护敏感的金融数据。
  • 供应链转型:使用 zkVM 和 zkEVM 可以提高供应链的trac
  • 医疗数据安全:zkEVM 和 zkVM 可以确保医疗数据的隐私和安全,从而实现授权方之间的信息安全共享。
  • 游戏和 NFT :游戏行业和不可替代代币 (NFT) 市场可以受益于 zkVM 和 zkEVM 提供的更快的交易和安全的数据处理。

zkVM 和区块链可扩展性的未来

随着 zkVM 在区块链领域获得trac,它有可能解决限制区块链采用和增长的长期可扩展性问题。 然而,与任何新兴技术一样,也存在需要克服的挑战和需要牢记的注意事项:

  1. 采用障碍:虽然 zkVM 与各种区块链的兼容性是一个显着优势,但广泛采用仍然取决于区块链项目是否愿意将该技术集成到其网络中。
  2. 安全问题:零知识证明引入了复杂的密码技术,任何漏洞都可能带来重大的安全风险。 持续审核和改进 zkVM 实施对于维持用户的信任至关重要。
  3. 监管环境:随着区块链技术的发展,它将继续面临监管审查。 监管机构将如何对待零知识证明及其应用还有待观察,这可能会影响 zkVM 未来的采用。

结论

从 zkEVM 到 zkVM 的历程代表着在解决区块链可扩展性挑战方面向前迈出了重要一步。 虽然 zkEVM 奠定了基础,但 zkVM 提供了更通用和可扩展的解决方案,有可能彻底改变区块链技术在各个行业的使用方式。

向 zkVM 的过渡并非没有挑战,但它在跨平台兼容性、用户友好性、数据管理和事务处理速度方面带来的好处使其成为区块链领域引人注目的进步。 随着 zkVM 不断发展并在区块链生态系统中找到自己的位置,我们可以期待看到更具可扩展性和更高效的区块链应用程序,这些应用程序有潜力改变行业并改善世界各地人们的生活。

Tags: