【2024年4月8日】从存储过去到计算未来:AO超并行计算机

2024-04-08 21:32:0807:09 75
所属专辑:区块链深度解析
声音简介

前言
Web3如今分化出的两种主流区块链架构设计已经让人难免有些审美疲劳,不管是泛滥成灾的模块化公链还是总强调性能却体现不出性能优势的新型L1,其生态可以说都是对以太坊生态的复刻或者细微改进,同质化极高的体验早已让用户失去新鲜感。而 Arweave 最新提出的 AO 协议却令人眼前一亮,在存储公链上实现超高性能运算甚至达成准Web2的体验。这与我们目前所熟知的扩容方式和架构设计似乎有着巨大的差别,那么 AO 究竟是什么?支持其性能的逻辑又从何而来?
如何理解 AO
AO 的命名来自于并发运算模型 Actor Model 中一种编程范式 Actor Oriented 的缩写,其整体设计思路源于对 Smart Weave 的延伸,同时也遵循 Actor Model 以消息传递为核心的理念。简单来说,我们可以将 AO 理解为一台通过模块化架构运行在 Arweave 网络之上的“超并行计算机”。从实现方案上看,AO 其实并非我们当下常见的模块化执行层,而是一个规范消息传递与数据处理的通信协议。该协议的核心目标旨在通过信息传递实现网络内不同“角色”的协作,从而实现一个性能可无限叠加的计算层,最终使得 Arweave 这块“巨型硬盘”能够在去中心化信任环境下拥有中心化云级别的速度、可伸缩的计算能力及具备可扩展性。

AO 的架构
AO 的理念看起来与 Gavin Wood 在去年 Polkadot Decoded 大会上提出的「Core Time」分割与再组合有些异曲同工之处,两者都是通过对计算资源的调度与协调,以实现所谓的“高性能世界计算机”。但两者在本质上其实有一些区别,异构调度(Exotic Scheduling)是对中继链区块空间资源的解构与重组,对于波卡的架构并没有太大改变,计算的性能虽然突破了插槽模型下单一平行链的限制,上限却依旧受限于波卡的最高闲置核心数。而 AO 理论上可以通过节点的水平扩展提供近乎无限的计算能力(在实际情况下应该取决于网络激励水平)和更高的自由度,从架构上来说,AO 规范了数据处理方式和消息的表达,并通过三个网络单元(子网)完成信息的排序、调度与计算,其规范方式与不同单元的职能,据官方资料分析可概述为以下几点:
进程(Process): 进程可被视为 AO 中执行指令的集合,进程在初始化时可定义它所需的计算环境,包括虚拟机、调度程序、内存需求和必要的扩展。这些进程保持一种“全息”状态(每个进程数据都可独立存储状态至 Arweave 的消息日志中,下文“可验证问题”部分中会对全息状态做出具体解释),全息状态意味着进程能够独立工作,且执行是动态的,可以由适当的计算单元来执行。除了从用户钱包接收消息之外,进程还可通过信使单元转发来自其它进程的消息;

消息:用户(或者其它进程)每次与进程的交互都由一条消息来表示,消息必须符合 Arweave 原生的 ANS-104 数据项,从而保持本机结构一致,以便于 Arweave 对信息的保存。从更易理解的角度来说消息就有点类似传统区块链中的交易 ID(TX ID),但两者并不完全相同;

信使单元 (MU): MU 通过一种称为'cranking'的过程中继消息,负责系统中通信的传递,以确保无缝交互。一旦消息被发出,MU 就会将其路由到网络内的适当目的地(SU),协调交互并递归地处理任何生成的发件箱消息。此过程将持续进行,直到处理完所有消息。除了消息中继之外,MU 还提供各种功能,包括管理进程订阅和处理定时 cron 交互;
调度程序单元 (SU):当收到消息时,SU 会启动一系列关键操作来维护进程的连续性和完整性。在接收到消息后,SU 会分配一个唯一的增量 nonce,以确保相对于同一进程中其他消息的顺序。这个分配过程通过加密签名进行形式化,保证真实性和序列完整性。为了进一步提高进程的可靠性,SU 将签名分配和消息上传到 Arweave 数据层中。这样可以确保消息的可用性和不变性,并防止数据篡改或丢失;
计算单元 (CU):CU 通过在一个点对点的计算市场内相互竞争,以完成用户与 SU 解决计算进程状态的服务。一旦状态计算完成,CU 便会返回一个带有特定消息结果的签名证明给调用者。此外,CU 还能生成并发布其他节点可以加载的签名状态证明,当然这也需要支付一定比例的费用。

操作系统 AOS
AOS 可被视为 AO 协议中的操作系统或者说终端工具,可用于下载、运行和管理线程。它提供了一个环境,使开发者能够在其中开发、部署和运行应用程序。在 AOS 上,开发者可以利用 AO 协议进行应用程序的开发和部署,并与 AO 网络进行交互。

运行逻辑
Actor Model 推崇着一种叫“一切皆是演员”的哲学观点。该模型内的所有组件和实体都可以被视为“演员”,每个演员都有自己的状态、行为和邮箱,它们通过异步通信进行消息传递与协作,从而使得整个系统能够以一种分布式和并发的方式来组织和运行。AO 网络的运行逻辑也是如此,组件乃至用户都可被抽象为“演员”,并通过消息传递层相互通信,使得进程相互链接,一个可并行计算且非共享状态的分布式工作系统就在交织中被建立起来了。

用户评论

表情0/300
喵,没有找到相关结果~
暂时没有评论,下载喜马拉雅与主播互动
猜你喜欢
2024年每日诵读6月

《老子》篇幅虽短小,但内容及其丰富,思想尤其深邃,为中华哲学原典之一。

by:咿呀咚咚锵

刘慈欣_2018年4月1日

2018年4月1日晴又是犹豫的一天,这之前我已经犹豫了两三个月,犹豫像一潭死滞的淤泥,我感觉自己的生命在其中正以几十倍于从前的速度消耗着,这里说的“从前”是...

by:大屁股老鼠哈哈笑

2024年2月

2月的推荐书是《成功的魔咒》,由哈佛大学医学院教授、美国著名心理学家、全球共情研究专家亚瑟·乔拉米卡利著作。他们才华横溢、聪明过人、受人尊重,却无法获得任何成就...

by:N21小手冰凉