This is the third article in a series about lessons that can inform bitcoin’s replacement of the U.S. dollar. Read the first article in the series, on leaving the gold standard, here. And read the second, on dismantling fiat architecture, here.
In part two of this series, we discussed the application of the Open Systems Interconnection (OSI) model as an architecture model for understanding the fiat system. In part one, we discussed the abandonment of sound money principles and why that happened. Here, we will discuss a new system, one backed by Bitcoin. Then, the next article will address the reasoning for our abandoning of sound money principles, and how our new system of Bitcoin incentivizes everyone to hold to those principles within the architecture we will discuss today.
The OSI model has seven layers, which were all discussed in the aforementioned entry in this series. This particular model didn’t win the battle of networks. It’s more decentralized successor, Transmission Control Protocol/Internet Protocol (TCP/IP), would eventually take over as the internet that we know today for a multitude of reasons, not least of all being a simplification of layering.
I will reiterate that this is a conceptual discussion of system architecture with the intention of furthering the discussion of Bitcoin replacing the U.S. dollar. I am by no means claiming this as a final financial architecture. My intention is not to provide the final answer of how we replace the dollar, rather my intention is to allow the discussion within the architecture we understand, as we know the only true path to adoption is one of free choice and continued improvement.
Since OSI is largely used as a model to understand architecture, and some of its layers are not always used for each application, we will discuss Bitcoin through a lens of the architecture that birthed what we now call “the internet.” This is accomplished through building a similar system to the one used in the last entry in the series, though this system focuses on Bitcoin instead of the dollar, and there are only four layers for TCP/IP. Let’s begin with a short reminder of the seven layers of the fiat system discussed previously:
Fiat Layers
- The Physical Layer: This was gold when we had sound money
- Data Link: The connection of two nodes. Example: two central banks connecting through the SWIFT system, as discussed in part two.
- Network: Here we create the path to nodes — individual addresses, or routing and account numbers for the banking system.
- Transport: This allows the ease of transportation for currency. In the fiat structure, we compared this to credit, which allows faster processing on the promise of an IOU.
- Sessions: Easily referred to as “bidirectional token management.” This is the process of building tokens (stocks, bonds, derivatives) that can be both bought and sold. This is the derivatives market.
- Presentation: This is how the network builds a presentation for the user experience. Think of the programming behind the user experience of your online banking platform.
- Application: This is where the consumer comes in. All of these layers coalesce into an application that the consumer uses to manage their fiat
TCP/IP Layers
“TCP/IP Network Administration” describes the TCP/IP layers as:
- Application
- Transport
- Internet
- Network Access
Bitcoin’s layers generally follow this architecture, but in a slightly different order.
TCP/IP Layer: Network Access
All of the quotes below are from “TCP/IP Network Administration.”
This is the base layer of what we will refer to as the Bitcoin standard for the rest of this article, based on the TCP/IP model.
“The protocols in this layer provide the means for the system to deliver data to the other devices on a directly attached network… The TCP/IP Network Access layer can encompass the functions of all three lower levels of the OSI Reference Model.”
The network access layer of the Bitcoin standard is the foundation of the architecture, represented by the Bitcoin network itself. The first layer of the Bitcoin system, as described with the TCP/IP model, encompasses the first three layers of the fiat system, described with the OSI model: the physical, data link and network layers.
The physical layer — though more accurately, the “digital” layer, is represented by the hard assets of combining unspent transaction outputs (UTXOs) to represent your total holdings of bitcoin create the “physical” layer, though more accurately, we would say it is the digital layer. This is referred to as “on chain,” it moves slowly, it provides security, immutability and a public ledger.
The “data link” layer encompasses the idea of transmitting data from one node to another. This is accomplished on the base layer of Bitcoin. Anyone can download Bitcoin Core and start running a node. All of these nodes cooperate and communicate to reach consensus for every block solved in the blockchain. In the fiat standard, the Federal Reserve serves as the central node, and communication systems like SWIFT allow them to communicate with international centralized nodes. This requires so many different trusted entities and the creation of said entities, while Bitcoin accomplishes this system at the base layer by decentralizing the nodes and allowing each node a direct connection to one another.
The third layer is the network layer. The Bitcoin standard accomplishes the network on the base layer as well. Since the network is addresses that allow communication between nodes that allow currency to be sent from one place to the next, this clearly takes us to wallet addresses, the place where you hold all of those precious UTXOs we mentioned earlier.
When a UTXO is spent, we have a sender, receiver, and signatures to verify the transaction. No central entity is necessary to validate the transaction, and we have a public record. In the fiat standard, this process is centralized and the data is not accessible on a public ledger like it is on the Bitcoin standard.
TCP/IP Layer: Internet
“The Internet Protocol is the building block of the Internet. It’s functions include:
• Defining the datagram, which is the basic unit of transmission in the Internet
• Defining the Internet addressing scheme
• Moving data between the Network Access Layer and the Transport Layer
• Routing diagrams to remote hosts
• Performing fragmentation and re-assembly of datagrams”
The datagram is a UTXO. While Bitcoin is denominated in satoshis or full bitcoin units, the actual data that is being transmitted either on- or off-chain is the UTXO. These data packets that serve as proof that the “coins” or UTXOs you possess have not been spent and are therefore available as usable funds.
The addressing scheme performs duties mentioned earlier, such as routing transactions between nodes or the remote hosts of the Bitcoin blockchain, but also between layers. The internet layer is often referred to as an “unreliable protocol” because it does not perform its own error detection or recovery code. This isn’t the proper depiction of this layer because it serves as the transition between other layers that provide these much-needed functions.
Layer two of the Bitcoin standard allows communication of layer one (network access) and layer three (transport), and utilizes these layers for missing functionalities of the Internet layer.
When a transaction is broadcasted on- hain, this means that the transaction has been sent to a singular, or many nodes. As more nodes or remote hosts join in on validating a transaction, it receives security and error detection — security by becoming part of the immutable Bitcoin blockchain once the transactions are lodged firmly within a block, and error detection not by finding errors made by the users, but by creating a system of incentives through penalty keys that demand users only present current channel states from Layer 2 networks like Lightning. This means that the current state is incentivized to be accurate and presented by both parties, disincentivizing errors.
Fragmentation occurs through “change outputs.” Fragmented data becomes necessary when data is too large for transference. For example, if you needed to make a purchase and only had one UTXO in your wallet for $30, but the purchase is only for $10, you would need to fragment that UTXO into smaller bits of data. In this example, you would create two transactions, one for $10 that is going to the merchant in order to make the purchase, and one for $20 that will be returned to your wallet address.
The total amount of bitcoin held in a wallet is actually an algorithm adding up the sum total of your UTXOs, and each UTXO is probably worth a different amount of satoshis. Since we will not always meet the “coincidence of wants” with the exact amount of satoshis in the perfect amount of UTXOs, we need to fragment the data as required. This is accomplished via change outputs.
TCP/IP Layer: Transport
“The two most important protocols in the Transport Layer are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP provides reliable data delivery service with end-to-end error detection and correction. UDP provides low-overhead, connectionless datagram delivery service.”
TCP is the blockchain. The interconnected process of Bitcoin miners adding transactions to the blockchain and nodes validating the transactions added to the blockchain ensures reliable delivery of each transaction with verifiable proof, and provides high-level security in the transactions preventing malleability or error submissions.
Transactions can happen on-chain, with Layer 1, or off-chain with Layer 2. The miners and nodes are the transport layer that provide access to whichever layer is being utilized…
Read More: Replacing The U.S. Dollar With Bitcoin: Building The Layers Of Bitcoin Architecture