作者:Sam Williams,Arweave创始人;翻译:0xjs@金色财经
AO 能做到和 Solana 一样的 TPS 吗?
答案是:远远更多。为什么?消息。
我非常尊重 Solana 的工程技术,该设计通常被非开发人员低估。让我们深入探讨AO和Solana的差异和权衡。
入门:消息传递是什么?
在计算机科学中,当我们想要同时处理系统的多个输入(如交易)时,我们称之为“并行性”。有两种基本方法:共享内存和消息传递。让我们依次看一下。
共享内存
Solana 是一款优化得非常好的共享内存机器。这意味着每个合约都可以直接读取和写入其他合约的内存。
这允许“状态”(程序中的数据——如余额等)同步更新:它们都是一次性提交的。这可能很有帮助,但这也意味着当一个用户访问程序中的某些数据时,任何其他用户都无法修改它。它们在称为“lock contention”的过程中相互等待。
Alice“锁定”数据、修改数据、“解锁”数据,然后 Bob 才能访问它。他们基本上形成一个队列。
共享内存系统可以扩容到某个程度,而 Solana 开创了我在无需信任环境中见过的最优化设计,但随后就停止了。
为了进一步扩容,你必须采取不同的方法......
消息传递
AO是另一条路线的超级优化:消息传递。
在 AO 中,每个“合约”都是它自己的异步进程。每个进程都以单个 CPU 线程的速度独立运行,在需要交互时向其他进程发送消息。你可以将每个程序视为计算机上的单个程序,或者rollup/应用程序链的极快版本。
当你耗尽应用程序的一个进程的吞吐量时,你可以将应用程序拆分到任意数量的其他进程中。
更多进程——>更高吞吐量——>更满意的用户。
AO 中托管并行进程的数量没有实际限制。唯一的协议限制继承自 Arweave:不超过 2^256 字节。就规模而言,这比宇宙中的原子还要多。
另一方面,你无法“全局”访问网络中所有其他进程的内存——必须通过消息请求信息。
幸运的是,计算机科学领域对该技术进行了 50 多年的研究和部署,使其变得简单易用。它称为面向 Actor的编程,这也是 AO 名称的由来。用户在互联网上使用的几乎每项服务都是使用消息传递构建的 - 信息、网站和整个 TradFi 生态系统。甚至互联网本身也是一个消息传递机器。
AO 的创新之处在于将这种方法应用于区块链和智能合约。因为为了构建 Arweave,我们已经必须解决链上存储的可扩展性问题,所以我们通过使用 Arweave 作为消息传递层构建 AO,因此它也“免费”继承了这种可扩展性。
任意规模的链上数据——>任意规模的链上消息。
该系统的首次使用可能是在金融领域,但我认为它不会止步于此。当每个进程都是异步时,任意数量的计算可以同时在网络中运行,而不会相互影响。
你可以使用 AO 运行计算量大的 AI 智能体,而我则使用它在商店购买咖啡。我们的流程是独立的,因此我们双方都不必为了访问系统而与对方竞争。没有理由不能扩展以覆盖整个世界的计算负载。
总结一下:
没有通过消息传递共享内存、没有 lock contention、扩容。
成本呢?对全局内存的共享、同步访问。
如果使用 AOS 提供的正确工具,这种成本几乎不会被注意到。看起来是一笔不错的交易。
这是一个计算机科学家可以无休无止地讨论的话题。这里有很多细微差别,但如果你看懂了这一点,恭喜你,现在你明白了要点。
Solana 是一款设计精良的机器,将共享内存范式带到了区块链中的逻辑结论。 AO测试网已上线 2 个月,目前处理 Solana 约 6% 的用户流量。
AO的未来一片光明,具有无限扩容的增长性。