Source: PermaDAO
This AMA is a part of the AI Crypto Hackathon held by BeWater and supported by the PermaDAO community.
This article is a summary of the AMA content, divided into the main text and QA session. The main text is a conversation between the host and Sam, and the QA session is questions from community users about AO.
Guests: Sam, founder of Arweave & AO
Host: outprog, initiator of PermaDAO & AO; lulu, BeWater
Main text
Outprog:
Thanks to lulu and BeWater for the invitation. I am outprog from PermaDAO, hosting today's event.
As a decentralized storage infrastructure, Arweave has been running stably for nearly 6 years since 2018. The data stored in Arweave has also experienced explosive growth, just like the price of BTC.
We all know that a very important thing happened in the Arweave ecosystem this year, namely the release of AO, which marks the transformation of the Arweave ecosystem from decentralized storage to a full-stack application ecosystem that supports decentralized computing.
First, please ask Sam to briefly introduce himself, as well as a brief introduction to Arweave and AO.
Sam:
Thanks Outprog, and thanks for the invitation from BeWater!
About 7 years ago, we started building Arweave as a permanent data layer for storing all of humanity's most important knowledge and history. The original idea was basically to create "on-chain storage" - just like people have been trying to do on Bitcoin from the beginning, but with unlimited scalability. Until today, 7 years later, Arweave now stores more than 5 billion pieces of data and is the "data pipeline" for many Web3 applications to run.
In this process, we discovered that decentralized computing is "decentralized data replication" plus "verification". When you run an Ethereum (or even Bitcoin) node, your computer simply downloads blocks from the peer-to-peer network and verifies them.
Since Arweave can store any amount of data permanently (just like Bitcoin and Ethereum's data collection replication), a question arises: if we add a verification layer, does this mean that we can achieve infinitely scalable smart contracts?
It turns out that the answer is yes?. This product is AO. It is essentially a decentralized supercomputer running on Arweave with an unlimited number of parallel threads.
We hope to build a new, decentralized cyberspace through the combination of Arweave + AO. This cyberspace can be proven to be neutral and guarantee the rights of users.
Outprog:
Thank you Sam for the introduction. Let's move on to the first question. Today's topic is AI, so let's start with AI.
We know that AO is designed using the Actor model. It is very interesting that the relationship between the Actor model and AI is mentioned in a paper [A Universal Modular Actor Formalism for Artificial Intelligence]. Can we assume that AO based on the Actor model is naturally suitable for developing AI applications?
Sam:
Yes, the Actor model was invented at a time when AI research was receiving a lot of attention (similar to today). It took 60 years of research to perfect AI, but the Actor programming model was quickly and widely adopted and used in many non-AI devices. Now that we are close to AGI, the Actor model makes even more sense.
Essentially, the core idea of the Actor model is that each component of the system can be an independent, autonomous agent that can operate in parallel.This model fits in well with agent-driven architectures because it simulates the real world: just like in an AMA chat now, each of us is independent and autonomous, and we coordinate with each other by sending messages. AO brings this idea to the computing world using the Actor Model. Each service in the system is autonomous and can execute independently. When they want to coordinate, they do so by sending messages. Outprog: Yes, in the Actor Model each "actor" is like an agent, which reminds us of AI Agent. Sam, can you talk about the relevance of the Actor Model and AI? Sam: That's right! Agent == Actor. So an actor-oriented approach as a hosting environment for it makes perfect sense.
One of the things we’re most excited about AO is that it gives us smart contracts that are scalable enough to host entire large language models. Our CTO Tom and I have been working on hosting large language models on Arweave in the evenings and weekends over the past few weeks:
https://GitHub.com/samcamwilliams/aos-llama
While it’s not ready for a public announcement, this repository serves as a preview if you’d like to check it out ?.
Outprog:
Awesome! I think Sam's use case will soon show how big AI models can be implemented on AO!
Sam:
An idea: AO is a new form of cyberspace that is very suitable for agents. Inside AO, agents are autonomous, sovereign individual units.
We believe that the first applications of this technology will be in finance.
In the past, most economic activity was actually the “smart layer” - not just settlements. These economic activities used to be done “off-chain”, but now we can bring them into the smart contract environment while gaining the trustlessness they provide.
Imagine if all the smart behavior of economic activity - not just settlements - could be performed on-chain as smart contracts by trustless agents. Now you can build smart contracts that provide users with an autonomous “algorithmic trading” fund. This opens up a huge design space that has never been explored.
In the long run, we think it will be much more than that. It will be an autonomous form of “life” (however you describe it) that can be trusted to perform tasks.
Outprog:
Automated finance and AI-agent finance are directions worth exploring on AO! Let's wait and see.
Go to the next question. At present, there is no real example of combining AI and web3. AO's technical architecture has obviously broken through this limitation. In addition to on-chain models such as EVM, developers can use AO to create applications that were difficult to achieve in the past.
After the technological breakthrough, how will AO help the development of AI in the future? Will there be support and funding for AI projects? What role will AO play in the development of AI?
Sam:
The main advice is to actively seek collaboration! There are a large number of groups in the Arweave ecosystem who are very happy to help the growth of projects building on AO. Recently, Community Labs launched AO Ventures, an incubator with $35 million in investment funds to support the growth of projects building on the network.
At Forward Research, we are also very happy to provide one-on-one support to people building projects in the ecosystem. Just contact us and we will do our best to help in any way - from technical support, promotion to financial support, we will do our best.
Outprog:
Great ecosystem support! Last question.
This hackathon hosted by BeWater is very helpful to the development of ao's developer ecosystem. PermaDAO has also been committed to building a developer community for the Arweave ecosystem for a long time.
We believe that there will be more offline ao ecosystem activities held in Asia in the future, which may be hackathons, incubators or training camps.
Does Forward Research have any plans and ideas for supporting these activities? How to cooperate with BeWater AI Crypto Hackathon? Promote innovation and development together.
Sam:
At Forward Research, our core function is to build: both protocols and communities. The latter usually involves finding the right people and then helping them spread the word.
Q & A
The following is a question and answer from community users in the AMA
About "POS"
Adam Lee:
I have some questions about AO.
1. I noticed that AO is still using the centralized system of PoA. When will it upgrade to PoS or a more decentralized consensus mechanism?
2. I haven't seen any token economic content related to AO. When will this part be upgraded? 3. Does AO have a roadmap? Sam: We will gradually and smoothly transition most of our activities to PoS as we continue to develop. It is not actually "centralized" at the moment - some developers are running their own SUs/CUs/MUs. As a developer, you can choose which "institutions" to trust for messages. It is more "distributed" than centralized, but not decentralized - but I understand your point. AO itself is a data protocol on Arweave, so you can stack any number of different security systems on top of it.
Once AO implements PoS, there will be an efficient computing market where people run CUs (Computing Units) which are responsible for computing the state of processes in the network.
One of the cool features of AO is that each subnet that operates the network is completely elastic. There are no scalability limits for each network. Fun fact: yesterday we doubled the number of computing units in the testnet run by Forward Research. No one noticed the change except that some processes ran faster ?. In the future we can scale to any number of computing units.
David Dot:
Does the AO token mean a re-funding, has it given up on making AR more valuable?
Sam:
It's hard to understand your question exactly, but AO is not doing any fundraising at all. We are pushing all VCs who want to invest to invest in the ecosystem of projects built on it.
About “Concurrency”
Siyuan Han:
That sounds great! Thanks, Sam. Can you describe how AO supports an arbitrary number of parallel processes? How does AO avoid traditional parallel execution issues, such as read-write conflicts?
Outprog:
Actor Model is a very mature model for dealing with concurrency and is also the architecture adopted by AO. The model was proposed in 1973 and has been implemented in the Erlang programming language.
For more documentation on the Actor Model, please see:
https://en.wikipedia.org/wiki/Actor_model
You can also see the AO specification document translated by PermaDAO:
https://permadao.com/permadao/ao-1353 cc109 d434941 a6757560 ef35 dcc2
Sam:
I'm pretty sure Telegram, which we're using for AMA chats right now, also uses Actor Model programming internally!
Siyuan Han:
So, AO avoids the problem of read/write conflicts at the computational level. If AO has the ability to process transactions like a traditional high-concurrency system, executing thousands or tens of thousands of threads at the same time, how does it handle workloads at the disk IO level? Can you give us a detailed introduction to AO's storage and data engine technology?
Outprog:
Rollup, using Ethereum-like Rollup technology to bundle data onto Arweave.
Sam:
Yes! The data of each process is "rolled" onto Arweave, which is specifically designed to coordinate large-scale replication of information in peer-to-peer networks.
So, when building AO, we can say that disk I/O coordination is "free" to some extent (because we have spent 6 years building it?).
About "Load Balancing"
Kevin Zhang:
Will there be many processes handling AI in the future? How to maintain load balancing?
Outprog:
My point of view is that MUs (AO's messenger unit) are similar to Nginx in traditional Web2, with load balancing distributed among countless MUs, and after PoS is implemented, CUs will share all the calculations. Just like the elastic expansion of k8s.
Sam:
Yes! MUs are the user's entrance, while CUs are the "computing cloud".
About "GPU computing power"
AI:
If we do some AI applications in AO, such as AI video generation, can the AO ecosystem solve the problem of insufficient GPU computing power?
I didn't see the AI demo. Does AO have GPU computing power?
Sam:
It can't use the GPU directly, although the Apus team is working on this issue. Currently only CPU is used, because WASM runs on CPU and provides us with deterministic calculation results - which is crucial if we want smart contract verifiability.
Jason Wu (APUS):
Not yet as far as I know. Apus network is providing GPU computing power for AO. We will do some simple demonstrations. Currently, images can be generated. Large language models and video generation are not open yet.
About "Consensus and Transaction Order"
Miami Fish:
How does SU verify the request and submit it to CUs for processing, such as strictly by timestamp or some kind of priority based on economic incentives?
Outprog:
SUs are used to assign nonces, and CUs get the computations performed in the exact order of the nonces.
Here's a paper on msg delivery, also in the ao spec:
https://groups.csail.mit.edu/tds/papers/Lampson/FORTE93.PDF
Sam:
As @outprog said, SUs provide a Slot-Assignment for each message. In the PoA testnet you need to trust your SU, but you can even run it yourself if you want. In a full PoS network, you would stake the correctness of the SU, and be able to "fall back" to Arweave's consensus mechanism when there is a problem (just like "falling back to L1" in Rollup).
Miami Fish:
Thank you. So in PoS, are SUs automatically distributed (like who gets my request first)? I'm thinking more about financial applications, such as in liquidation events, where different people try to submit liquidation requests at roughly the same time, then whose request is processed first will affect the results of others.
Sam:
The deployer of the process can choose the SU - whether it is the developer himself or another process that spawns it as a "child" process.
After PoS, if an SU stops processing messages, you can "challenge" them on the AO-Sec Origin process to ask for a slot allocation. If they don't, the process becomes "unhostable" and the issue is resolved by having the SU "bid" to become its new host.
There are a lot of details in there, but this is the big picture. It allows every process in AO to inherit the flexibility and censorship resistance of Arweave, while allowing the process to run on a high-speed SU ?
Okay, I need to leave now. Happy programming everyone!