玩币族移动版

玩币族首页 > 区块链资讯 >

区块链的 GPU:ZK 协处理器全面解析

ZK协处理器通过链下计算和零知识证明,提高了区块链处理复杂计算任务的能力,降低了Gas费,并扩展了智能合约的功能。

作者: YBB Capital Researcher Zeke

TL;DR

ZK协处理器(ZK Coprocessor)可视为从模块化概念中衍生出的一种链下计算插件,其作用类似于我们传统电脑中为CPU分担图形计算任务的GPU,即针对特定场景下分担计算任务的处理器;

可用于处理复杂计算和重数据,降低Gas费,扩展智能合约功能;

与Rollup的区别:ZK协处理器无状态,可跨链使用,适用于复杂计算场景;

ZK协处理器的开发难度高,性能开销大,标准化不足。而硬件方面又需要大量成本,该赛道虽然较一年前已经成熟了许多,但还处于较早期;

基建迈入分形扩容的模块化时代后,区块链陷入流动性匮乏、用户分散、缺乏创新与跨链互操作性等多种问题,又与垂直扩容的L1之间形成悖论。ZK协处理器未来也许能为两者提供很好的补强,使两者跳出困境,并为旧应用及新兴重应用提供性能支撑,带来更多新鲜叙事。

一.模块化基建的又一分支,ZK协处理器

1.1 ZK协处理器概述

ZK协处理器(ZK Coprocessor)可视为从模块化概念中衍生出的一种链下计算插件,其作用类似于我们传统电脑中为CPU分担图形计算任务的GPU,即针对特定场景下分担计算任务的处理器。在这种设计框架下,公链所不擅长的“重数据”以及“复杂计算逻辑“任务可通过ZK协处理器去运算,链上只需收到返回的计算结果即可,其正确性则由ZK proof保证,最终实现对复杂任务的可信链下计算。

当下AI、SocialFi、DEX、GameFi等热门应用对于高性能和成本控制有着迫切需求,在传统方案中,这些需要高性能的“重应用”往往会选择资产上链+链下应用的形式,或者,单独为应用设计一条应用链。但两者都存在一些固有问题,比如前者存在黑匣子,后者存在开发成本高、脱离原链生态、流动性割裂等问题。除此之外,主链虚拟机对于这类应用的开发及运行限制也很大(例如缺乏应用层标准、开发语言复杂)。

ZK协处理器的存在就是为了解决此类问题,再举一个更详细的例子,我们可以把区块链视为一个无法联网的终端(手机、电脑等),在这种情况下我们可以运行一些较为简单的应用,比如Uniswap等DeFi应用就可以在完全链上的情况下运行。但当更复杂的应用出现时,比如运行一个类似ChatGPT的应用,此时公链的性能与存储就会完全不足,并且Gas爆炸。在Web2的情况下,我们运行ChatGPT时也是如此,常用终端本身并不能处理GPT-4o这种大语言模型,我们需要通过联网将问题传达给OpenAI的服务器,在经过服务器计算推理结果后,我们会直接收到答案。ZK协处理器就类似区块链的远程服务器,只不过在针对不同类型项目的情况下,不同协处理器项目的设计上可能会有些许偏差,但底层的逻辑并不会有太大差别,都是通过链下计算+ZK proof或者Storage proofs进行验证的方式。我们以Rise Zero的Bonsai部署为例,就能明白这种架构的逻辑很简洁,该项目无缝集成于Rise Zero自身的zkVM中,开发者要将Bonsai作为协处理器只需很简单的两个步骤:

编写一个 zkVM 应用程序来处理应用逻辑;

编写一个 Solidity 合约,要求 Bonsai 运行你的 zkVM 应用程序,并处理结果。

1.2 与Rollup的区别是?

在上文的定义中,我们会发现Rollup无论实现逻辑还是目标,似乎都与ZK协处理器有着高度重合的情况。但事实上Rollup更像是主链的多核化,两者的具体区别如下:

