Qtum Documentation
  • Qtum Features and Advances
    • Qtum Ordinals
      • Chapter 1: Introduction to ordinals
      • Chapter 2: Understanding Inscriptions in Depth
      • Chapter 3: The Intricacies of Ordinals on the Blockchain
      • Chapter 4: Engineering Ordinals within Qtum's Architecture
      • Chapter 5: Prerequisites for Engaging with Ordinals on Qtum
      • Chapter 6: The Procedure for Inscribing a Satoshi with Ordinals
      • Inscribing Messages on Qtum Testnet
    • Qtum-BIP38
  • Qtum Wallet
    • Qtum-Core Wallet Documentation
      • Qtum Documentation
      • Using Qtum Wallet
      • Linux Repositories
      • Qtum on Raspberry Pi
      • How to Update Qtum
      • Qtum Wallet Best Practices
      • Qtum Wallet Commands
      • Adding Nodes To Qtum Wallet
      • Encrypt & Unlock Qtum Wallet
      • Recovery wallet data with salvagewallet
      • Testnet User Guide
      • Bech32 Addresses support
      • How to Add Options (Config)
      • How to use Bootstrap
  • Staking and Nodes
    • Secure Staking With Qtum Star Network
    • Staking Documentation
      • Qtum Staking
      • Offline Staking
      • Offline Staking Address Delegation - Undelegation Transaction Details
      • Qtum on AWS ec2
      • Staking with a VPS
      • Staking with a Raspberry Pi
  • Other Wallets
    • Wallets Supporting Qtum
      • Electrum
      • Qtum Web Wallet
      • Qtum Lightning Network
  • RPC CALLS AND API
    • QTUM RPC CALLS
    • QTUM RPC API
  • Qtum Deployment
    • Guidance on Qtum Deployment
    • Building Qtum on Linux
    • Guidance for Exchange Deployment
  • Smart Contracts and QRC20 Tokens
    • QRC20 Token integration
    • QRC20 Integration Technical Guide
    • Raw QRC20 Transaction implementation guide
  • WEB3
    • Web3 Compatibility Layer
    • Janus Docker Container
    • Truffle
    • Differences between EVM chains
  • QNEKT
    • QNEKT
    • Why Fork Metamask ?
    • Sideloading Qnekt
    • Setting up QNEKT
    • Working with Testnet Coins on QNEKT
    • Connecting QNEKT to regtest
    • QNEKT Regtest with react-box
  • Research
    • Confidential Assets
    • Data Analytics
Powered by GitBook
On this page
  1. Qtum Features and Advances
  2. Qtum Ordinals

Chapter 2: Understanding Inscriptions in Depth

PreviousChapter 1: Introduction to ordinalsNextChapter 3: The Intricacies of Ordinals on the Blockchain

Last updated 1 year ago

Technical Overview of Inscriptions

Inscriptions are a sophisticated feature of the Qtum network that allow for the attachment of metadata or arbitrary data to individual satoshis. Technically, an inscription is a digitally native mark that is made on a single satoshi, the smallest divisible unit of a Qtum, which then carries this data as it is transacted on the blockchain.

Purpose and Permanence

The versatility of inscriptions is significant; they can serve a myriad of purposes such as embedding textual messages, encoding images, or even storing complex executables. This inscribed data is not ephemeral; it is indelibly recorded on the blockchain, ensuring that the inscribed satoshi carries its unique data payload indefinitely. This permanence creates a historical ledger of the satoshi's journey through the blockchain, imbued with contextual relevance.

Technical Mechanism

Inscriptions leverage the robust taproot upgrade, specifically utilizing script-path spends. This technical choice is crucial as it ensures the data payload is securely embedded within the blockchain while maintaining the privacy and efficiency benefits of taproot.

The process of inscribing a satoshi is intricate and requires a two-phase commit/reveal transaction approach:

  • Commit Phase: A taproot output is crafted to include a cryptographic commitment to a script containing the inscription content. This output does not expose the content itself but ensures that the commitment is recorded on the blockchain.

  • Reveal Phase: The previously committed taproot output is spent in a transaction that reveals the inscription content. This spend action irrevocably attaches the inscription to the satoshi and publicly records the data on the blockchain for anyone to see and verify.

Ordinals Infrastructure

The ordinals project encompasses several key components:

  • Bitcoin Improvement Proposal (BIP): document details the ordinal numbering scheme, setting the foundation for the consistent and predictable assignment of numbers to satoshis.

  • Indexer: A dedicated indexing system works in conjunction with a Bitcoin Core node to maintain a real-time, exhaustive ledger of all satoshis and their assigned ordinal numbers.

  • Ordinal-aware Wallet: A specialized wallet software is necessary for creating and managing transactions that respect and recognize ordinal numbers, allowing users to send and receive inscribed satoshis.

  • Block Explorer: An ordinal-specific block explorer provides an interactive interface for users to browse and investigate inscribed satoshis within the blockchain.

On-Chain Nature of Inscriptions

Inscription content is stored entirely on-chain, meaning that no external references or pointers are used to access the data. This approach guarantees the longevity and independence of the data, making it as immutable as the blockchain itself. By embedding the content in taproot script-path spend scripts, inscriptions maintain the integrity and non-duplicity of the blockchain while still enabling a rich layer of data to be associated with individual satoshis.

This