踏上以太坊 L1 終局的道路,探索深圳的Taiko路線圖

不久前,我们分享了一篇题为《为什么多重证明很重要》的文章,介绍了平衡证明的重要性,以及SGX作为平衡证明的选择之一。这篇文章的灵感来自于与Vitalik的交流,并介绍了Taiko关于平衡论证的总体路线图。Taiko认为,ZK中的多证明可以转化为使用多SNARK+多客户端,即使用多个ZK-SNARK证明多种不同的以太节点坊。根据Vitalik的观点,多客户端系统有两种方法:「开放式」和「封闭式」。Taiko协议非常适合多客户端系统,并通过与其他项目合作实现了多重证明系统。Taiko的灵活基础设施包括单片式ZKP堆栈,且在硬件层面上制定了标准化证明系统与加速库的协作关系。

不久前,我们分享了一篇题为《为什么多重证明很重要》的详细文章,解释了平衡证明(Multi-Proofs)的重要性,把 SGX 作为平衡证明的选择之一。

这篇文章的灵感来自于我们与 Vitalik 的 X Space 和他发表的博客文章,其中介绍了 Taiko 关于平衡论证的总体路线图:它与以太坊局的关系,我们的愿景是什么,以及我们将如何实现。

我们认为,ZK中的多证明可以转化为使用多SNARK+多客户端,即使用多个ZK-SNARK证明多种不同的以太节点坊,这一个未来以太坊L1中的SNARKed节点多样性夯实基础。

为了为按钮名称提供一个非常简单的理由,我们应该提到两点:

  • 嵌套证明可以对冲节点实施和证明系统中的漏洞和风险,因此在出现漏洞的情况下,即使一个证明被破坏,其他证明也不太可能允许多个的漏洞被利用;
  • 以太坊的终局,是假设使用零知识证明(ZL)来验证L1;

与以太坊的多节点实现类似,这种方法已经多次挽救了网络免于崩溃,证明了L1区块需要采用时钟验证的方法。对于ZK和非ZK场景来说,这意味着需要使用多个节点和不同的证明系统。

多客户端系统和L1终局

Vitalik 在他的文章《What might an 「enshrined ZK-EVM」look like?》中描述说,多客户端系统有两种方法:「开放式」和「封闭式」。

  • 在一个封闭式的多客户端系统中,协议内已知一组固定的域名,将其列入「白名单」以生成域名。而根据 Vitalik 的分类,所有 ZK L2 都是封闭式的,因为他们只接受自己实现的证明;
  • 在一个开放式的多客户端系统中,证明被放置在「区块之外」,并由各个节点分别进行验证,任何用户都可以使用任何他们想要的节点来验证区块;

如果需要用户验证某区块,在最简单的实现即直接运行相应的节点重新执行该区块,或者向已知的Prover请求满足证明。如果收到了一定数量符合「白名单」标准的证明,则认为该区块合法。但是,如果没有符合「白名单」标准的零知识证明(ZKP),并且我们想避免重新执行,我们应该使用哪种零知识证明呢?

根据 Vitalik 的愿景,这是在协议之外通过进行社会(或加密经济)的共识来解决这个问题:

在共识层上,我们添加了一个验证规则:只有当节点对区块中每个状态变化都看到了有效的证明时,才接受该区块。该证明必须是一个 ZK-SNARK 证明,用于证明transaction_and_witness_blobs 的连接是 (Block, Witness) 对的序列化,并且基于 pre_state_root 和 Witness(i)执行区块是有效的,并且(ii)输出正确的 post_state_root。潜在地,节点选择可以等待多种类型的 M -of-N 证明。

想象一下,一个诚实的构建者拥有一个 type-1 的区块,他希望能够提供功效;L2 层已经提供了几个选择,例如 Polygon、ZkSync 和 Scroll。

假设他们的 ZK-EVM 已经发展到了 type-1,并且良好且经过实战检验,然后 Builder 分散者这些可用的证明系统信誉中进行选择,而验证他的区块的人将运行相应的验证软件,最好的是创建多种类型的证明,并通过多次验证。相似的L1链规范,如果有任何一个验证者不同意,区块验证就成为了一个共识问题,开放式的系统将通过共识来达成验证结果的一致性。

论证系统将通过说服用户信任他们而获得影响力,而不是通过说服协议治理过程。

根据Vitalik的说法,这意味着ZKP生态系统正在开放,以实现直接市场化。如果有激励措施,现有的L2实现可能会涉及L1市场的竞争。

Taiko 在睡眠说明方面的吸音

在 Taiko 协议中,Proposer 必须找到一个 Prover 来提出一个区块,并且被指定的 Prover,将入 TKO 作为保证金,以保证自己交付的证明没有问题。Taiko 协议并没有规定 Proposer 如何找到和补偿 Prover,所以他们甚至可以预约见面,并用现金进行交易。

因此我们的供应链就像一个自由市场一样运作,提议者可以选择任何他们喜欢的证明者。

除了经济优势之外,还有一些技术特性使 Taiko 成为多客户端系统的理想选择:

  • Taiko 是一种 type-1 的 ZK-EVM ,具有两个优点:首先,在执行多样性方面,现有的 EVM 实现(如 Geth、Besu、Reth 等)可以直接评估 L2;其次,为了基于测试L1设计的吸力,我们需要一个标准化的ZK-EVM来进行开放式多客户端验证,因为验证者需要根据相同的转换来得出结论并验证结果。在这种情况下,type-1 ZK-EVM将是修改最合适的选择,因为它明确遵循以太坊规范。对于 Rollup 特定逻辑方面,Vitalik 也提到了如何通过预编译支持 ZK-EVM,并利用这些预编译就足以支持 Taiko 的 BBR(Based Booster Rollup) )设计;
  • Taiko 将数据可用性发布在以太坊上,而不是像一些 L2 探索替代的数据可用性选项。只要数据被发布到 L1,Taiko 可以轻松适应 Vitalik 的实施提案,该提案介绍了 ZKEVMClaimTransaction 来覆盖状态转换、证明和数据可用性;

