Ever wonder why this new technology is called a “blockchain?” Over the past two posts I have used the term in a more general sense as a descriptor. We started with the Island of Yap to get a structural understanding of how a blockchain works and then identify slight tweaks that compensate for today’s realities. This week we are going to discuss more about how one works today and, in doing so, uncover why such an odd word became used to describe a revolutionary technology.
Blocks are Pages
First, let's break it apart and talk about a “block.” The term might sound odd when you first hear it, but if you reframe it in the context of the Island of Yap, it begins to make more sense. At the end of each day, the islanders would come together and update their ledgers. Each person’s account balance would be updated based on that day's transactions. Every page in the ledger would, therefore, be a record of each day’s transactions.
In the digital world we do not have ledgers, but rather databases, which means we needed some way to replicate the Islanders’ pages. Some sort of digital page would be required to keep our database organized. Enter “the block,” our digital page, or, a listing of transactions over a specific length of time.
On the Island of Yap, a page was always one day’s worth of transactions. On a blockchain, though, the blocks represent transactions over a shorter length of time. The length of time can vary from blockchain to blockchain. For instance, on the Bitcoin blockchain, this length of time is roughly 10 minutes , while on Ethereum, blocks are created about every 15 seconds (as of 2021). The block time can change based on some more technical nuances that I will get into later on our journey.
Chains are Page Numbers
The second part of the word is “chain.” Chains, of course, are simply connections between objects. In a physical chain, loops of metal intertwine to create long, sturdy connective material. In order for a chain to be strong and secure, there cannot be a break or weakness in these connections. Blockchains are much the same. There needs to be sturdy connections between each block of information. On the surface this might not make sense, but let's unpack this concept.
One of the key pieces of the Yapese system is that their ledgers tracked transactions on a daily basis. Each page in the ledger represented a day, which would be marked by the date or a page number. The sequencing of pages acted as a chain to link each page to the one before it and the one after it.
The concept is important because what it ensures is the continuity of the ledger. If there was a break in the page number or date sequence, then you would know that the ledger owner missed a day or ripped out a page. In a system where every day everyone’s ledger is updated with a new page, it is critical that everyone on the island keep their ledger up to date.
Our modern day blockchains use this same concept. They number each block with a unique identifier connecting (chaining) the current block to the one before it and the block after it much like a page number would. Unlike the system on our island, blockchains don’t just sequence blocks using numbers but actually use something called a hash. Hashes are the solution to an equation known as a hash function which is math lingo for long fancy algebraic formulas.
X = Block Data
Disclaimer: This is not an actual hash function but rather a formula I use as an example.
Hashes are used instead of something like a page number because hashes allow us to create a block marker that freezes or secures the information in that particular block.
On our island, the main concerns were with someone’s going around tearing out pages in the ledger or erasing account balances. Using ink could prevent the alteration of ledger details, and tearing out a page in a book is hard not to notice even if you did renumber the pages. The digital world doesn’t have the luxury of physical warning signs. Anyone who’s editing a word document knows how easy it is to make simple digital changes. Hash functions fix this. Using the formula above, we can examine how.
Remember, ultimately, computer software is a set of numbers. Underneath the pretty screen on which you are reading this article is a long list of “1s” and “0s.” That means that all transaction information in our block, at its core, is a set of numbers. If we take the block’s unique set of numbers and use it as “X” in our formula above and send that information through the hash function, then we will get “Y,” a unique hash that acts as our block number.
Hash functions not only give us a unique ID for the specific block but also secure the block information. If anything in that block is changed such as a transaction’s being added or subtracted, then the hash (the “Y” in our formula) will be changed. Why? Because you are using a different set of numbers for “X.” If two participants had conflicting hashes for the next block in a chain of blocks, it would become apparent who has the unaltered information because the rest of the network participants would have the same hash.
Resolving the Sequencing Issue
Hashing has a minor problem, which is that hash functions don’t give us sequential results. Each “Y” in our formula has no relation to the one created for the block before or block after. Rather, they only indicate that the information in a single block has not been altered. Thus, we have not created the chain effect that sequential page numbers do when ordered 1,2,3,4… The solution is to include the hash of the previous block in the information that is “X” in our formula. If we include this information in our “X” variable, then we will get a hash function that chains the new block to the old block and then to the block before it.
Blockchain is tech lingo for “Islandbook.” Blocks are the pages in the book, and hash functions are the ink and page numbers. As we move through the fog of this industry, we begin to see the simple techniques being used to bring a powerful system to life.
Some readers might have inferred that other well-known digital assets (ie. Ethereum) might run on their own blockchain, which is exactly the case. Different blockchains are like different islands. Ethereum, Litecoin, Doge, and many more, are their own blockchain. Bitcoin’s blockchain only allows us to track bitcoin, but other blockchains allow us to track other digital assets. This would be like if on the Island of Yap, their leaders could track not only the ownership of stones but also shells, huts, and boats.
Next we will discuss digital assets and how they are categorized.
Huge shout out to my collaborators from Foster: Amber Williams, Cameron Zargar and Diana Hawk.