最近AO发布了,玩起来很有意思,spec在这里,直接进入正题。一起来了解ao架构,以及其基本组件和它们的功能。以下是对架构每个组件的解读:进程(Processes):在ao网络中,进程是计算的基本单位。它们通过在Arweave上存储的消息日志和初始化数据来表示。进程在其初始化时定义了所需的
最近AO发布了,玩起来很有意思,spec在这里,直接进入正题。
一起来了解ao架构,以及其基本组件和它们的功能。
以下是对架构每个组件的解读:
- 进程(Processes):在ao网络中,进程是计算的基本单位。它们通过在Arweave上存储的消息日志和初始化数据来表示。进程在其初始化时定义了所需的计算环境,包括虚拟机(VM)、调度程序、内存需求和必要的扩展。进程隐含的状态可以通过满足其计算需求的计算单位来计算。进程可以接收来自用户钱包的消息,也可以通过信使单元接收来自其他进程的消息。开发者可以自由选择如何验证这些消息的可靠性。
- 消息(Messages):在ao中,所有与进程的交互都通过消息来表示。消息本质上是符合ANS-104标准的数据项。用户和进程可以通过调度程序单元发送消息到网络上的其他进程。ao中的消息语义类似于UDP和TCP数据包:消息保证只交付一次,但如果消息没有被信使单元转发或收件人没有处理它,则交付不会发生。
- 调度程序单元(Scheduler Units, SUs):调度程序单元负责为发送给进程的消息分配唯一的递增槽号。在分配后,调度程序单元必须确保数据上传到Arweave,以便数据对其他人永久可用。进程可以自由选择它们首选的序列器,这些序列器可以是以去中心化、中心化或用户托管的方式实现。
- 计算单元(Compute Units, CUs):计算单元是用户和信使单元可以利用来计算ao中进程状态的节点。虽然调度程序单元有义务对它们已接受的消息进行排序,但没有计算单元有义务计算进程的状态。这创建了一个点对点计算市场,其中计算单元相互竞争,以解决进程状态的服务。计算单元在完成状态计算后,将返回给调用者一个对特定消息解决结果进行签名的证明。计算单元还可以生成并发布其他节点可以加载的签名状态证明。
- 信使单元(Messenger Units, MUs):信使单元是通过称为cranking的过程在ao网络上转发消息的节点。当信使单元在系统中crank一条消息时,它们将其发送给过程的适当调度程序单元,然后与计算单元协调以计算交互的输出,然后递归地重复该过程以处理任何结果消息。这个过程一直持续到没有更多消息需要crank为止。用户和进程还可以支付信使单元订阅一个进程,crank任何由其定时cron交互产生的消息。进程还可以选择将一条消息标记为广播,导致信使单元将消息发送给其调度程序单元,但不会监听响应。
总的来说,ao架构通过这些组件提供了一个去中心化的计算环境,允许用户和进程在计算、消息传递和状态验证方面有最大的自由度,同时保持了网络的安全性和可靠性。