> For the complete documentation index, see [llms.txt](https://cmdefi.gitbook.io/cmdefi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cmdefi.gitbook.io/cmdefi/home/ji-chu-she-shi/arweave-ao.md).

# Arweave, AO

## 💡 **Key Insights**

AO 是一个建立在永久数据存储层 Arweave 之上的新协议。AO 核心价值主张是其能够并行运行应用程序并维护关联状态，每个应用程序建立局部共识，并通过定义好的消息标准来通信，不依赖共享的全局状态。同时由于局部共识的特性进而形成了灵活的弹性的安全性。

{% hint style="info" %}
在AO中，由于底层结构的不同，对应传统的区块链结构中，形容每个应用/合约的专业术语称之为 “进程 (processes)”
{% endhint %}

**局部共识**：在 AO 中，每个进程维护自己的局部状态，不直接访问或修改全局状态。这种设计减少了不同进程之间的直接依赖，有助于提高并行处理的效率。全局共识相当于所有合约共同更新维护一个统一的大帐本，而局部共识则是每个进程维护自己的小账本，最终再通过一个定义好的消息标准来进行通信和同步。

**并行处理**：依赖于局部共识，进程之间通过发送和接收消息来请求数据或触发事件，而不是直接从一个共享的全局状态读取或写入数据（与以太坊不同）。这种独立的状态管理允许它们并行运行而不会相互干扰，使得 AO 形成天然的并行处理架构。

**灵活安全性**：每个进程可以根据其操作的性质和所涉及价值的大小，定制其安全级别。例如，进程可以选择增加更多的验证节点来加强安全，或针对其特定的操作和风险配置不同的安全措施，这与依赖单一全局安全模型的传统区块链有明显区别。

**永久存储：**&#x4F5C;为数据可用性层，Arweave 通过提供数据存储支持 AO，这为 AO 提供了天然的数据存储的持久性和安全性，同时也为 Arweave（AR）提供了额外的需求和场景。

***

## 研究报告

AO 和 Arweave 之间的关系大致可以对标主权 rollup 和数据可用性层的模式。AO 提供了一个一般性的应用程序开发框架（类似于智能合约平台），而 Arweave 网络为所有进程的状态和历史记录提供一种去中心化的、长期稳定的、不可更改的存储方案。最终，所有应用程序（进程）之间的互操作性都基于 AO 系统中定义的消息标准。

例如像传统的以太坊L2 - Optimism、Polygon、Arbtritum 等生态系统都普遍致力于首先发展链上经济活动，在经济繁荣后开始着手开发解决用户体验碎片化问题的互操作性解决方案。而 AO 由于在底层结构上的差异化，必须从一开始就将互操作性作为其生态内部的基础部件，这与 Cosmos 生态通过IBC消息传递标准来进行应用链的互联比较类似。

下面我们对 AO 架构中的关键部件进行解释：

### 1 进程 processes

定义：从终端用户的角度来看，进程可以被认为是一个应用程序的基本单元。它可以类比为EVM系统中的智能合约，或是应用层和协议层。每个进程都有自己的独立状态，可以独立于其他进程运行，这支持了高效的并行计算。

进程通过消息与其他单元交互。接收和发送数据请求或命令，实现各种应用逻辑和操作。

### 2 信使单元 Messenger Units

定义：信使单元负责在进程之间传递消息。

信使单元将外部输入或其他进程的请求转化为 AO 定义的全局标准化消息（如 ANS-104 格式），传递给目标进程，同时也将进程的响应或状态更新消息传回给请求者或其他相关进程。

### 3 调度器单元  Scheduler Units&#x20;

定义：调度器单元主要负责确保消息和操作的顺序性，类似于区块链中的区块生产者或顺序器。调度器单元还负责将进程状态的更改记录到 Arweave 上，确保数据的永久性和不可篡改性。

调度器单元处理从信使单元接收的消息，并按照特定的顺序将它们安排给计算单元计算。计算单元完成计算后，通常会将结果传回给调度器单元或直接通过信使单元发送，由调度器单元负责审核并将最终的状态更改或重要数据写入 Arweave。

### 4 计算单元 Compute Units

计算单元为进程提供必要的计算资源。

它们不像传统区块链中的节点那样处理整个网络的所有计算需求，而是可以选择性地参与特定进程的计算。这允许计算单元根据市场机制和需求动态调整其参与的进程，提高了资源使用的效率和灵活性。计算单元之间相互竞争，完成计算进程状态的服务，需要一定的质押，如果提供了错误的状态，则可能面临罚没。

<figure><img src="/files/NrafNx8ZWYBQQFuCnVY0" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/E43FwTl0sZySCJ7H8Tcv" alt=""><figcaption></figcaption></figure>
