This week, AtomicalsXYZ released its latest AVM virtual machine whitepaper. We may remember last year’s $ATOM and the ARC-20 tokens like $quark that were popular during the New Year. The AVM whitepaper from Atomicals Protocol discusses the details of the AVM and its impact on the future of the Bitcoin ecosystem. Let’s analyze the protocol and the content of the whitepaper.
I. Background
With the development of the Bitcoin ecosystem and the introduction of technologies like Segwit, Taproot, Schnorr, MAST, and Taproot Scripts, new applications have emerged. Many Bitcoin token issuance methods have been developed, promoting the continuous growth of the Bitcoin ecosystem.
The birth of the Ordinals protocol is closely related to the concept of satoshi on the Bitcoin network. This protocol introduces the concepts of ordinals and inscriptions. Ordinals assign a unique number to each satoshi based on its mining order, and this number remains unchanged regardless of the transfer of satoshis between different wallets. Inscriptions are implemented by engraving information on satoshis using SegWit and Taproot. As the Bitcoin ecosystem evolves, Casey, the founder of Ordinals, suggests using Runes as an alternative to BRC-20. Compared to BRC-20, Runes simplify the server consensus layer, making it more straightforward. It does not rely on off-chain data and does not require native tokens, making it suitable for Bitcoin’s native UTXO model.
The birth of the Atomicals protocol was also a coincidence. Initially, the founder, Arthur, wanted to develop a DID project based on the Ordinals protocol. However, he discovered some limitations during the process. In May 2023, he posted his thoughts on the protocol on Twitter but encountered difficulties. The protocol was officially launched in September last year. The concept of ARC-20 in Atomicals is not just a protocol for inscriptions as many people understand it. It is more like a colored coin that takes the smallest unit of Bitcoin, sat, as its fundamental “atom.” The unique feature is that each token unit is supported by at least one sat unit and operates according to the same rules as sending and receiving Bitcoin using the UTXO architecture.
When tracing historical transaction records and calculating the current ARC-20 asset balance, people only need to check the Bitcoin UTXOs associated with ARC-20 tokens. There is no need to retrieve additional data from off-chain storage modules. This is the main difference between ARC-20 and BRC-20 protocols because the BRC-20 protocol usually relies on off-chain indexers and storage layers. The ARC-20 protocol significantly reduces the cost of index servers, improves decentralization, and its transaction security relies on the BTC network. It does not generate redundant transactions while maintaining the same atomicity as BTC, making it suitable for developing various native applications. The Atomicals protocol aims to provide more than just asset issuance but also to enhance the liquidity and functionality of the assets through various use cases.
II. What is AVM?
Bitcoin was originally designed as a peer-to-peer electronic cash system with a certain capacity for script data storage and basic OP Codes. So far, all overlay protocols on Bitcoin are based on fixed or predefined state machines. These overlay protocols essentially share two state machines: one for signal transmission to create digital assets and another for managing the transfer of these digital assets. The rules of the state machines are essentially immutable and hardcoded in their respective overlay protocol indexers, making it impossible for application developers to customize the behavior of digital assets.
However, due to the limitations of the UTXO model and predefined state transition rules, this stateless model can only handle limited management of BTC’s single asset. To add assets like BRC20, ARC20, Runes, etc., to the Bitcoin network, a more complex dynamic “state machine” model is needed to record the storage, transactions, and state changes of these assets. One approach is to use off-chain protocols and Layer 2 solutions, such as Nervos Network, RGB, Lightning Network, etc., to build an off-chain “state machine” model. Another approach is to directly expand the functionality of the script by adding new OP Codes or storage space, such as Covenant and OP_CAT BIP proposals. However, the first approach is difficult to achieve consensus in a short period, while the second approach introduces uncertainty.
AVM provides a solution that bridges the gap between the two approaches by directly building a virtual machine execution environment on the Bitcoin mainnet to handle the creation and transfer of complex assets in a special way. It allows application developers to fully customize and define the arbitrary rules of their digital assets. The basic idea is to allow developers to place smart contract code in the data segment of transactions so that all parties involved can execute it. By storing the code on the blockchain, different parties can easily synchronize their states by executing the logic in the same way.
III. How does it work?
We all know that a smart contract programming language should have certain key attributes: predictable runtime, Turing completeness, and efficient execution on resource-constrained systems. From these requirements, the Bitcoin script is very suitable as an instruction set for defining the rules of creating and transferring digital assets. Smart contract program codes are stored in Bitcoin transactions, and the overlay protocol indexers execute these codes for various method calls and state transitions. All parties involved execute the same logic and reach the same state transitions, forming a spontaneous consensus.
The AVM simulates the Bitcoin virtual machine and its script interpreter to create and execute various smart contracts for overlay digital assets. The Bitcoin blockchain serves as a timestamp and data provider, storing smart contract programs on-chain, but the execution of these programs is done by overlay protocol indexers in a sandbox runtime. Overlay protocol indexer nodes are operated by application developers, service providers, and users, creating a new consensus:
1. Bitcoin script simulation: Bitcoin instruction set, implemented using a dual-stack PDA, achieves Turing completeness.
2. Sandbox runtime environment: The entire simulated machine operates in a controlled isolated environment, ensuring that execution inside the sandbox does not interfere with execution outside.
3. State hash: Allows participants to verify if their indexer’s state is correctly synchronized, preventing potential attacks from inconsistent states.
In simple terms, AVM directly utilizes the limited storage space and OP Codes processing framework of the current BTC. It introduces a special encoding and decoding method, the sandbox environment, in each BTC mainnet transaction. This sandbox is a streamlined version of the Bitcoin script interpreter with significant differences. It directly accepts and executes locking scripts (scriptPubKey) and unlocking scripts (scriptSig), as well as various other data such as token states and protected memory snapshots. This environment can independently handle the storage and transaction records of a complete set of assets, allowing for complex smart contract processing, state synchronization, and verification.
IV. Future Development
What are the possible future developments for AVM? It provides an advanced execution environment for handling smart contracts and dApps. It is equipped with a custom instruction set to enhance performance and reduce Gas fees. It optimizes state transitions to increase parallel processing capabilities, thus improving throughput and scalability. Additionally, AVM achieves interoperability and cross-chain communication. In simple terms, AVM allows the Atomicals protocol to perform various tasks beyond simple token issuance mechanisms. Only after meeting the needs of asset issuance and management can the Bitcoin ecosystem truly develop, leading to larger-scale applications and system architecture implementations.
Although AVM has certain limitations, such as only being able to handle ARC20 assets and the availability of layer one smart contracts under the block speed and fee rate of the mainnet is still unknown, it is still an exciting development, and we look forward to further technological innovations and breakthroughs.