📄Background
Last updated
Last updated
Bitmap takes the data generated by the Bitcoin procedure as input, applies a ruleset, and outputs a Metaverse. That is the core procedure laid out in this paper, and so it is important to have a topographic view of the foundations that Bitmap is built upon. This section outlines these important pillars in detail so it may be further extrapolated with Bitmap Theory.
This term simply refers to the creation of data by computers. The process takes data input, feeds it through a procedure to generate the output. This is often used in video games as a method to generate unique worlds that follow a specific consistent ruleset. The procedure is generally designed to be repeatable, meaning the same input will always result in the same output, so to reach a different output requires a different input or procedure. Here is a breakdown:
Input. Generates arbitrary data through a pseudo-random process.
Algorithm. Applies a set of rules to the data.
Output. The data is expressed through the ruleset.
Due to the usefulness of arbitrary data in the generation of unique outputs, this is typically a procedure to generate pseudo-randomness and apply a ruleset has widespread use in video games and movies to create vast natural looking worlds worlds unique for each player, and is used as a tool across many other disciplines.
It is the act of transmuting data from an one state to another.
It could be argued that Bitcoin is a procedural data generation algorithm. Since the Bitcoin dataset is public, immutable, and unified by design, this allows for a new angle of procedural generation to be thoroughly explored, the universal Bitcoin seed.
Bitcoin is a peer-to-peer electronic cash system created by the pseudonymous Satoshi Nakamoto. Its core component is the Blockchain, which is a unified ledger of account registering Bitcoin token transaction in clusters known as blocks. These blocks form a compounding chain of cryptographic proofs. This chain of blocks, or blockchain, is secured by every full Bitcoin Node, and the miners who are incentivized by the rewards to dedicate their computer power to solving each block. This system allows for the transfer of Bitcoin tokens (BTC) by anybody with internet connection to any bitcoin address.
A Bitcoin address is made up of a public key, and a private key.
Public Key. This key enables an address to receive bitcoin.
Private Key. This key enables an address to send bitcoin.
Both keys enable the reading of the contents of the address.
A Bitcoin node is a computer with software that synchronizes and validates transactions and blocks.
A Bitcoin miner is a computer with software that solves cryptographic puzzles to confirm Blocks of Transactions in return for rewards known as Coinbase, and fees collected from transactions.
A wallet provides transfer services to users. Wallets are made up of addresses and seed phrases.
Addresses. The wallet service works with your private keys.
Seed phrases. A sequence of words cryptographically tied to all addresses generated from it.
Bitcoin, or BTC, is the primary unit of account. There are eight decimal places for the Bitcoin token, as such: 1.00000000. There will never be more than 21 million BTC in existence.
A Satoshi is the smallest unit of measure of Bitcoin, equal to 0.00000001btc. Thus, 1btc equals 100000000 Satoshi's. There will never be more than 209999999999999 Satoshi's.
The Unspent Transaction Outputs (UTXO) are the actual chunks of Satoshi's which make up the balances of each address. These are typically measured in BTC value. They can be thought of like the coinage of Bitcoin, however unlike real world coins, UTXO's can be broken down to any size. They are brought into existence by successful miners as the reward for validating the block of transactions.
A transaction transfers BTC from and to one or multiple addresses. Transactions are made up of Inputs and Outputs which come to meet the transfer value required.
Inputs. The transaction collects UTXO's from the input addresses to meet the value of the required output specified in the transaction.
Outputs. The inputs value comes to match the output value. If the input UTXO's equal more than the required outputs, an input UTXO is broken down into multiple output UTXO's, and the change is returned back to sender as an output.
Coinbase (miners rewards). These are special transactions as they represent new Bitcoin being brought into circulation. They are rewarded to the successful miner that validates the Bitcoin transaction.
NOTE: NOT TO BE CONFUSED WITH THE COMPANY COINBASE
Mempool. This houses transactions which have been broadcast and are awaiting to be accepted into a Block. This can be thought of as Bitcoin's short-term memory, each transaction broadcast is competing for the limited block space.
Fees. Each transaction has a fee attached to it measured in Satoshi's per vByte, which are rewarded to the successful miner in addition to the Coinbase reward.
Transaction Hash. This is the unique identifier for transactions generated once a transaction has been accepted into a Block.
A block is a collection of transactions broadcast by nodes, cryptographically compiled and confirmed by a miner and proliferated to all nodes. The first transaction in any Block is the coinbase miners reward for solving the cryptographic proof confirming the Block. Additional transactions in the block are between Bitcoin addresses competing for the 4mb maximum vBytes per block. This can be thought of as the long term memory of Bitcoin. Each further block cryptographically confirms each previous block immutably. Theoretical changes to past blocks would alter each subsequent hash. This means changes cannot be made to the ledger without immediately losing sync with the blockchain.
The data within the block header validates the transactions within this block, and all previous blocks.
Merkle Root. When a Block is confirmed, the transactions are ordered and hashed in pairs. These pairs are hashed in pairs, and those pairs are hashed in pairs, until a final hash is reached. This hash is known as the Merkle Root at the top of the Merkle Tree.
Nonce. Each block has a number that occurs only once (NONCE). This is the random number that miners are seeking to find. It is the key to solving the merkle root which .
Previous Block Hash. Before the final Block Hash is reached, Previous Block Hash is applied to the Merkle Root & Nonce, forming the final Block Hash.
Version. This denotes which block version is being used, up to the current version 4.
Time. This is the time (in Unix Epoch Time) when the miner started hashing the header.
Bits. This is the target threshold that the block headers hash must be greater than.
Block Header Hash. This is the final unique identifier of a Block, also known as Block Hash.
This section contains all the transaction data in the same order as the unravelled merkle tree.
Due to the design of the Blockchain, namely the inclusion of the Previous Block Hash, each block forms a link in a cryptographic chain. Each subsequent block confirmation validates each previous block as well as the current one. This means that previous blocks cannot be edited in any way without changing each subsequent block hash, which would put the node out of sync with the dominant network chain, which is the longest.
The time to solve a Block is variable, however a core mechanism of Bitcoin is the Difficulty Adjustment, which adjusts the difficulty of the cryptographic proofs every 2016 Blocks to be closer to the ten minute per block target. It is a self-balancing mechanism to make sure the hashrate does not become too fast or too slow.
Every 210000 Blocks the coinbase miners reward, which brings new Bitcoin into existence, is halved. It started at 50btc. At Block 210000, this was halved to 25btc. This was then halved to 12.5btc, then 6.25btc, and so on. Due to this, the Bitcoin in circulation will never reach higher than 21000000btc.
Ordinals Theory is made up of two core modules, the Ordinals and the Inscriptions, which together enable universal indexation of immutable data upon the UTXO's against a specific Satoshi.
The ordinal indexation of Satoshi's (the smallest unit of Bitcoin) is known as the Ordinals. To make this possible, we check the moment new BTC is brought into supply at its source, the Block Coinbase Reward which can be measured in Satoshi's, indexed, and its journey subsequently followed through the breakdown of Block Rewards into smaller UTXO chunks.
UTXO Tracking. It is possible to trace the lineage of each UTXO back to its Coinbase. This is the basis of how to index Satoshi's ordinally.
Satoshi Indexing. Starting with Block 0 coinbase reward UTXO, which is a 50btc chunk, you index each Satoshi upon this UTXO. If you follow this process for each coinbase block reward, you can trace the breakdown of UTXO's through subsequent transactions maintaining a consistent record of ordinally counted Satoshi's from the birth of Bitcoin to the final Satoshi. Each Satoshi is given a unique hash and identity, which unlocks the inherent non-fungibility and identity of UTXO's and Satoshi's, and opens up the ability to index anything on-chain against your Satoshi's.
An inscription is the process of writing data in the UTXO where a specified ordinally indexed Satoshi lives. This creates a vast digital co-ordinates system for data indexation upon which address holders may write data upon their own UTXO's, indexed to a specific Satoshi.
Recursion. This allows other inscriptions to be recursively called with the endpoint: /content/{inscription-id}/
Parent & Child. This will allow a Parent inscription to create its own Child inscription, which is relationally tied to the Parent by splitting its UTXO into Parent & Child. This relationship, and all subsequent ones down the family tree can theoretically be identified and tracked.
The Ordinals Explorer, created by the ord team, is the primary resource to browse the Ordinals and Inscriptions. It allows a granular atomic view of Ordinals and the Inscriptions tied to them.