Dogecoin, NFTs, blockchain: there is no shortage of jargon in the world of cryptocurrency. This post will look past the headlines to focus on building a fundamental understanding of one of the technologies powering this space: blockchain.
Let’s start by drawing a comparison to something more familiar: tables. A bank logs transactions into a table that looks something like this:
Adding up the amounts to a certain row provides the account balance at that time. In the table above, Kelly’s account balance on May 20, 2021 is $50. If we order the table chronologically, moving down one row corresponds to moving forward one step in time.
The same set of transactions would look something like this on a blockchain:
In Block 18, Kelly receives her $100 paycheck. In Block 19, the next step forward in time, Kelly pays $10 to A&W for a burger and fries and so she is left with $90. In Block 20, A&W still has $10 from Kelly, Foodland gains $40 from Kelly’s grocery shopping and Kelly is left with $50.
A key difference between these two data structures is that a central entity maintains control of a table-based database while community members support a public blockchain database.
Companies control the destiny of user information, transactions or posts because they store the data and give users permission to access their network. Fraudulent credit card transactions are increasingly stopped automatically and specific posts or accounts can be censored.
In the blockchain setting, members of the community operate computers called nodes that work to support the network.
With no trusted central (or “correct”) database, network nodes require something like a social coordination system to ensure everyone updates their database accurately and honestly.1 The process goes something like this:
Users broadcast their data (e.g. signed transactions) to the network nodes;
Each node collects new data into a block (see Figure 2 above);
Nodes propose new blocks to the network for review;
All nodes review the data in the block to ensure signatures are valid and the data is compatible with their records (e.g. account balances are sufficient); and
Nodes express their approval of the block by appending it to their records.2
As blocks are constructed, reviewed and shared throughout the community, nodes will use the newest block’s unique identifier in the construction of the next block. We visualize this process in Figure 2 above as arrows connecting the block identifiers to their locations in the next block.
Linking the new block to the previous one by including its unique identifier cements the previous data every time a new block is added. If someone proposes incorrect or fraudulent data in a block, nodes will discover an inconsistency with their version of the blockchain during the review process and simply ignore the fraudulent block.
The decentralized nature of the database requires this complex process of having nodes collect data, construct blocks, broadcast them to the network, review new blocks and update their records. Political systems face a similar trade-off between complexity and centralization. Most governments introduce a system of checks and balances to limit the amount of power any one part of the system can wield.
In the vast majority of cases, central networks function smoothly because the companies operating these systems collect fees, either directly through the users or indirectly through third parties like advertisers.
Decentralized networks work because the nodes honestly supporting the blockchain collect rewards, either directly from users or indirectly through the creation of new money.3
Ultimately, no fees are awarded to nodes that propose fraudulent blocks since other nodes step in to collect the reward available for providing the non-fraudulent transactions.4 Depending on the blockchain, malicious behaviour from nodes can even lead to the community “slashing” your funds.5
Companies use table-based databases to store our information on a central network. Communities use blockchain databases to store their information on a decentralized network in a secure way.
Cryptocurrencies use blockchain as a distributed ledger to keep track of who owns which coin without having any central authority involved. NFT marketplaces use blockchain as a public record of ownership for digital pieces of art without the need for an auction house.
A blockchain is a type of database that communities can use to build a public record no single entity has the power to control.
Thank you for tuning in! If you enjoyed the read, please consider sharing with a friend who may also enjoy, or subscribe to keep the monthly knowledge coming:
As always, I’m looking forward to the future when we will explore loose ends like:
What are NFTs?
What are the “unique identifiers” used to link blocks together?
How exactly does the community agree on how to update the blockchain?
Please contact me at justin@nojargon.org if you have any questions, comments or suggestions for future topics: I’d love to hear them!
I am always looking to learn new things, refine my understanding, correct any errors and expand on the sources that influenced my thinking and inspired this post:
Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto
Ethereum Development Documentation, Ethereum Community
Cryptoassets: The Guide to Bitcoin, Blockchain, and Cryptocurrency for Investment Professionals, Matt Hougan and David Lawant, CFA Institute
Bitcoin and Cryptocurrencies, BerkeleyX
Blockchain Technology, BerkeleyX
Bankless Podcast, Ryan Sean Adams and David Hoffman
and many others.
A consequence of this user control is that the database has to be final: people can’t change the past. This means if you accidentally send your cryptocurrency to the wrong account, there is no central entity with the power to reverse the mistake.
This description of the network was heavily influenced by Section 5 of the original Bitcoin white paper.
Since our focus is on understanding blockchain, the database supporting a decentralized community, let’s leave the issue of creating money from thin air and “crypto-economics” for another day.
There is the possibility of a 51% attack whereby a malicious party obtains control of a majority of the network nodes. In this case, a central entity would have control of the blockchain and the security of the decentralized system would be compromised.