Introduction
Last updated
Last updated
The Bitcoin ecosystem has continued to evolve beyond its initial promises of decentralization, transparency, and security. Recent advancements have notably been made with the integration of Layer-2 solutions, which address scalability issues by offloading transactions from the main blockchain. This facilitates faster and more cost-effective transactions while maintaining integrity. The advent of inscriptions and ordinal protocols has further broadened the spectrum of capabilities, enabling the creation of unique, indivisible assets on the blockchain. Despite these technological strides, the inherent limitations of Bitcoin's script being Turing-incomplete restrict complex executions directly on the blockchain, necessitating the use of Bitcoin indexers. These indexers act as off-chain execution layers, allowing for the incorporation of Turing-complete programming languages to manage and update state transitions based on blockchain data. However, this off-chain solution introduces challenges to data integrity and availability, compounded by the decentralized nature of blockchain, which complicates data maintenance and accuracy.
To address these challenges, we propose a new modular indexer architecture that enables a fully decentralized and user-verified network, mitigating the risks associated with traditional decentralized indexer networks susceptible to Sybil attacks. Our solution, INDECURE, leverages polynomial commitments as checkpoints to streamline the verification process, significantly reducing the overhead associated with integrity checks of state transitions. By implementing a robust data attestation procedure, INDECURE ensures the reliability of state information against malicious alterations, facilitating trustless verifications by users. Our preliminary evaluations of INDECURE across various indexer protocols—BRC20, Bitmap, and satsnames—demonstrate its superiority in reducing computation time and data block size while maintaining high integrity in state transitions. This modular approach not only enhances the security and efficiency of Bitcoin's off-chain executions but also sets a foundational layer for scalable, secure blockchain applications.
The framework overview shows the high-level architecture of INDECURE and the workflow for generating an attested state. While Indecure can incorporate various integrity validation techniques, for a concise presentation, we use hash tree techniques for integrity validation by default in our discussion below.
In particular, Indecure consists of two layers, namely the modular execution layer and data availability layer. There are two key components in the modular execution layer:
The modular indexer computes and stores states by retrieving and executing blocks from the Bitcoin blockchain. In addition to states, a modular indexer also generates extra data used for state validation called checkpoints.
The light client is responsible for state validation and recovery. When a divergence of states happens, the light client recovers the correct one by an attestation algorithm with the help of checkpoints. The data availability provides storage and indexing of checkpoints generated by the modular indexer, making sure of their accessibility to light clients.
The data availability provides storage and indexing of checkpoints generated by the modular indexer, making sure of their accessibility to light clients.
Therefore, for a given block and decentralized protocol, Indecure invokes the following two steps to generate an attested state for this block:
Step 1 (State computation and storage): Each modular indexer from the network first synchronizes with the blockchain by pulling the latest block and then executes the target decentralized protocol to generate a state. In addition, a checkpoint for the current state is also computed via a polynomial commitment algorithm and published to the data availability layer.
Step 2 (State validation and recovery): A light client obtains states and published checkpoints and performs an attestation procedure to generate the correct state. Specifically, the attestation procedure resolves potential discrepancies between states proposed by modular indexers by identifying the successfully validated state-checkpoint pair.
For more technical details, please check out our paper:"Stateless and Verifiable Execution Layer for Meta-Protocols on Bitcoin".