一个是模块化、无限扩展的去中心化计算网络,一个是结构化、严密治理的分布式系统,谁才是AI时代最理想的计算基础设施?
一个是模块化、无限扩展的去中心化计算网络,一个是结构化、严密治理的分布式系统,谁才是 AI 时代最理想的计算基础设施?
作者: Blockpunk @ Trustless Labs
审阅:0xmiddle
来源:内容公会 - 投研
<aside> 💡
编者荐语:
在区块链的世界里,去中心化计算是一块难以到达的应许之地。传统智能合约平台如以太坊受限于高昂的计算成本和有限的扩展能力,而新一代计算架构正试图打破这种局限。AO 和 ICP 便是目前最具代表性的两个范式,一个以模块化解耦、无限扩展为核心,一个强调结构化管理、高度安全性。
本文作者 Blockpunk 老师是 Trustless Labs 研究员,也是 ICP 生态的 OG,曾创建 ICP League 孵化器,长期耕耘技术与开发者社区,对 AO 也有着积极的关注和深刻的理解。如果你对区块链的未来充满好奇,想知道 AI 时代真正可验证、去中心化的计算平台会是什么样子,或者你正在寻找新的公链叙事和投资机会,这篇文章绝对值得一读。它不仅对 AO 和 ICP 的核心机制、共识模型、扩展能力进行了详细解析,还深入探讨了它们在安全性、去中心化程度以及未来潜力上的对比。
在这个风云变幻的加密行业,谁才是真正的“世界计算机”?这场竞争的结果,或许将决定 Web3 的未来。阅读本文,抢先一步了解去中心化计算的最新格局!
</aside>
与 AI 结合已成为当今加密世界的热门趋势,无数的 AI Agent 开始发行、持有和交易加密货币。新应用的爆发,伴随着对新的基础设施的需求,可验证且去中心化的 AI 计算基础设施显得尤为重要。然而,以 ETH 为代表的智能合约平台与以 Akash、IO 为代表的去中心化算力平台,都无法同时满足可验证的与去中心化这两个需求。
在 2024 年,知名去中心化存储协议 Arweave 的团队宣布了 AO 架构,这是一个去中心化的通用计算网络,支持快速低成本的扩容,因此能运行许多对计算要求较高的工作,比如 AI Agent 的推理过程。AO 上的计算资源被 AO 的消息传输规则有机地统合在一起,基于 Arweave 的全息共识,不可篡改地记录请求的调用顺序与内容,这让任何人都可以通过重新计算来获得正确状态,在乐观的安全保证下,这实现了计算的可验证性。
AO 的计算网络不再对全部计算过程进行共识,这保证了网络的灵活性与极高的效率;其中的进程(可视为“智能合约”)以 Actor 模型运行,通过消息进行交互,而不需要维护一个共享的状态数据。在听起来与 DFINITY 的互联网计算机 ICP 的设计有些类似,ICP 通过一种将计算资源结构化的子网来实现类似的目标。开发者经常将两者进行类比。本文将主要比较这两种协议。
ICP 与 AO 的思路,都是通过将共识与计算内容解耦,来实现计算的灵活扩容,从而提供更低廉的计算,处理更复杂的问题。与之相对的是传统的智能合约网络,以 Ethereum 为代表,整个网络的所有计算节点,都共享一个共同的状态内存,任何改变状态的计算都需要网络中所有节点同时进行重复运算,从而达成共识。在这种全冗余的设计下,共识的唯一性得到保证,但计算的成本是非常高的,并且难以扩展网络的计算能力,仅能用于处理高价值业务。即使是在 Solana 等高性能公链,也很难以负担起 AI 这样的密集计算需求。
AO 与 ICP 作为通用计算网络中,并不存在一个全局共享的状态内存,因此不再需要对改变状态的运算过程本身进行共识,仅对交易/请求的执行顺序进行共识,然后再对计算结果进行验证。基于对节点虚拟机安全的乐观假设,只要输入的请求内容和顺序一致,最终的状态也将一致。智能合约(在 ICP 中被称为“容器”,在 AO 中被称为“进程”)的状态变更的计算就可以在多个节点上同时并行的进行,而不要求所有的节点都只在同一时间计算完全相同的任务。这极大地降低了计算的成本,也增加了扩容的能力,因此可以支持更多复杂业务,甚至 AI 模型的去中心化运行。AO 与 ICP 都号称“无限扩容”,其中的区别我们将在后面比较。
由于网络不再共同维护一个大的公共的状态数据,每个智能合约被视为可以单独地处理事务,智能合约之间通过消息进行交互,这个过程是异步的。因此去中心化的通用计算网络往往采用 Actor 的编程模型,这使得其相比 ETH 等智能合约平台,合约业务间的可组合性较差,这为 DeFi 带来了一定困难,不过依然可以使用特定的业务编程规范来解决。例如 AO 网络上的 FusionFi Protocol,通过统一的”票据-结算“模型,来规范 DeFi 业务逻辑,实现互操作性。在 AO 生态尚处于早期的阶段,这样的协议可以说颇具前瞻性。
AO 建立在 Arweave 永久存储网络的基础上,通过一个新的节点网络运行。其节点分为三个群组,分别是消息单元 MG、计算单元 CU 与调度单元 SU。
AO 网络中智能合约被称为“进程”,是一组可执行的代码,被上传到 Arweave 中永久保存。
当用户需要与进程交互时,可签名并发送请求。AO 规范了消息的格式,消息被 AO 的消息单元 MU 接受,验证签名并转发给调度单元 SU。SU 不断接收请求,为每个消息赋予一个唯一编号,然后将结果上传至 Arweave 网络, Arweave 网络会对交易顺序完成共识。对交易顺序的共识完成后,任务被分配给计算单元 CU。CU 进行具体的计算,改变状态值,将结果返给 MU,最终转发给用户,或作为下一个进程的请求再进入 SU。
SU 可以看作 AO 与 AR 共识层的连接点,而 CU 则是一个去中心化的算力网络,可见 AO 网络中的共识与计算资源是完全解耦的,因此只要有更多、更高性能的节点加入 CU 组,整个 AO 就将获得更强的运算能力,能支持更多的进程数与更复杂的进程运算,且在扩展性上可以做到灵活的按需供给。
那么,如何保证其计算结果的可验证性呢?AO 选择了经济学的方式,CU 与 SU 节点需要质押一定 AO 资产,CU 通过计算性能、价格等因素竞争,通过提供算力赚取收益。
由于所有的请求都被记录在 Arweave 共识中,任何人都可以通过溯源这一笔笔的请求,复原出整个进程的状态变化情况,一旦发现恶意攻击或计算错误的情况,可以向 AO 网络发起挑战,通过引入更多 CU 节点重复计算得出正确结果。出错节点质押的 AO 会被罚没。Arweave 并不会验证 AO 网络中运行的进程的状态,而只是忠实的记录交易,Arweave 并没有计算能力,挑战的过程是在 AO 网络中进行的。AO 上的进程,可以看作一条拥有自主共识的“主权链”,而 Arweave 可以视为其 DA (数据可用性)层。
AO 赋予了开发者完全的灵活性,开发者可以自由选择 CU 市场中的节点,定制运行程序的虚拟机,甚至是进程内部的共识机制。
与 AO 按照资源解耦出多个节点组不同,ICP 底层使用了较为一致的数据中心节点,提供了多子网的结构化资源,从下到上依次为:数据中心、节点、子网和软件容器。
ICP 网络的最底层是一系列分散的数据中心,数据中心运行 ICP 的客户端程序,这会根据性能虚拟化出一系列具备标准计算资源的节点。 这些节点被 ICP 的核心治理代码 NNS 随机组合在一起,形成一个子网。节点在子网下处理计算任务,达成共识,生产并传播区块。子网内部的节点通过优化交互的 BFT 进行共识。
ICP 网络中同时存在多个子网,一组节点只运行一个子网,并维护内部共识,不同的子网间以相同速率并行产出区块,子网间可以通过跨子网请求交互。
不同的子网中,节点资源被抽象为一个个“容器”,业务在容器中运行,子网并没有一个大的共享状态,容器仅维护自己的状态,且存在最大容量限制(受到 wasm 虚拟机限制),子网的区块中也不会记录网络中容器的状态。
在同一子网下,计算任务是在所有节点上以冗余的方式运行,但在不同的子网间则以并行的方式运行。当网络需要扩容时,ICP 的核心治理系统 NNS 会动态添加和合并子网,来满足使用需求。
AO 与 ICP 都是围绕 Actor 的消息传递模型构建的,这是并发分布式计算网络的典型框架,同时都默认使用了 WebAssembly 作为执行虚拟机。
与传统区块链不同,AO 与 ICP 都没有数据和链的概念。因此在 Actor 模型下,默认虚拟机运行的结果一定是确定性的,那么系统只需要保证交易请求的一致性,就可以实现进程内状态值的一致性。多个 Actor 可以并行运行,这给扩展提供了巨大空间,因此计算成本足以低廉到运行 AI 这类通用计算。
但在整体的设计哲学上,AO 却与 ICP 站在完全的两面。
结构化 vs 模块化
ICP 的设计思路更像是传统的网络模型,将资源自数据中心的底层抽象到一个个固定的服务中,这包括了热存储、计算和传输的资源;而 AO 是使用了对加密开发者更熟悉的模块化设计,将传输、共识验证、计算、存储等资源完全分离,并由此区分出多个节点组。
因此,对于 ICP 来说,对网络中节点的硬件要求是非常高的,因为需要满足系统共识的最小需求。
开发者必须接受统一标准的程序托管服务,有关服务的资源都被约束在一个个容器中,比如当前容器的最大可用内存就是 4GB,这也限制了一些应用的出现,比如运行较大规模的 AI 模型。
ICP 也尝试通过创建不同的有特点的子网来提供多样的需求,但这就离不开 DFINITY 基金会的整体规划和开发。
而对于 AO 来说,CU 更像是一个自由的算力市场,开发者可以根据需求与价格偏好,选择使用节点的规格和数量。因此,开发者几乎可以在 AO 上运行任意进程。同时,这对节点的参与者来说也更加友好,CU、MU 也可以实现单独扩容,去中心化程度较高。
AO 的模块化程度较高,支持对虚拟机、交易排序模型、消息传递模型与支付方式的自定义,因此如果开发者需要一个隐私的计算环境,可以选择 TEE 环境的 CU,而不用等待 AO 官方开发。模块化带来更多灵活性,也降低了一些开发者进入的成本。
安全性
ICP 依靠子网运行,进程托管在子网上时,计算过程会在所有的子网节点上执行,状态的验证由所有的子网节点之间的改进 BFT 共识完成。虽然制造了一定的冗余,但进程的安全性与子网完全保持一致。
在子网内部,两个进程互相调用时,如进程 B 的输入是进程 A 的输出,就无需考量额外的安全性问题,只有在跨两个子网时,才需要考量两个子网间的安全性差异。当前一个子网的节点数量在 13-34 之间,其最终确定性形成时间为2秒。
在 AO 中,计算的过程被委托给开发者在市场上选择的 CU 们。在安全性上,AO 选了更代币经济学的方案,要求 CU 节点必须质押 $AO,默认计算的结果是可信的。AO 将所有的请求都经过共识记录在 Arweave 上,因此任何人都可以读取公开的记录,通过一步步重复计算来检验当前状态的正确性。如果出现问题,可以在市场上选择更多 CU 参与计算,获得一个更准确的共识,并罚没出错 CU 的质押。
这让共识与计算的完全解绑,让 AO 获得了远优于 ICP 的扩展性与灵活性,在无需验证的情况下,开发者甚至可以在自己的本地设备上计算,只需要将命令通过 SU 上传 Arweave 即可。
但这也为进程间的互相调用带来的问题,因为不同的进程可能处于不同的安全保证下,比如进程 B 有 9 个 CU 进行冗余计算,而进程 A 只有一台 CU 在运行,那么要进程 B 接受来自进程 A 的请求,就要考虑进程 A 是否会传输错误的结果。因此进程间的交互就是受到安全性的影响。这也导致最终确定性形成时间较长,可能需要等待 Arweave 长达半小时的确认周期。解决方法是设定一个最低的 CU 数量与标准,同时对不同价值的交易,要求不同的最终确认时间。
不过 AO 还具备一个 ICP 不具备的优势,即具备一个包含所有交易历史的永续存储,任何人都可以重放出任一时刻的状态,虽然 AO 没有传统的区块与链的模型,但这也更符合加密中的人人可验证的思想;但在 ICP 中,子网节点只负责计算并对结果共识,并不会存储每一次的交易请求,因此历史信息是无法验证的,也就是说 ICP 并没有统一的 DA,如果有容器作恶后选择删除容器,那么罪状将无迹可寻,虽然 ICP 的开发者自发地建立了一系列记录调用记录的账本容器,但对于加密开发者来说还是比较难以接受。
去中心化程度 ICP 的去中心化程度一直受到诟病,节点的注册、子网的创建与合并等系统级工作,都需要一个被称为“NNS”的治理系统决定。ICP 持有者需要通过质押参与 NNS,同时为了实现多副本下的通用计算能力,对节点的硬件要求也非常高。这带来了极高的参与门槛。因此,ICP 的新功能、新特性的实现,依赖于新子网的退出,这必须通过 NNS 的治理,更进一步说,必须依靠掌握大量投票权的 DFINITY 基金会推动。
而 AO 彻底解耦的思路,将更多权利交还给了开发者,一个独立的进程,就可以看作一个独立子网,一条主权 L2,开发者只需要支付费用即可。模块化设计也方便开发者引入新特性。对于节点提供者来说,参与的成本相比 ICP 也更低。
世界计算机的理想是伟大的,但并没有一个最优的解法。ICP 具备更好的安全性,并能做到快速的最终性,但系统更为复杂,受到更多限制,并且在部分设计上很难取得加密开发者的认可;AO 高度解耦的设计,让扩展变的更加容易,同时提供了更多的灵活度,这将受到开发者的喜爱,但也存在安全性上的复杂度。
让我们从一个发展的角度来看,在风云变幻的加密世界中,一种范式很难长时间里保持绝对优势,即使是 ETH 也是如此(Solana迎头赶上),只有更加解耦和模块化,以便于替换,才能在挑战中快速进化,适应环境,存活下来。AO 作为后来者,将成为去中心化通用计算,特别是 AI 领域的强力竞争者。
免责声明:本文不代表 PermaDAO 的观点或立场。PermaDAO 不提供投资建议,亦不为任何项目背书。请读者遵守所在国法律,合规进行 Web3 活动。
🔗 关于 PermaDAO:Website | Twitter | Telegram | Discord | Medium | Youtube
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!