SatsTamp Protocol Specification Overview: Purpose: SatsTamp…
SatsTamp Protocol Specification
Overview:
Purpose: SatsTamp enables users to inscribe data onto individual satoshis, creating unique, timestamped digital assets (e.g., collectibles, proofs of existence, or time-bound certificates) that are fully on-chain and immutable.
Key Features:
Assigns a unique identifier to each satoshi based on block height and transaction timestamp.
Embeds data (text, images, etc.) in the witness data of a Taproot transaction.
Ensures data immutability and traceability using Bitcoin’s blockchain.
Introduces a rarity system based on block height milestones (e.g., every 1000th block).
Dependencies: Relies on Bitcoin’s SegWit (2017) and Taproot (2021) upgrades for witness data and script flexibility.
Use Cases: Digital collectibles, timestamped proofs (e.g., for documents), decentralized time capsules.
Protocol Rules:
Satoshi Identification:
Each satoshi is assigned a unique identifier (SatsTamp ID) based on the formula:
SatsTamp ID = block_height || tx_index || output_index || timestamp
Where:
block_height: The block in which the satoshi is inscribed.
tx_index: The transaction’s index in the block.
output_index: The output index in the transaction.
timestamp: The transaction’s locktime or block timestamp (in Unix epoch time).
Example: A satoshi inscribed in block 800000, transaction 5, output 0, with timestamp 1735689600 would have ID 800000:5:0:1735689600.
Inscription Process:
Data is embedded in the witness data of a Taproot transaction using a specific script format:
OP_RETURN <SatsTamp Protocol Identifier> <Data Payload> <Timestamp> <Metadata>
SatsTamp Protocol Identifier: A fixed string (e.g., SATSTAMP_v1) to mark the transaction as a SatsTamp inscription.
Data Payload: The content to inscribe (e.g., JSON, base64-encoded image, or text, up to 4 MB with Taproot).
Timestamp: The Unix epoch time of the inscription.
Metadata: Optional fields like creator address, data type, or rarity tag.
Rarity System:
Satoshis inscribed in blocks divisible by 1000 (e.g., block 800000, 801000) are tagged as “Rare SatsTamps.”
Rarity is indicated in the metadata with a field: rarity: rare | common.
Wallet Compatibility:
Requires a Taproot-compatible wallet (e.g., Xverse, Sparrow Wallet) with coin control to avoid spending inscribed satoshis.
Wallets must recognize the SATSTAMP_v1 identifier to display inscribed data.
Transaction Rules:
Inscriptions are created via a Taproot transaction with the data in the witness section.
The inscribed satoshi must be sent to a Taproot address to maintain compatibility.
Transactions must include sufficient fees to account for data size and network congestion.