1.主要目的:

Rollup:提高区块链的交易吞吐量和降低交易费用。

ZK协处理器:扩展智能合约的计算能力,使其能够处理更复杂的逻辑和更大量的数据。

2.工作原理:

Rollup:汇总链上交易提至主链,通过欺诈证明或者ZK证明。

ZK协处理器:与ZK Rollup相似,只不过两者应用场景不同,ZK Rollup受限于链的形态与规则并不适合做ZK协处理器的工作。

3.状态管理:

Rollup:需要维护自己的状态,定期与主链同步。

ZK协处理器:不维护持久状态,每次计算都是无状态的。

4.应用场景:

Rollup:主要面向C端,适用于高频交易。

ZK协处理器:主要面向B端,适用于需要复杂计算的场景,如高级金融模型、大数据分析等。

5.与主链的关系:

Rollup:可以看作是主链的扩展,通常专注于特定的区块链网络。

ZK协处理器:可以为多个区块链提供服务,不局限于特定的主链,所以同样可以为Rollup提供服务。

所以两者本质上并不相斥,甚至是互补的关系,即使某个Rollup以应用链的形式存在,ZK协处理器依旧可以提供服务。

1.3 用例

理论上来说ZK协处理器的应用范围非常广阔,基本可以覆盖区块链各赛道的项目。ZK协处理器的存在能使Dapp的功能更接近于Web2中心化app的功能,以下是从网上收集的一些示范用例:

数据驱动的DApp开发

ZK协处理器使开发者能够创建利用全链历史数据的数据驱动型DApp,并执行复杂计算,而无需额外的信任假设。这为DApp开发带来了前所未有的可能性,例如:

高级数据分析:类似Dune Analytics的链上数据分析功能。

复杂业务逻辑:实现传统中心化应用中的复杂算法和业务逻辑。

跨链应用:基于多链数据构建跨链DApp。

DEX的VIP交易员计划

一个典型的应用场景是在去中心化交易所(DEX)中实现基于交易量的费用优惠计划,即"VIP交易员忠诚度计划"。这类计划在中心化交易所(CEX)中很常见,但在DEX中却很少见。

使用ZK协处理器,DEX可以:

追踪用户的历史交易量

计算用户的VIP等级

根据等级动态调整交易费用

这种功能可以帮助DEX提高用户留存率,增加流动性,并最终提升收入。

智能合约的数据增强

ZK协处理器可以作为强大的中间件,为智能合约提供数据捕获、计算和验证服务,从而降低成本并提高效率。这使得智能合约能够:

访问和处理大量历史数据

执行复杂的链下计算

实现更高级的业务逻辑

跨链桥技术

一些基于ZK的跨链桥技术,如Herodotus和Lagrange,也可被视为ZK协处理器的一种应用。这些技术主要关注数据提取和验证,为跨链通信提供了可信的数据基础。

1.4 ZK协处理器并不完美

虽然我们罗列了许多优点,但当前阶段的ZK协处理器并不完美,还需要面临很多问题。我个人总结了如下几点:

1.开发:ZK这一概念对于许多开发者来说较难理解,开发还需要相关的密码学知识以及掌握特定的开发语言和工具等;

2.硬件成本高昂:链下计算所使用的ZK硬件需要完全由项目方自身完全承担,ZK硬件昂贵且还在快速的发展迭代之中,硬件很可能随时淘汰。这是否能形成商业逻辑上的闭环也是一个值得思考的问题;

3.赛道拥挤: 技术实现上其实都不会有特别大的差别,最后很可能与当前Layer2的格局相似,有几个突出项目,但大部分都无人问津;

4.zk电路:在zk协处理器中执行链下计算需要将传统计算机程序转换为zk电路,为每个应用编写定制电路非常繁杂,而使用zkvm在虚拟机中编写电路又存在计算模型不同造成开销较大的问题。

二.通往大规模应用的关键拼图

(本章节主观性较强,仅代表作者个人观点)

本轮是以模块化基建为主导的周期,如果说模块化这条路径是正确的,那么这个周期也许将是通往大规模应用的最后一步。不过在当前阶段我们都会有个共同的感受,为什么只能看到一些老酒新装的应用,为什么链比应用还多得多,为什么铭文等新代币标准就能被称为本轮最大的创新?

之所以如此缺乏新鲜叙事,本质上还是当前的模块化基建不足以撑出超级应用,尤其是缺乏一些先决条件(全链互操作性、用户门槛等),所以变相促成了区块链历史上最大的割裂。Rollup作为模块化时代的核心,速度上是快了,但相应的带来的问题也很多,也就是我们上文反复强调的流动性割裂、用户分散、链或者说虚拟机本身依旧限制了应用创新。另一方面,模块化的另一个“关键先生”Celestia开创了DA不必在以太坊上的先河,这个思路使得割裂进一步加剧。无论是始于意识形态还是DA成本,结果就是BTC被迫做DA,其它公链要做更具性价比的DA,现状就是每条公链上少则一个,多则数十个的Layer2项目。最后再加上所有基建与生态项目方都深度学习了Blur(铁顺)开创的积分屠龙(OpenSea)玩法,要求用户将Token质押在项目内,这种对于鲸鱼一箭三雕(利息、ETH或BTC的上涨、白嫖的Token)的模式,进一步压缩了链上流动性。

曾经的牛市里,资金只会在数条到十几条公链内流转,甚至也可以说只集中于以太坊。而如今的资金分散在数百条公链,质押在数千个大差不差的项目之中,链上繁荣不再,连以太坊都没有链上活动。那么东方玩家在BTC生态里PVP,西方玩家在Solana中PVP也是无奈之举。所以我个人当前最关注的是如何促进全链流动性聚合,如何支撑新玩法与超级应用的诞生。在全链互操作性赛道中,传统的几个头部项目,其实一直表现不佳,它们依旧更像传统跨链桥。而新式互操作性方案在我们之前的研报也谈过,主要是通过聚合多链为单链的方式,目前在做的有AggLayer、Superchain、Elastic Chain、JAM等,此处就不再展开。

总而言之,聚合全链是模块化结构下所必须迈过的一道坎,但这道坎还需要迈很久。而ZK协处理器,是属于当前阶段中更为关键的拼图,除了能加强Layer2,它也能补强Layer1,那是否有可以暂时跳出全链和三角悖论这两个问题,未来能在部分具备广泛流动性的Layer1或者Layer2上先实现一些符合当下的应用?毕竟当前的区块链应用叙事实在匮乏。另一方面,实现玩法的多样化,Gas的控制、大规模应用的出现、甚至是跨链、降低用户门槛,通过集成协处理器方案也会是比投靠中心化更为理想的方案。

三.项目一览

ZK协处理器赛道,基本是在23年左右涌现,在当前阶段已经较为成熟。依据Messari的分类,该赛道目前已有的项目可分为三个大垂直领域(通用计算、互操作性和跨链、AI和机器训练),18个项目。其中大部分项目都由头部VC支持,我们在下文中选取不同垂直领域的部分项目进行描述。

3.1 Giza

Giza是部署在Starknet由StarkWare官方支持的一个zkML(零知识机器学习)协议,专注于使人工智能模型能够在区块链智能合约中可验证地使用。开发者可以将 AI 模型部署到 Giza 网络,Giza 随后通过零知识证明验证模型推理的正确性,并以无需信任的方式将结果提供给智能合约使用。这使得开发者能够构建结合 AI 能力的链上应用,同时保持区块链的去中心化和可验证性。

Giza 通过执行以下三个步骤完成工作流程:

模型转换:Giza 将常用的 ONNX 格式 AI 模型转换为可在零知识证明系统中运行的格式。这允许开发者使用熟悉的工具训练模型,然后将其部署到 Giza 网络。

链下推理:当智能合约请求 AI 模型推理时,Giza 在链下执行实际的计算。这避免了在区块链上直接运行复杂 AI 模型的高昂成本。

零知识验证:Giza 为每次模型推理生成ZK proof,证明计算是正确执行的。这些证明在链上验证,确保推理结果的正确性,而无需在链上重复整个计算过程。

Giza 的方法使得 AI 模型可以作为智能合约的可信输入源,而不需要依赖中心化的预言机或可信执行环境。这为区块链应用开辟了新的可能性,如基于 AI 的资产管理、欺诈检测、动态定价。是当前Web3 x AI中少数逻辑闭环的项目之一,也是协处理在AI领域中的一次妙用。

3.2 Risc Zero

Risc Zero是由多名头部VC支持的协处理器项目,属于该赛道中的佼佼者。该项目专注于使任意计算能够在区块链智能合约中可验证地执行。开发者可以使用 Rust 编写程序并部署到 RISC Zero 网络,RISC Zero 随后通过零知识证明验证程序执行的正确性,并以无需信任的方式将结果提供给智能合约使用。这使得开发者能够构建复杂的链上应用,同时保持区块链的去中心化和可验证性。

我们在上文中已经简单说过部署与工作的流程,这里再详细说说,两个关键组件:

Bonsai:RISC Zero的Bonsai是项目中的协处理器组件,它无缝集成于RISC-V指令集架构的zkVM,允许开发者在几天内快速将高性能的零知识证明集成到以太坊、L1区块链、Cosmos应用链、L2 rollups和dApps中,提供智能合约直接调用、可验证的链下计算、跨链互操作性和通用rollup功能,同时采用去中心化优先的分布式架构设计,结合了递归证明、定制电路编译器、状态延续和持续改进的证明算法,使任何人都能为各种应用生成高性能的零知识证明。

zKVM:zkVM是一个可验证的计算机,其工作方式类似于真实的嵌入式 RISC-V 微处理器。该虚拟机基于RISC-V指令集架构,允许开发者使用Rust、C++、Solidity、Go等高级编程语言等多种编程语言,编写可生成零知识证明的程序,支持超过70%的热门Rust crates,实现了通用计算与零知识证明的无缝结合,能够为任意复杂度的计算生成高效的零知识证明,同时保持计算过程的隐私性和结果的可验证性,zkVM采用了包括STARK和SNARK在内的ZK技术,通过Recursion Prover和STARK-to-SNARK Prover等组件实现高效的证明生成和验证,支持链下执行和链上验证的模式。

Risc Zero已经与多个ETH系Layer2集成,并且演示了多个Bonsai的用例,其中较为有趣的是Bonsai Pay 。该演示使用 RISC Zero 的 zkVM 和 Bonsai 证明服务于发,允许用户使用 Google 帐户在以太坊上发送或提取 ETH和代币。它展示了 RISC Zero 如何将链上应用程序与 OAuth2.0(Google 等主要身份提供商使用的标准)无缝集成,这是通过传统Web2应用降低Web3用户门槛的一次集成用例,除此之外还有基于DAO等应用的示例。

3.3 =nil;

=nil; 由Mina、Polychain、Starkware、Blockchain Capital等知名项目与机构投资,值得注意的是Mina与Starkware这类zk技术前沿的项目方也在其中,说明对项目的技术认可还是较高的。=nil; 也是曾在我们研报“算力市场”中提及的一个项目。当时主要集中于=nil; 的Proof Market(去中心化证明生成市场),该项目其实还有个子产品,zkLLVM。

