迈向世界超级计算机:超大规模去中心化执行的新范例
以太坊离最终成为那个世界超级计算机还有多远?
从比特币的点对点共识算法到以太坊的 EVM,再到网络国家的概念,区块链社区一直以来的目标之一是建立一个世界超级计算机,更具体地说,是一个去中心化、不可阻挡、无需信任且可扩展的统一状态机。
虽然很早就已经知道这一切在理论上是非常可能的,但迄今为止,大部分正在进行的努力都是非常碎片化的,并且存在严重的权衡和限制。
在本文中,我们将探讨现有尝试构建世界计算机所面临的一些权衡和限制,然后分析这样一台机器所必需的组件,并最终提出一个新颖的世界超级计算机架构。
一种新的可能,值得我们了解。
1.当前方法的限制
a) 以太坊和 L2 Rollups
以太坊是构建世界超级计算机的第一个真正的尝试,也可以说是最成功的尝试。然而,在其发展过程中,以太坊极大地优先考虑了去中心化和安全性,而不是可扩展性和性能。因此,虽然可靠,但普通的以太坊远远不能成为世界超级计算机——它根本不可扩展。
目前的解决方案是 L2 Rollups,它已成为增强以太坊世界计算机性能的最广泛采用的扩展解决方案。作为在以太坊之上构建的附加层,L2 Rollups 提供了显著的优势,并得到了社区的支持。
虽然 L2 rollup 存在多种定义,但普遍认为 L2 Rollups 是具有两个关键特征的网络:以太坊或其他基础网络的链上数据可用性和链下交易执行。基本上,历史状态或输入交易数据是公开可访问的,并在以太坊上进行承诺验证,但所有单个交易和状态转换都被移出主网。
虽然 L2 Rollups 确实极大地提高了这些“全球计算机”的性能,但其中许多都存在中心化的系统风险,这从根本上破坏了区块链作为去中心化网络的原则。这是因为链下执行不仅涉及单个状态转换,还涉及这些交易的排序或批处理。在大多数情况下,L2 排序器进行排序,而 L2 验证者计算新状态。然而,将这种排序能力提供给 L2 排序器会产生中心化风险,其中中心化排序器可以滥用其权力,任意审查交易,破坏网络活力,并从 MEV 捕获中获利。
尽管已经有许多讨论减少 L2 中心化风险的方法,例如通过共享、外包或基于排序器的解决方案、去中心化的排序器解决方案(例如 PoA、PoS leader selection、MEV 拍卖和 PoE ),但其中许多尝试仍处于概念设计阶段,远未成为解决这个问题的万灵药。此外,许多 L2 项目似乎不愿意实施去中心化的排序器解决方案。例如,Arbitrum 建议将去中心化的排序器作为可选功能。除了中心化排序器问题外,L2 Rollup 可能存在来自全节点硬件要求、治理风险和应用程序 Rollup 趋势的中心化问题。
b) L2 Rollups 和世界计算机三难困境
依赖 L2 Rollups 扩展以太坊所带来的所有这些中心化问题,揭示了一个根本性问题,即“世界计算机三难困境”,这是从经典的区块链“三难困境”中推导出来的:
这个三难困境的不同优先级将导致不同的权衡:
- 强共识账本:本质上需要重复的存储和计算,因此不适合扩展存储和计算。
- 强计算能力:需要在执行大量计算和证明任务时重复使用共识,因此不适合大规模存储。
- 强存储能力:需要在执行频繁的随机抽样空间证明时重复使用共识,因此不适合计算。
传统的 L2 方案实际上是以模块化的方式构建世界计算机。然而,由于不是基于上述优先级对不同的功能进行分区,即使进行了扩展,世界计算机仍然保持以太坊的原始主机架构。这种架构无法满足其他功能,如去中心化化和性能,并且无法解决世界计算机的三难困境。
换句话说,L2 Rollups 实际上实现了以下功能:
- 世界计算机的模块化(在共识层上进行更多实验,并在中心化排序器上进行一些外部信任);
- 世界计算机的吞吐量增强(虽然不是严格意义上的“扩展”);
- 世界计算机的开放创新。
然而,L2 Rollups 并没有提供:
- 世界计算机的去中心化;
- 世界计算机的性能增强(Rollups 的最大 TPS 加起来实际上是不够的,而 L2 不可能比 L1 具有更快的最终确定性);
- 世界计算机的计算(这涉及超出交易处理的计算,如机器学习和预言机)。
虽然世界计算机架构可以具有 L2 和模块化区块链,但它并没有解决根本问题。L2 可以解决区块链三难困境,但不能解决世界计算机本身的三难困境。因此,正如我们所看到的,当前的方法不足以真正实现以太坊最初设想的去中心化世界超级计算机。我们需要性能扩展与去中心化,而不是性能扩展与逐步去中心化。
2.世界超级计算机的设计目标
为此,我们需要一个网络,可以解决真正的通用密集计算(特别是机器学习和预言机),同时保留基础层区块链的完全去中心化。此外,我们必须确保该网络能够支持高强度的计算,如机器学习(ML),可以直接在网络上运行,并最终在区块链上进行验证。此外,我们需要在现有的世界计算机实现之上提供充足的存储和计算能力,目标和设计方法如下:
a)计算需求
为了满足世界计算机的需求和目的,我们扩展了以太坊所描述的世界计算机的概念,并旨在实现世界超级计算机。
世界超级计算机首先需要以去中心化的方式完成计算机现在和未来可以完成的任务。为了准备大规模采用,开发人员需要世界超级计算机来加速去中心化机器学习的开发和采用,以运行模型推理和验证。
对于像机器学习这样的计算资源密集型任务,要实现这样的目标不仅需要零知识证明等最小化信任的计算技术,还需要去中心化网络上更大的数据容量。这些是无法在单个 P2P 网络(如传统区块链)上实现的。
b)性能瓶颈的解决方案
在计算机的早期发展中,我们的先驱们面临着类似的性能瓶颈,因为他们在计算能力和存储容量之间做出了权衡。以电路的最小组件为例。
我们可以将计算量比作灯泡/晶体管,将存储量比作电容器。在电路中,灯泡需要电流才能发出光,类似于计算任务需要计算量才能执行。另一方面,电容器存储电荷,类似于存储可以存储数据。
对于相同的电压和电流,灯泡和电容器之间的能量分配可能存在权衡。通常,更高的计算量需要更多的电流来执行计算任务,因此需要电容器存储的能量较少。较大的电容器可以存储更多的能量,但在更高的计算量下可能会导致较低的计算性能。这种权衡导致在某些情况下无法将计算和存储结合起来。
在 冯.诺伊曼(von Neumann) 计算机体系结构中,它引导了将存储设备与中央处理器分离的概念。类似于将灯泡与电容器分离,这可以解决我们的世界超级计算机系统的性能瓶颈问题。
此外,传统的高性能分布式数据库采用了一种将存储和计算分离的设计方案。这种方案被采用是因为它与世界超级计算机的特性完全兼容。
c)新颖的架构拓扑
模块化区块链(包括 L2 Rollups)和世界计算机架构之间的主要区别在于它们的目的:
- 模块化区块链:旨在通过选择模块(共识、数据可用层DA、结算和执行)将它们组合成模块化区块链来创建新的区块链。
- 世界超级计算机:旨在通过将网络(基础层区块链、存储网络、计算网络)组合成世界计算机来建立全球去中心化计算机/网络。
我们提出了另一种选择,即最终的世界超级计算机将由三个拓扑异构的 P2P 网络组成,通过零知识证明技术等无信任总线(连接器)连接:共识账本、计算网络和存储网络。这种基本设置使世界超级计算机能够解决世界计算机三难困境,可以根据特定应用的需要添加其他组件。
值得注意的是,拓扑异构不仅涉及架构和结构上的差异,还包括拓扑形式上的根本差异。例如,虽然以太坊和 Cosmos 在网络层和网络互联方面是异构的,但它们在拓扑异构(区块链)方面仍然是等效的。
在世界超级计算机中,共识账本区块链采用区块链形式,节点采用完全图形式,而像 Hyper Oracle 的 zkOracle 网络则是一个无账本网络,节点形成循环图,而存储 Rollup 的网络结构则是另一种变体,分区形成子网。
通过使用零知识证明作为数据总线,我们可以通过连接三个拓扑异构的点对点网络来实现完全去中心化、不可阻挡、无需许可和可扩展的世界超级计算机。
3.世界超级计算机架构
与构建物理计算机类似,我们必须将先前提到的共识网络、计算网络和存储网络组装成世界超级计算机。
适当选择和连接每个组件将有助于我们在共识账本、计算能力和存储容量三难困境之间实现平衡,最终确保世界超级计算机的去中心化、高性能和安全性。
世界超级计算机的架构,根据其功能描述如下:
具有共识、计算和存储网络的世界超级计算机网络的节点结构类似于以下内容:
为了启动网络,世界超级计算机的节点将基于以太坊的去中心化基础设施。具有高计算性能的节点可以加入 zkOracle 的计算网络,用于生成证明以进行通用计算或机器学习,而具有高存储容量的节点可以加入 EthStorage 的存储网络。
上述示例描述了同时运行以太坊和计算/存储网络的节点。对于仅运行计算/存储网络的节点,它们可以通过零知识证明技术的总线(如 zkPoS 和 zkNoSQL)访问以太坊的最新块或证明存储数据的可用性,而无需信任。
a)以太坊共识
目前,世界超级计算机的共识网络专门使用以太坊。以太坊拥有强大的社会共识和网络级安全性,确保去中心化共识。
世界超级计算机建立在以共识账本为中心的架构上。共识账本有两个主要作用:
- 为整个系统提供共识;
- 用块间隔定义 CPU 时钟周期。
与计算网络或存储网络相比,以太坊无法同时处理大量的计算任务,也无法存储大量的通用数据。
在世界超级计算机中,以太坊是一个共识网络,用于存储数据,如 L2 Rollup,为计算和存储网络达成共识,并加载关键数据,以便计算网络可以执行进一步的链下计算。
b)存储 Rollup
以太坊的 Proto-danksharding 和 Danksharding 本质上是扩展共识网络的方式。为了实现世界超级计算机所需的存储容量,我们需要一种既原生于以太坊又支持大量数据永久存储的解决方案。
存储 Rollup,如 EthStorage,本质上是为大规模存储扩展以太坊。此外,由于计算资源密集型应用程序(如机器学习)需要大量内存才能在物理计算机上运行,因此需要注意的是,以太坊的“内存”无法被过度扩展。存储 Rollup 对于允许世界超级计算机运行计算密集型任务的“交换”是必要的。
此外,EthStorage 提供了一个 web3://访问协议(ERC-4804 ),类似于世界超级计算机的本机 URI 或存储资源寻址。
c)zkOracle 计算网络
计算网络是世界超级计算机最重要的元素,因为它决定了整体性能。它必须能够处理诸如预言机或机器学习之类的复杂计算,并且在访问和处理数据方面应该比共识网络和存储网络更快。
zkOracle 网络是一个去中心化和最小化信任的计算网络,能够处理任意计算。任何运行的程序都会生成一个 ZK 证明,在使用时可以轻松地由共识(以太坊)或其他组件进行验证。
Hyper Oracle 是一个 zkOracle 网络,由 zkWASM 和 EZKL 驱动,可以使用执行跟踪证明运行任何计算。
zkOracle 网络是一个无账本区块链(没有全局状态),遵循原始区块链(以太坊)的链结构,但作为一个没有账本的计算网络运行。zkOracle 网络不像传统区块链那样通过重新执行来保证计算的有效性;相反,它通过生成的证明提供计算可验证性。无账本的设计和专用节点设置用于计算,使得 zkOracle 网络(如 Hyper Oracle)可以专注于高性能和最小化信任的计算。计算的结果直接输出到共识网络,而不是生成新的共识。
在 zkOracle 的计算网络中,每个计算单元或可执行文件都由一个 zkGraph 表示。这些 zkGraph 定义了计算和证明生成行为,就像智能合约定义共识网络的计算一样。
I. 通用链下计算
zkOracle 的计算中的 zkGraph 程序可以在没有外部堆栈的情况下用于两个主要用例:
- 索引(访问区块链数据);
- 自动化(自动化智能合约调用);
- 任何其他链下计算。
这两种情况可以满足任何智能合约开发人员的中间件和基础设施要求。这意味着作为世界超级计算机的开发人员,您可以在创建完整的去中心化应用程序时,经历整个端到端的去中心化开发过程,包括共识网络上的链上智能合约以及计算网络上的链下计算。
II. ML / AI 计算
为了实现互联网级别的采用并支持任何应用场景,世界超级计算机需要以去中心化的方式支持机器学习计算。
通过零知识证明技术,机器学习和人工智能可以集成到世界超级计算机中,并在以太坊的共识网络上进行验证,以实现真正的链上计算。
在这种情况下,zkGraph 可以连接到外部技术堆栈,从而将 zkML 本身与世界超级计算机的计算网络相结合。这使得所有类型的 zkML 应用程序都可以实现:
- 用户隐私保护的 ML / AI;
- 模型隐私保护的 ML / AI;
- 具有计算有效性的 ML / AI。
为了实现世界超级计算机的机器学习和人工智能计算能力,zkGraph 将与以下先进的 zkML 技术堆栈相结合,为它们提供与共识网络和存储网络的直接集成。
- EZKL :在 zk-snark 中为深度学习模型和其他计算图执行推理。
- Remainder :在 Halo2 Prover 中进行快速的机器学习操作。
- circomlib-ml :用于机器学习的 circom 电路库。
e)zk 作为数据总线
现在,我们拥有了世界超级计算机的所有基本组件,我们需要一个最终组件来连接它们。我们需要一个可验证和最小化信任的总线,以便在组件之间进行通信和协调。
对于使用以太坊作为共识网络的世界超级计算机,Hyper Oracle zkPoS 是 zk Bus 的一个合适的候选者。zkPoS 是 zkOracle 的关键组件,通过 ZK 验证以太坊的共识,使以太坊的共识在任何环境中得以传播和验证。
作为一个去中心化和最小化信任的总线,zkPoS 可以通过 ZK 连接世界超级计算机的所有组件,几乎没有验证计算开销。只要有像 zkPoS 这样的总线,数据就可以在世界超级计算机内自由流动。
当以太坊的共识可以从共识层传递到总线作为世界超级计算机的初始共识数据时,zkPoS 可以通过状态/事件/交易证明来证明它。然后,生成的数据可以传递到 zkOracle 网络的计算网络中。
此外,对于存储网络的总线,EthStorage 正在开发 zkNoSQL,以实现数据可用性的证明,使其他网络可以快速验证 BLOB 是否具有足够的副本。
f)另一种情况:比特币作为共识网络
与许多第二层主权 Rollup 一样,像比特币这样的去中心化网络也可以作为支撑世界超级计算机的共识网络。
为了支持这样的世界超级计算机,我们需要替换 zkPoS 总线,因为比特币是基于 PoW 机制的区块链网络。
我们可以使用 ZeroSync 将 zk 作为比特币世界超级计算机的总线进行实现。 ZeroSync 类似于“zkPoW”,它通过零知识证明同步比特币的共识,允许任何计算环境在毫秒内验证和获取最新的比特币状态。
g) 工作流程
以下是基于以太坊的世界超级计算机的交易过程概述,分为几个步骤:
- 共识:使用以太坊处理和达成交易共识。
- 计算:zkOracle 网络通过快速验证由 zkPoS 作为总线传递的证明和共识数据,执行相关的链下计算(由从 EthStorage 加载的 zkGraph 定义)。
- 共识:在某些情况下,例如自动化和机器学习,计算网络将通过证明将数据和交易传回以太坊或 EthStorage。
- 存储:对于从以太坊存储大量数据(例如 NFT 元数据),zkPoS 充当以太坊智能合约和 EthStorage 之间的信使。
在整个过程中,总线在连接每个步骤中发挥着至关重要的作用:
- 当共识数据从以太坊传递到 zkOracle 网络的计算或 EthStorage 的存储时,zkPoS 和状态/事件/交易证明生成证明,接收方可以快速验证以获取确切的数据,例如相应的交易。
- 当 zkOracle 网络需要从存储中加载数据进行计算时,它使用 zkPoS 从共识网络访问数据的地址,然后使用 zkNoSQL 从存储中获取实际数据。
- 当来自 zkOracle 网络或以太坊的数据需要以最终输出形式显示时,zkPoS 为客户端(例如浏览器)生成证明,以便快速验证。
结论
比特币为创建世界计算机 v0 奠定了坚实的基础,成功构建了“世界账本”。随后,以太坊通过引入更可编程的智能合约机制有效地展示了“世界计算机”范例。为了实现去中心化,利用密码学的固有去信任、MEV 的自然经济激励、推动大规模采用、ZK 技术的潜力以及包括机器学习在内的去中心化通用计算的需求,世界超级计算机的出现已成为必要。
我们提出的解决方案将通过使用零知识证明连接拓扑异构的 P2P 网络来构建世界超级计算机。作为共识账本,以太坊将提供基础共识,并将块间隔用作整个系统的时钟周期。作为存储网络,存储 rollup 将存储大量数据并提供 URI 标准以访问数据。作为计算网络,zkOracle 网络将运行资源密集型计算并生成可验证的计算证明。作为数据总线,零知识证明技术将连接各种组件,并允许数据和共识被链接和验证。