AO 快速入门:超级并行计算机简介

  • PermaDAO
  • 更新于 2024-03-22 12:56
  • 阅读 230

探索 AO 是什么以及是什么使它成为一台超级并行计算机。了解它是如何工作的以及它的独特之处。最后,了解您可以如何开始使用 AO。

1.png Author: Rohit Pathare

Translator: Scarlett LI @ Contributor for PermaDAO

Reviewer: Xiaosong HU @ Contributor for PermaDAO


AO 是一台“超并行计算机”。其核心目标是提供无需信任的协作计算服务,且在规模上没有实际限制。它结合了区块链网络的信任最小化优势与更传统计算环境(如亚马逊 EC2)的速度和可扩展性。但这一切是如何工作的呢?让我们深入探讨 AO 的复杂性。

2.png

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 中的并行处理是如何工作的?

在 AO 中,多个进程可以并行操作,共享可用的计算资源。在其他进程空闲时,资源被重新分配给活动进程。这种重新分配有助于最大化利用可用资源,加快处理时间,使系统更加高效和可扩展。

AO 中的消息是如何处理的?

网络内的每次交互都以消息的形式进行。每条消息都经历以下流程:

  1. 用户或其他进程以消息的形式向某个进程发送请求。消息由消息单元(MU)接收并转发给调度单元(SU)。
  2. 调度单元(SU)为消息分配一个原子递增的槽编号,并确保消息上传到Arweave。SU也可以选择缓存消息。
  3. 然后,消息单元(MU)向计算单元(CU)发送请求,以计算消息结果。
  4. 计算单元(CU)然后从调度单元(SU)或直接从Arweave获取所请求的消息,并计算其结果。
  5. 计算结果被发送回消息单元(MU),MU 检查消息是否需要被推送(如果结果需要进一步处理)。
  6. 如果结果不需要进一步处理,那么消息单元(MU)将结果发送给消息的原始创建者(用户或进程)。

AO 进程如何作为自治代理运行?

基于预定义逻辑,AO 进程可以与 Arweave 网络进行最小化甚至无需持续用户干预的交互。结合它们的其他特性,AO 进程可以以可验证的方式作为自治代理行事。这开启了从参与代币化游戏到充当AO聊天机器人等众多潜在应用的可能性。此外,AO 引入了类似 cron 的系统,使进程能够在预定的间隔执行任务。无论是提供及时的警报、更新代币价格,还是根据这些更新促进自动化交易和套利,AO进程作为自治代理的能力是广泛的。

如何开始使用 AO?

对于开发者

开发者有两种方式与 AO 互动:

  • AOS:开发者可以使用 AOS 在他们的终端内生成他们的进程。aos 与 ao 是不同的。ao 是一个计算环境,而 aos 功能类似操作系统。它目前支持 Lua 语言编程。查看这些文档以使用 AOS 生成进程。
  • aoconnect:对于更习惯使用 JavaScript 的开发者来说,aoconnect SDK 提供了一种在节点和浏览器环境中生成和交互进程的方式。访问这里了解更多关于 AO connect 的信息。

对于终端用户

终端用户可以选择多种应用程序:

  • Astro:一种超额抵押的稳定币,为 Arweave 增加流动性。想要探索 Astro,请访问这里
  • Bark:由代币流动性池支持的去中心化 AMM 交易所。发现 Bark 及其特点,请点击这里
  • AO Effect:一种竞技场风格的游戏,可以与全球的朋友互动。开始 AOEffect 游戏,请访问这里

AO 的下一步是什么?

展望未来,AO 正准备在协议层推出增强功能,这将包括支付通道、代币化和质押机制的选项。除此之外,应用开发的视野很广,有可能扩展到临时文件存储解决方案、市场、游戏,甚至人工智能。


关于 PermaDAOWebsite | Twitter | Telegram | DiscordMediumYoutube

0.png

点赞 0
收藏 0
分享

0 条评论

请先 登录 后评论
PermaDAO
PermaDAO
0x40F9...8718
Arweave 生态系统的共建者 DAO。 @ArweaveEco will be adopted by more developers. All projects of Arweave ecology can post their tasks and rewards here. @everVisionHQ@permaswap@ArweaveSCP