zkLLVM是由=nil; Foundation开发的一个创新性电路编译器,它能够将C++、Rust等主流开发语言编写的应用程序代码自动转换为以太坊上高效的可证明电路,无需使用专门的零知识领域特定语言(DSL),从而大幅简化开发流程,降低开发门槛,同时通过不涉及zkVM(零知识虚拟机)的方式提高了性能,支持硬件加速以加快证明生成速度,适用于Rollups、跨链桥、预言机、机器学习和游戏等多种ZK应用场景,并与=nil; Foundation的Proof Market紧密集成,为开发者提供从电路创建到证明生成的端到端支持。

3.4 Brevis

该项目为Celer Network 的子项目,Bervis是一种用于区块链的智能零知识 (ZK)协处理器,它使 dApp 能够以完全无信任的方式跨多个区块链访问、计算和利用任意数据。同其它协处理一样,Brevis 同样拥有广泛的用例,例如数据驱动的 DeFi、zkBridges、链上用户获取、zkDID、社交账户抽象。

Brevis 的架构主要由三个部分构成:

zkFabric:zkFabric是Brevis架构的中继器。它的主要任务是收集并同步来自所有连接区块链的区块头信息,最后通过ZK轻客户端电路为每个收集的区块头生成共识证明。

zkQueryNet:zkQueryNet 是一个开放的 ZK 查询引擎市场,可以直接接受来自链上智能合约的数据查询,也能够通过 ZK 查询引擎电路生成查询结果和相应的 ZK 查询证明。这些引擎范围从高度专业化(例如计算特定时间段内 DEX 的交易量)到高度通用的数据索引抽象和高级查询语言,可满足各种应用程序需求。

zkAggregatorRollup:充当 zkFabric 和 zkQueryNet 的聚合和存储层。它验证这两个组件的证明,存储经过证明的数据,并将其 ZK 证明的状态根提交给所有连接的区块链,从而允许 dApp 直接在其链上智能合约的业务逻辑中访问经过证明的查询结果。

通过这套模块化架构,Brevis可以为所有支持的公链链上智能合约,提供无需信任、高效且灵活的访问方式。在UNI的V4版本中也采用了该项目,并与协议中的Hooks(一个为各种用户集成定制逻辑的系统)进行集成,以方便读取历史区块链数据,降低Gas fee,同时确保去中心化属性。这是zk协处理器推动DEX的一次示例。

3.5 Lagrange

Lagrange是由1kx及Founders fund领投的互操作性zk协处理器协议,该协议的主要目的为提供无需信任的跨链互操作性和需要大数据复杂计算的应用程序的创新提供支撑。与传统的节点桥不同,Lagrange 的跨链互操作性主要通过其创新的ZK Big Data和 State Committee 机制来实现。

ZK Big Data:该产品为Langrange的核心,主要负责处理和验证跨链数据,生成相关的ZK证明。该组件包含了高度并行的ZK Coprocessor用于执行复杂链下计算和生成零知识证明,专门设计的可验证数据库支持无限存储槽和智能合约直接SQL查询,动态更新机制仅更新变化的数据点以减少证明时间,以及允许开发者直接从智能合约中使用SQL查询访问历史数据而无需编写复杂电路的集成功能,共同构成了一个大规模区块链数据处理和验证系统。

State Committee:该组件为一个去中心化的验证网络,由多个独立节点组成,每个节点质押ETH作为抵押。这些节点作为ZK轻客户端,专门验证特定优化rollup的状态。State Committee与EigenLayer的AVS集成,利用重质押机制增强安全性,支持无限数量节点参与,实现超线性安全性增长。它还提供“快速模式”,允许用户在不等待挑战窗口的情况下进行跨链操作,大大提高了用户体验。这两种技术的结合使Lagrange能够高效处理大规模数据,执行复杂计算,并在不同区块链间安全传递和验证结果,为开发复杂跨链应用提供了支撑。

Lagrange在当前已经与 EigenLayer、Mantle、Base、Frax、Polymer、LayerZero、Omni、AltLayer等集成,也将作为第一个ZK AVS在以太坊生态中进行链接。

知识: