The blockchain truly is a marvelous piece of technology. A mechanism to timestamp the order of digital information without needing to depend on a centralized operator. A decentralized mechanism with no one in charge, that provides undeniably cryptographic guarantees around what data was added to the temporal record in what order. This property is the entire reason Bitcoin is useful as a form of digital money, without it there would be no way for the system to function at all without a centralized authority. <\/p>\n
All of these guarantees are provided by three simple technical building blocks: private\/public key cryptography, merkle trees, and hash algorithms. Every Bitcoin block is just some extra necessary data wrapped around the root of a merkle tree of all the transactions in it. The rest of the header includes data like the timestamp, difficulty target, block version, the hash of the previous block in the chain, and the random nonce used when hashing the head looking for enough leading 0s. <\/p>\n
Miners don\u2019t actually hash the whole block, and they don\u2019t have to, because of how a merkle tree works. Each piece of data in a merkle tree is hashed, and then each pair of data units is hashed together upwards until you arrive at the single hash of the merkle root. Simply by mining over the header that includes that single hash, miners can prove beyond the shadow of a doubt all the transactions in the block were part of the block they mined, and that it pointed back to a single previous block with a specific set of prior transactions, and so on. In a similar fashion, when people sign Bitcoin transactions, they aren\u2019t signing over the actual transaction\u2019s raw bytes, they\u2019re signing the hash of them. They\u2019re the same thing in terms of cryptographic commitment. <\/p>\n
The way cryptographic commitments work in combination with proof-of-work are what guarantee we can have a linear view of what was cryptographically committed to in what order. This is the entire basis of Bitcoin, proof-of-work creating a material cost to adding to that chain, and using that to sequence all of the actual data (transactions) committed to in order to completely verify no funny business occurred. As a miner you can\u2019t \u201cmine\u201d two different Bitcoin blocks at the same time, and you can\u2019t fake digital signatures or break hash functions. <\/p>\n
The entire functioning of the Bitcoin network can be boiled down essentially to two things: committing to information, and publishing that information to be verified. Bitcoin provides two commitment guarantees in terms of data relevant to the protocol: that individual transactions were properly committed to by the correct signatures and other witness data, and that blocks bundling transactions have been committed to by an appropriate amount of work. <\/p>\n
This is what gives value to Bitcoin as a network and system, the commitment guarantees it provides using cryptography and thermodynamics, and publishing them so everyone who wants to can verify those commitments. Without the soundness of its commitments, and the public circulation of those commitments, it would be useless as a trustless money. <\/p>\n
Those properties of commitment, publishing, and verification are valuable far beyond the use case of money. The movement of money is by no means the only type of information that can gain value from a cryptographic and thermodynamic commitment to when it was created (or the earliest point it existed) and when its existence was publicized to the world. Jpegs have shown people value this for even pointlessly stupid arbitrary information, but there is information immensely more valuable than jpegs in this world. <\/p>\n
You have to pay for blockspace when you transact on Bitcoin, and that blockspace is priced in bytes. For every byte of space you take up in that block you have to compete with every other person trying to use that blockspace to pay the going market rate, and anyone can always just pay more and push that rate higher. This gives denser information a competitive advantage in trying to get included in a block. If the density of information is very high, i.e. how many bytes of space you need is very small, you can use that blockspace while paying a lower fee in absolute terms than someone with less dense information. <\/p>\n
The use of blockspace to transfer economic value is one of the densest forms of information that can be included in a block. This will always be the case, and despite all of the drama and rabble rousing about Bitcoin turning into Ethereum, this will ensure Bitcoin\u2019s primary use case remains the transfer of economic value. It is simply the most competitive use of the system in terms of information density. <\/p>\n
However, this does not mean that it will be the only use of Bitcoin. If Bitcoin truly does succeed, the reality is the current market frenzy and activity surrounding Ordinals and Inscription will die off. It will not be cost effective to engage in such activities as the cost of blockspace for lower net worth individuals, and as fees rise that dynamic will compound until the use-case is either priced out entirely or reserved to only immensely wealthy individuals. Maybe one day nation states will inscribe images or data to commemorate important historical events, but middle class degenerate gamblers won\u2019t be inscribing jpegs like trading cards in the future. <\/p>\n
They will have to either stop playing those games, or take their games somewhere else. <\/p>\n
Merkle trees are magical. They can be literally infinitely large, and all you need to prove that a piece of data is part of one is the root hash, and the other hashes in the interior of the tree all the way to the actual piece of data. Cryptographic magic. The only reason the size of merkle trees in a Bitcoin block are limited in size is because users need to validate the contents of the entire block to ensure every transaction inside it is valid. Verifiability of the commitments in a block are integral to Bitcoin\u2019s functioning as a system. <\/p>\n
You can stick a hash inside of an individual Bitcoin transaction, which means because of the magic of merkle trees, there is no such thing as the blocksize limit when it comes to the Bitcoin blockchain committing to data outside of the scope of Bitcoin transactions themselves<\/strong><\/em>. The same way that the small blockheader commits to every transaction in a block with a single hash, a Bitcoin transaction itself can commit to a massive merkle tree made up of immense amounts of data. This has literally been done before with the entire contents of Internet Archive<\/a>. <\/p>\n Earlier I said that transferring economic value is one of<\/em> the densest forms of data that could utilize Bitcoin blockspace. One of, not the<\/em> densest. That is because of general purpose timestamping. A single transaction, with a single hash embedded in it, can literally timestamp an infinite<\/em> amount of data in a way that 100% proves it existed when that block was mined. It is impossible for any use case of blockspace to be denser in informational terms than this. <\/p>\n Because everything in this merkle tree a transaction commits to has nothing to do with Bitcoin transactions, or whether or not they are valid, it can completely ignore the Bitcoin blocksize limit. On the other hand, it also cannot depend on the Bitcoin network to actually propagate the published information itself, but that is not a critical problem in the digital age. <\/p>\n Satoshi himself in the recently released emails with Martii Malmi discussed the use of Bitcoin as a general purpose timestamping tool<\/a>. This is something many people have done for as long as Bitcoin existed. Old projects like Wall of Eternity would let you pay to stamp messages into the blockchain. People have announced weddings, the birth of children, as well as other much more childish things using OP_RETURN on the blockchain for over a decade. This combines both the commitment and publication functions into a single action, but one that is incredibly inefficient in its use of blockspace. <\/p>\nUsing The Trees<\/h2>\n
Opentimestamps<\/h3>\n