Taiko 在多个论证系统上兼容,现有的测试网络已经支持 PSE 的 ZK-EVM、SGX 和 Reth。基础设施被配置为适应多个节点和论证系统,这将在最后一节中讨论。在这个基础设施之上,Taiko 在零知识论证方面将围绕围绕编译展开。

一个定制和开放性的路线图

等级

在零知识证明(ZKP)的背景下,考虑到多客户端,Taiko 利用现代编译器获得通用组件,如 Risc-V 或 WASM。然后将这些指令转换为各种证明系统(AIR 或 PIL)的算术化表示,并最终使用不同的SNARKs对化执行轨迹进行编码。

由此可见,这个流程是在一个多重证明系统中最可行的方法,因为它充分利用了两个方面的优势。在节点编译过程中,现代编译器给我们带来了以下好处:

  • 节点升级与证明相关,因为消耗为最新EIP或硬分叉实施电路,只需要保持源代码更新即可;
  • 可以从像LLVM这样的工具链中免费获得代码优化;
  • 交叉编译产生更多多样性;以上述示例为例,Taiko 有 Geth 或 Reth 编译成 RICS-V 或 WASM 指令集,已经具备四套证明;

SNARKs 编译是 Taiko 未来发展重点。请注意,在 PLONK 和 R1CS 等算术化方法与 Halo2、eSTARK 或 Supernova 等进行编码时,并不限制于单一 ZK 协议;而整体式 ZK-VM/EVM 则针对随着越来越多的采用项目统一以提高组件性能,整体技术栈可能会网格定制。

由于ZKP研究领域发展迅速,在灵活方面比直接实施最新结果更为重要。为了保持灵活,在Powdr Labs和Risc Zero等项目上合作开展交叉编译模拟工作,并解决问题实现模块化。

对于技术精通的读者来说,请参考以下具体好处:

  • 我们可以通过优化编译器针对不同的角度目标进行优化,例如偏爱「高度门控」(高度门)或使用更多查找参数;
  • 像 Keccak 和 Poseidon 哈希函数这样的加速电路可以作为库来实现;
  • 我们可以逐步将ZK功能(如LogUp)添加到语言中,并实现相应的耳机支持;
  • 集成新的 ZK 快速框架以更加紧密,在一些研究导向的 ZK 项目中,只有概念验证结果代码形式开发的,这使得它们能够在生产环境中使用起来适应。通过让编译器承担重要的工作,我们可以轻松地应用早期阶段的框架;
  • 现有的挂钩电路,例如使用 Halo2 编写的 PSE ZK-EVM 组件,仍然可以通过直接调用进行重复使用;

在合作努力下,Taiko 已经在开发过程中集成了 Risc Zero 的 zeth 和 ZK-VM,并顺便开发了额外的 SGX 头部。Taiko 工程师将 Powdr 集成到多证明系统中、开发 PIL 语言和库、优化编译、增加更多的头部,并进行一般低级别加速处理。在硬件层面上,Taiko的零知识加速层(ZAL)制定了标准化证明系统(Halo2、Arkworks、Risc Zero、Polygon等)与加速库(CPU、GPU、FPGA等)之间的协作关系。

开放性

节点、证明系统和集成队列越多,开放性就越好,因此 Taiko 努力将整个聚集社区放在一起,Taiko 团队与其他项目有着悠久的合作历史,例如,在 ZK-EVM 和 Risc Zero 上与 PSE合作。

现在通过构建更定制的 ZK 堆栈,Taiko 可以有效地对 API 进行抽象,以实现更好的普及和集成。Taiko 将作为一个平台,在生产中输送论证系统,并在链上进行实战测试。真诚邀请所有项目加入,共同打造更好的零知识技术。

太鼓堆栈

一个可扩展、灵活的基础设施,适用于 Taiko 的多重防范式关键。

ZK 空间证明的来源是节点的状态日志(Execution Trace)和存储证明(Storage Proofs),这些用于构建见证数据(witnesses)和公共输入。需要注意的是,witnesses 是于证明的,而公共特定输入则与协议相关。拥有强大的基础设施来处理见证生成非常重要。因此,我们使用一个轻量级主机从多客户端进行状态日志,把其转换成多种见证提供相应的证明系统。

在证明端,该设计支持优先和整体式堆栈,同时我们从目标节点(当前为Geth)中提取相同的公共输入。

在未来,如果状态日志格式兼容的话,Geth作为Taiko节点可以被另一个节点替代。另外,运行在论证系统上(目前是Reth)的轻节点也可以被编译成迭代语言的任何实现所替代。

关键点

  • Taiko 相信权益证明=Multi-Client + 多 SNARKs(以及像 SGX 这样的 TEE);
  • Taiko协议非常适合多客户端系统,因为它有一个开放的多证明供应链,具有type-1执行,在L1上发布数据可用性;
  • Taiko设想了一个具有模块化和开放性的多重证明架构,与Powdr Labs合作利用节点和ZKP的交叉编译,并与Risc零合作,在他们的ZK-VM和TEE上实现Taiko的执行,Taiko还将继续努力与 PSE 改进 ZK-EVM 项目;
  • Taiko 的灵活基础设施包括定制和单片式 ZKP 堆栈;

资讯来源:由0x资讯编译自互联网。版权归作者Taiko所有,未经许可,不得转载!

--

--

比特币新闻 — 区块链新闻

区块链新闻,比特币行情,比特币价格分析,数字货币新闻资讯