Autonomous Services: Compared with Other Software
Autonomous services are a new type of software system. Developers can build them using the Open Autonomy framework and run them on the Olas on-chain protocol.
Autonomous services are unique in crypto and the broader software space. They have a unique set of technical features. It is easiest to understand these features by comparing them with:
- Smart contracts
- Web services
- Custom decentralized services (e.g. price oracles)
Smart contracts
Smart contracts run on blockchains like Ethereum, Avalanche, and Solana. These blockchains are run by groups of independent “node operators”. Node operators keep one another in check. This makes them very secure and can safely hold a lot of funds.
To keep them secure, blockchain architects made smart contracts limited. Smart contracts can’t do complex processing. The most cutting-edge computation is unlikely to ever run on a blockchain. Smart contracts can’t reach out and talk to other blockchains either. They are unable to pull in data from another API or interact with a crypto application running on another chain. They’re also limited in that they don’t run all the time. This means they can’t take action according to changes in their environment.
Smart contracts compared with autonomous services
Smart contracts run on the blockchain (on-chain), whereas autonomous services do not (off-chain). Smart contracts are crypto-native. This means they can secure valuable assets and are composable, but they are unable to do more flexible computation. By contrast, Autonomous services are secure and flexible.
Web Services
Web services power much of the internet as we know it today. Massive web services power things like Google Search, and the Facebook News Feed. They are not run on a blockchain, so we say they run “off-chain”.
Web services can do complex processing like advanced machine learning. They can talk to any website or application and they can run on an ongoing basis.
But web services are centralized. This means they’re run by individual entities. They’re also prone to downtime and their code isn’t open-source, so you can’t check it for quality and safety. This also means web services are not composable – developers can't combine them to create new products. Composability is a superpower – it enables systems to grow at an exponential rate.
Web services compared with autonomous services
Autonomous services can do many of the complex things that web services can. The big difference is you can trust autonomous services to manage high-value assets. This is because they have the same crypto-native properties as smart contracts.
Custom Decentralized Services
Groups of individual operators run custom decentralized services. They don't run on the blockchain, so again, we say they run “off-chain”.
Examples of such services are popular oracles on price feeds, like those run by Chainlink and Band Protocol. Other examples are keepers like those running on the Keep3r Network. The third big example is bridges, such as the Polygon Bridge.
Groups of individual operators run these services, which makes them decentralized. They often run through consensus or multi-sig operations, which make them quite robust. And their code is often open-source, so we can review it and consider it transparent.
Given that decentralized services do not run on a blockchain, they are usually able to do very complex processing. They can also talk to any website, app, or chain. They can also run on an ongoing basis.
Custom decentralized services compared with autonomous services
There are two big differences between custom decentralized services and autonomous services:
- how they are built
- how sophisticated they can become
Decentralized services are often created with permission from a project’s core team. They are sometimes built by the core team. With Autonolas, services can be built, registered, and run without permission from the core team. Autonolas coordinates people via its on-chain protocol, rather than via its core team. This improves the speed and ease of building for developers.
Another difference is that decentralized services are often single-purpose. For example, oracles put data onto the blockchain for smart contracts to use. Developers cannot import the oracle into another off-chain service they're building. With Autonolas, devs can combine any code or service registered on the protocol. This enables a rich new set of possibilities for off-chain services. This property makes autonomous services composable. Learn more in Composability.