目录
引言
去中心化计算这几年一直在“性能—可信任”之间拉扯:传统公链强调最小信任,却受限于单线程吞吐;去中心化算力市场强调规模,却难以给出可验证的结果与长期可用的数据。AO 的出现,试图把这两端合起来:把网络组装成一台“超并行计算机”,以消息驱动与全息状态为核心,在 Arweave 的永久存储之上,提供可验证、可复算、可横向扩展的计算环境。
一、什么是 AO ?
AO 是一台“超并行计算机
”。其核心目标是提供无需信任的协作计算服务,且在规模上没有实际限制。它结合了区块链网络的信任最小化优势与更传统计算环境(如亚马逊 EC2)的速度和可扩展性。
二、AO 的关键特性有哪些?
在去中心化计算领域,有几个关键特性帮助区分 AO:
并行处理
: 支持任意数量的进程并行运行,彼此独立。这些进程可以单独操作和评估,创建类似于 Web2 系统的可扩展性机制。
无限计算
: 进程不受任何协议强加的关于它们可以计算的信息量的限制,前提是调用者可以承担相关的计算成本。
读/写到 Arweave
: 进程可以从 Arweave 加载数据并写入数据,扩展了可以使用 AO 构建的去中心化应用程序的类型(例如,机器学习任务)。
自主进程
: 进程可以在设定的时间间隔自动执行计算。用户和其他进程可以“订阅”一个进程以触发计算。此功能可以使进程作为自主代理操作。
模块化架构
: 灵活的计算环境提供了调度器、消息传递层、虚拟机等的交换。这种灵活性允许现有的智能合约系统(Warp、MEM 等)轻松地接入 AO 并与统一的网络互动,创造更加连贯的体验。
三、AO 与传统计算环境的不同之处在于:
1、基于 Arweave 构建
:AO 利用 Arweave 的特性,消除了与中心化提供商相关的脆弱性,如单点故障、数据泄露和审查制度。AO 上的计算是透明的,可通过去中心化的信任最小化特性和存储在 Arweave 上的可复现消息日志来验证。
2、去中心化基础
:这种基础有助于克服物理基础设施施加的可扩展性限制。最重要的是,任何人都可以从他们的终端轻松创建一个 AO 进程,或者仅用几行 JavaScript 代码,无需专门的知识、工具或基础设施。这确保了即使是个人和小规模实体也能拥有全球影响力和参与度。
四、AO 如何改进其他去中心化计算网络:
1、并行处理能力
:与以太坊等网络不同,后者的基础层和每个 rollup 实际上都作为单一进程运行,AO 支持任意数量的进程并行运行,同时确保计算的可验证性保持完整。此外,这些网络在全球同步状态下运行,而 AO 进程保持自己的独立状态。这种独立性使得 AO 进程能够处理更高数量的交互和计算的可扩展性,使其特别适合对高性能和可靠性有需求的应用程序。
2、可验证的可复现性
:虽然一些去中心化网络,如 Akash 和点对点系统 Urbit,确实提供了大规模的计算能力,但与 AO 不同,它们不提供交互的可验证复现性,或者依赖于非永久性存储解决方案来保存它们的交互日志。
五、AO 如何成为一台超级并行计算机?
AO 通过一个节点网络运作,这些节点共同创建了一个统一的计算环境,能够并行承载无限数量的进程。这些进程功能类似于独立的服务器,每个服务器都有自己的逻辑,托管在去中心化网络上。此外,这些进程保持一种“全息”状态。这使它们能够独立工作,为网络解锁可扩展性,并实现所谓的“超级并行计算”。
六、关于 AO,“全息状态”意味着什么?
“全息状态”指的是每个进程如何独立存储其状态,与其他进程无关。这种方法允许每个进程分别操作和评估。它促进了网络内更快速的交互并改善了可扩展性。状态是通过托管在 Arweave 上的相关消息日志(与进程的互动)“全息式”地暗示出来的。
七、AO 架构的关键组件包括:
进程
: 在 AO 中,进程是一组可以由网络执行的指令。每个 AO 进程都是持久的,具有通过上传到 Arweave 的消息日志所代表的全息状态。
消息
: 每次与进程的交互都通过一条消息表示。消息符合 ANS-104 数据项标准。它们可以来自网络内的用户或其他进程。
调度单元(SUs)
: SUs 的任务是为消息编号,以便系统地处理它们。此外,它们还确保消息及其数据被上传到Arweave。
计算单元(CUs)
: CUs 的任务是确定进程的状态并处理消息请求。然而,CUs 并不义务计算每一条消息;如果它们缺乏必要的资源,它们可以拒绝计算。现有的 CUs(在撰写本文时)使用基于 WASM 的虚拟机环境,支持高达 4 GB 的 RAM。
消息单元(MUs)
: MUs 负责消息的流通。它们的工作是将消息推送通过系统,确保它们由 SU 排序,然后与 CU 协调进行计算。MUs 不断监控新消息,并根据需要重复此过程。
八、对于开发者
开发者有两种方式与 AO 互动:
AOS
:开发者可以使用 AOS 在他们的终端内生成他们的进程。aos 与 ao 是不同的。ao 是一个计算环境,而 aos 功能类似操作系统。它目前支持 Lua 语言编程。查看这些文档以使用 AOS 生成进程。
aoconnect
:对于更习惯使用 JavaScript 的开发者来说,aoconnect SDK 提供了一种在节点和浏览器环境中生成和交互进程的方式。访问这里了解更多关于 AO connect 的信息。
总结
AO 将去中心化计算从“单线程、抢共享状态”的范式,转向“任意多进程并行 + 消息传递”的范式:
-
以 Arweave 持久化消息日志,对输入达成共识、对状态“全息复现”,从而既保留可验证性,又拿到接近 Web2 的横向扩展能力;
-
通过 SU/CU/MU 的清晰分工,把“排序与可用性”“执行与证明”“编排与转发”解耦,形成开放的服务与价格市场;
-
允许进程自主唤醒与读写大数据,为高频交互与重计算(如模型推理、数据处理)打开空间;
-
采用模块化架构,让虚拟机、调度、安全与支付都可插拔,便于现有合约系统无缝接入同一张消息网络。
对开发者而言,你可以用 aos 在终端快速生成与迭代进程,或用 aoconnect 在浏览器/节点环境中集成与编排消息流。如果你需要的不只是“链上脚本”,而是一台可验证、可并行、可长期运行的“网络电脑”,AO 提供了完整的施工图与材料库。