作者:Sam Williams, Ivan Morozov, Tom Wilson, Tyler Hall, Vincent Juliano, Alberto Navarro
第八版草稿 2024年6月13日
本文详细描述了AO计算机的协议,这是一个受Actor Oriented(基于角色的)启发的去中心化计算系统。它建立了一个能够支持无数并行进程的单一系统映像,没有当前去中心化计算模型中常见的限制,强调网络可验证性和最小化信任需求。AO的架构高度模块化,便于与现有智能合约平台无缝集成,并允许在计算资源、虚拟机、安全机制和支付机制等方面进行定制。主要功能包括为托管进程提供无限制的资源利用,直接与Arweave的数据存储能力集成,合约的自主激活,以及用于进程间协调的全面消息传递层。该协议重点介绍了计算机机制的简洁概述,以配合其正式的协议规范。
ao
是运行在 Arweave[8]上的 Actor Oriented(基于角色的)[13]计算机,组成该计算机的网络节点遵循核心数据协议。本文简要介绍了协议规范、功能和技术细节,让构建者进行实现或集成该服务。
ao
是一个单一的、统一的计算环境(单系统映像 Single System Image[14]),托管在分布式网络中的异构节点集上。ao
被设计为一个可以驻留任意数量并行进程的环境,进程之间通过开放的消息传递层进行协调。这种消息传递标准将机器独立运行的进程连接到一起,形成一个“网络”,就像网站在独立的服务器上运行,但是通过超链接连接成具备统一体验的整体系统一样。
与现有的去中心化计算系统不同,ao
支持灵活的计算操作,这些计算不受制于协议固有容量限制和形式,同时保持网络本身的可验证性(从而实现最小化信任)。此外,ao
的分布式和模块化架构允许现有的智能合约平台轻松地“接入”到网络中,开启一个可以与任何其他进程发送和接收消息的单一进程。
ao
不会对所有用户计算环境强加一套规则,ao
使用模块化的形式构建:允许用户选择最适合他们的虚拟机、排序模型、消息传递安全性保证和付款选项。这个模块化环境通过统一的消息(所有消息采用相同的格式)在 Arweave 的去中心化数据层上进行结算处理。这个模块化环境是一个可满足极其广泛的工作负载需求的统一计算环境,每个进程都可以轻松传递消息和协作。
图 1:AO 计算机架构采用模块化方法进行构建:每个逻辑责任被划分到适当的子网中,子网的参与者各自在点对点市场中提供他们的服务。
ao
的核心目标是在没有规模限制的情况下,实现去信任和相互协作的计算服务。这为过去不可能实现的应用程序提供了新的可能性:将智能合约应用的优势(只需对代码信任的服务)与传统计算环境(如亚马逊 EC2 等)的优势结合起来。
图 2:处理用户典型请求(在此为转账)时的节点间通信流程。红线表示由起始消息引起的节点间信息传递路径,而洋红色和蓝色线条跟踪随后消息的路径。绿线追踪这些消息内容的一个示例分布——确保其在 Arweave 网络上节点之间的长期数据可用性。
aos
(ao
的去中心化操作系统)允许开发人员在去中心化网络中启动类似于智能合约的命令行进程。这个过程类似于在云服务上启动服务器,但去中心化和去信任计算是其关键优势。这些进程运行时不受限于特定的物理位置,通过网络实现了无缝的用户交互。由此产生了一个单一的(单系统映像 Single System Image)、统一的、全球性的计算平台,超越了物理和扩展性限制,由所有参与者共同使用。简而言之,ao
形成了一个庞大的、可扩展的计算机,在这个计算机上用户可以与任何进程进行交互,形成一个高度协作的生态系统。
对于用户而言,ao
代表着一个共享的计算机,他们可以在其上执行多个进程。这些进程不受任何特定服务器的限制,也不受任何个人或团体的支配。一旦激活,这些进程会以加密安全的方式提供服务,确保客观和持久的运行。这种设计赋予用户长期稳定使用应用程序的权利,从而为用户与系统交互提供了一个可信赖的环境。
与现有的去中心化和分布式计算系统相比,ao
协议提供了以下功能: