Get ready, get ready. Reading this might make you angry and confused, it might confuse you, you might even be angry enough to punch your screen (don’t do that.) Consider this a trigger warning.
Bitcoin is a database. Period. That’s what it is. The blockchain is a database for storing past updates in order to be able to reproduce the current state of this database, the UTXO set. The entire Bitcoin protocol is built around the database. What is a valid entry in this database and what is not a valid entry in this database? Who is authorized to submit entries to this database, how do you guarantee that only entries from these users will be considered and accepted? What is the authentication mechanism that restricts writing entries to this database? How do I limit database entries so that users can’t create so many, which would overload or crash the software managing the database? How can you ensure that users cannot make single entries large enough to cause further denial of service issues?
It all depends on the database.
Proof of work? The purpose of the protocol is to manage who can actually process database updates. Bitcoin is meant to be a decentralized system, so there needed to be a way to update the database in a decentralized manner while still allowing users to reach consensus with all of their individual copies of the database on a single update . If everyone updates their own copy of the database themselves, it is impossible for everyone to reach consensus on a single version of the database. If you depend on certain authority figures to manage updates, the update process is not truly decentralized. This was the goal of POW, to allow anyone to process an update, but not without incurring a verifiable cost.
Proof of work is simply a decentralized mechanism for updating a database.
The entire architecture of the peer-to-peer network? It exists only to propagate proposed database update entries (transactions) and finalized database updates (blocks). Nodes verifying transactions as they enter their memory pool? This involves pre-filtering the proposed entry updates in the database and ensuring their validity. Nodes verifying that a block meets the required difficulty objective? This involves pre-filtering a proposed database update and ensuring it is valid before passing it to other nodes to update their local copy.
The peer-to-peer network exists only to reconcile multiple copies of the same database.
A Bitcoin script? It literally exists for the sole purpose of functioning as an authorization mechanism for database entries. In order to delete an existing entry in the current database state, defined by UTXO, a user proposing this update must provide proof of authentication meeting the conditions of the script locking the existing database entry. Only existing entries, or UTXOs, can be “spent” to allow new entries to be created in the database. Miners are the only ones in the protocol allowed to create entries without fulfilling the condition of deleting an existing entry by meeting the permission requirements stated in its lock script.
The Bitcoin script is simply a mechanism to control and restrict who can write to the database.
Every aspect of Bitcoin revolves around the main central function of maintaining a database and ensuring that many network participants all maintaining their individual copies of that database remain in sync and agree on the current state of the database. All properties that give value to Bitcoin as a form of money or means of payment, are literally derived from the way it works as a database.
Many people in this space believe that this database should only be used as a means of payment or as a form of money, and I share that view. I also think this is the most important use case, and I think every effort should be made to evolve this particular use case as much as possible without sacrificing the sovereignty and security of being able to interact directly with this database yourself. .
But it’s still just a database if we boil it down to the objective reality of what Bitcoin is. Individuals willing to pay the satoshi-denominated costs to write an entry considered valid under the rules of this database may do so. There’s nothing you can do to stop them from changing what’s considered a valid entry in that database, which means convincing everyone else to also adopt a new set of rules about what a valid entry is.
People can freely compete within the consensus rules to write whatever they want into this database, provided they pay the costs required by the rules and incentive structure of mining to do so. . Period. Are most of the things people can and do enter into the database stupid? Yes. Of course they are. The Internet is full of mind-boggling amounts of stupid stuff in siled databases everywhere. Why is that? Because people are willing to pay the price to put stupid things in a database.
Whether it’s the database users paying the vendor and operating, or the operator itself allowing certain things to be entered as part of the operations without passing the cost on to the user, It has no importance. These stupid things only exist somewhere in digital form because, somehow, the price is paid for it.
Bitcoin is fundamentally no different from any other database in this regard. The only difference is that there is no single owner or custodian dictating what is and is not allowed. Each owner of a copy of the Bitcoin database is able to authorize or not authorize whatever they want; the problem is that if they choose to reject something that everyone finds acceptable, they lose consensus with everyone. Their local database is no longer in sync with the global virtual database that everyone tracks and uses.
If you find certain database entries unacceptable, by all means change the rules against which your local copy validates new entries. But it’s cutting off your nose to spite your face. Ultimately, Bitcoin works by a simple axiom: pay to play. If people pay the fee, they can play. That’s how it works.
Ultimately, it’s up to each individual to decide what they want to allow or not allow into their database, but through all the semantic and philosophical debates going on right now, one thing remains indisputably and objectively true: Bitcoin is a database.