While respecting the sovereignty principles established by Bitcoin, Arch enhances the native layer functionalities of BTC with Turing-complete programmability, unlocking BTC layer 1 programmability.
There has been much discussion about why BTC cannot run smart contracts, mainly due to three reasons:
- Limited Script Language: Bitcoin’s script is intentionally limited in functionality to ensure security and simplicity. It lacks Turing completeness found in languages used by platforms like Ethereum, limiting the types of logic and conditions that Bitcoin smart contracts can execute.
- Data and State Storage: Bitcoin’s blockchain is optimized for storing transaction data rather than the state information required for complex smart contracts. The lack of statefulness in Bitcoin’s design makes it challenging to implement dynamic smart contracts that interact and update based on varying conditions.
- Execution Environment: Bitcoin lacks a native execution environment capable of running complex smart contracts. Platforms supporting advanced dApps, like Ethereum, have a virtual machine (EVM) that provides a controlled environment for executing smart contracts. Bitcoin’s architecture does not include similar components for handling complex decentralized applications.
To date, the BTC ecosystem has several Layer 2 solutions attempting to address these foundational shortcomings, but these solutions typically force users (recipients) to bridge their assets into trust environments, often multi-signature accounts, which goes against the first rule of Bitcoin: “Not your keys, not your Bitcoin.”
How does Arch enable programmability on BTC layer 1?
Arch’s structure consists of two layers aimed at enhancing Bitcoin’s functionalities, composed of ZKVM and a decentralized validation network. These two parts together form a trustless execution layer directly on Bitcoin. This integration not only preserves Bitcoin’s security and liquidity but also significantly enhances its functionalities, allowing for fast, secure, and fully verifiable smart contracts on Bitcoin.
The core idea is enabled by storing additional data in transactions. This increased data availability opens new possibilities for embedding state information and metadata directly on the blockchain, crucial for applications like smart contracts that require accessible and verifiable state data.
What is a “state chain”? A UTXO maintains the state within the smart contract address, separating it from execution to enhance efficiency and security. The separation of state and execution allows for more expressive smart contracts, facilitating a flexible development environment.
The protocol implements a prover-verifier model, where serialized smart contract transactions wait in a pool for execution. Provers retrieve and execute transactions, generating receipts used by verifiers, who validate them using a threshold signature mechanism similar to proof-of-stake models.
Transactional process in Arch:
- Step 1: A Bitcoin transaction calls a smart contract, including basic information required for execution, such as the latest state, partially signed Bitcoin transactions (PSBT), and smart contract inputs. An Arch Indexer continually monitors new Bitcoin blocks, checking each transaction within them for this call.
- Step 2: Upon detecting the transaction, Arch parses the details and proceeds with smart contract execution. Subsequently, the smart contract generates a result state and an unsigned transaction, reflecting asset transfers during execution, along with proof verifying the smart contract execution.
- Step 3: All information is transmitted to the validation network, especially to a lead node. During each Arch epoch, a leader is randomly selected based on stake. The lead node disseminates received information to all other nodes in the network.
- Step 4: Each node verifies the proof and merges the state changes into the transaction, then endorses the transaction. The leader collects signatures from these nodes until a predefined threshold is reached. Step 5: Once the transaction is signed by a sufficient number of nodes, it can be broadcast on the Bitcoin network.
In summary, Arch addresses two core issues of how BTC layer 1 can be programmable:
First, how to generate signatures without private keys on Bitcoin layer 1? (For example, Ethereum’s solution involves asset transfers supported by trusted contracts). Arch uses a Threshold Signature Scheme (TSS) allowing the validation network to share keys and sign transactions on behalf of users.
Second, the actual role of the Indexer, which acts like a computational module, and after the index completes the calculation, who will match the entire trade? Once a user signs a Bitcoin transaction, it is also a smart contract call transaction. The Bitcoin transaction includes all information captured by the Arch VM, passing data inputs and smart contract call information to the zkvm for processing, generating output (result state, unsigned transaction, and validity proof).
This process enables programmability on Layer 1, and Arch has also implemented mechanisms allowing smart contracts to call other smart contracts, pausing execution until the called smart contract completes its processing. This mechanism facilitates seamless interaction and coordination among different smart contracts.
About ABCDE
ABCDE is a VC focused on leading investment in top Crypto Builders. It was co-founded by Huobi Cofounder Du Jun and former Internet and Crypto entrepreneur BMAN,who both have been in the Crypto industry for more than 10 years. The co-founders of ABCDE have built multi-billion dollar companies in the Crypto industry from the ground up, including listed companies(1611.HK), exchanges(Huobi), SAAS companies(ChainUP.com), media(CoinTime.com), and developers platforms(BeWater.xyz).
Twitter:https://twitter.com/ABCDELabs
Website:www.ABCDE.com