What is blockchain technology and how does it really work?
Truly understand how the blockchain technology works
Hey guys, many people ask me frequently what the blockchain technology is and how it really works. I have been in the space for a couple of years now and went down the rabbit hole (and still am). In this relatively long article, I am summarising all the key components that make up a blockchain with many anecdotal examples to make it easier to follow along. I tried to purposefully detach from cryptocurrencies as it is really just one application for the blockchain technology as such. It will take you approx. 30 min to read through, so ideally make sure to set some time aside. Enjoy.
Satoshi Nakamoto, an anonymous person or group, created in 2008 Bitcoin, a peer-to-peer electronic cash system. Bitcoin uses the blockchain technology that was invented with the launch of Bitcoin to help facilitate transactions in a secure, decentralized and peer-to-peer manner. Since then the underlying blockchain technology has found use in many other applications and many experts claim that blockchain technology will have profound implications for many industries and society as a whole.
Bitcoin and cryptocurrencies are applications utilizing blockchain technology but it is far more than something that can facilitate transactions. View blockchain as a substrate that allows people to build decentralized peer-to-peer applications of any kind. Blockchain technology opens now a whole new world of opportunities. For the first time, it is now possible to transact anything from money to votes to identities without needing to establish trust or requiring an intermediary and this is powerful if you think of how big the industry of intermediaries is (think of the banking system).
What the implications of blockchain technology mean for the world is a whole other topic and would require another article.
In this post, I would like to bring blockchain technology closer in its purest form and dissect the blockchain into its pieces. At the end of this article, you will be able to understand how blockchain technology works and you will be able to make much more sense from applications like Bitcoin or other more niche products.
❓ What is a blockchain?
In plain English, blockchain is a special type of database allowing you to store any kind of data in a decentralized, secure and P2P (peer-to-peer) manner. It is used today in many shapes and forms. It can be used to store transactional data as it is done for cryptocurrencies but it can be also utilized by organizations to store non-financial data e.g. patient data of a hospital, supply chain data from a consumer goods company or policy data from an insurer. In theory, you could also store images, music and videos though it’s not recommended as the data load would make the network slow.
Access to the blockchain can be made public to everyone such as it‘s the case for Bitcoin or other cryptocurrencies or it can be held private, only letting you participate if you have the right credentials (which is the case for enterprise blockchains).
📘 Why is it called blockchain?
The name blockchain might sound strange and it’s difficult to think what’s the meaning behind it in the first instance. Let’s simplify it first with an anecdote before diving into technicals.
The following example will help you to understand why it‘s called blockchain and how data is added. We will explore further below all the components that make up a blockchain but more to that later.
Let’s start understanding blockchain with journaling
Assume one day you want to start journaling because you got inspired by Matthew McConaughey. You bought a journal and now you are setting the rules for how you want to manage your journal. You decided that from now on at the end of the day you want to note down 1 thing that went well that day. You are also going to use a pen and not a pencil so you can‘t go and erase or change entries that you put into the journal. You also plan to journal every time from the same place, in that case, it’s at your desk in your room.
In blockchain terms, setting up a place where you are putting your journal would be the equivalent of you setting up and running a node. A node is simply a device e.g. your personal computer, on which a database resides and is maintained. And you guessed it right, the journal represents the database. Let’s use the term node from now on.
Each log (what went well today) that you add to a page of your database (journal) on a given day is called a block. The entirety of all blocks (pages with actual log) is then called a blockchain. Your blockchain has 0 blocks at the moment as you did not log anything. The first day ended and you are sitting down to add your first block (your first entry on what went well) into your database (journal). Congratulation, you just added block 0 or also called the genesis block.
The day after, you are turning the page in your journal and you add your 2nd block. Imagine now 30 days passed and you have added 30 blocks in total.
You can now turn the pages and go to your block 12 and instantly see what was block 11 and block 13. You also wouldn't find your entry from day 15 on page 7. They are in essence linked to each other since the glue of the hardcover of the journal holds all the pages together in the right place. In a blockchain the glue that keeps all the blocks in the right order and ensures that once the block is added it becomes immutable is done through cryptography.
Again, your database (journal) consists of 30 blocks (30 datasets i.e. 30 logs on what went well). The moment you wrote a block into your journal it’s officially linked to all the previous logs (due to the glue). In our case, it’s a chronological order (since you log day after day) but in a real blockchain, the ordering mechanism can take different shapes which are managed by the consensus mechanism (more to that later).
Create your peer-to-peer network with a group work
Let‘s take this example a bit further. You are doing group work with 10 colleagues remotely since everything is remote nowadays. As a group, you agree that everyone sets up their desk for journaling (setting up the node). You set up a Whatsapp group and decide on the following.
Every day you as a group FIRST discuss and decide together one thing that went well, and once you found an agreement, everyone is going to write this information i.e. block into their respective journal. Hence, at any point in time, everyone should have the same information in their journal, right? Just like that, you created a P2P network (peer-to-peer).
In the previous example where you were alone, the entire database (journal) was running on one node (desk). In this example now, the blockchain is living on multiple nodes (desks) hence making it decentralized. The advantage is now that if you get sick and you are not able to journal, the peer-to-peer network could still operate and continue updating their respective database. When you are well again, you could just go to one of your friends and copy their new entries and be again in sync with the rest (it does not matter from whom you copy, as everyone has the same information due to the Whatsapp agreement mechanism).
Your network may run into problems
But with this setup, there are things that could go wrong. For example, should there be a character limit on how long the entry can be? What if two people have a different view on what went well that day? What if the majority of people get sick? How can you ensure that everyone has exactly the same entries in their journal and detect fraud?
These are anecdotally the exact question that a real blockchain needs to deal with in order to ensure it is secure, immutable and decentralized. Fortunately, Satoshi Nakamoto thought of all this when framing the technology.
In plain English again, blockchain technology itself is a bunch of different technologies from different areas of computer science bundled together in a very smart way. We have already touch-based on 3 of them, i.e. a peer-to-peer network (multiple people working and agreeing on a current state of the journal), a distributed database (no single point of failure as the journal is maintained at multiple locations) and cryptography (hardcover glue that keeps all your logs in place in an immutable way).
Let’s deep dive into each of the components.
If you liked the content already please make sure to drop your email and subscribe to my newsletter. You will receive on a weekly basis educational and crypto news related content directly to your inbox 🚀
🍔 Components of a blockchain
Let‘s talk burgers for a moment. What are the key components for a burger? Bear with me, it will tie back nicely into blockchain just in a bit. You would need a bun, meat, some cheese and a sauce at minimum to call it a burger (in my view), right? What type of bun, meat, cheese or sauce you select can be varied to make it your own. You could, for example, select wheat bread, cheddar cheese and a barbeque sauce and someone else may choose Italian bread, swiss cheese and a cocktail sauce.
What does that have to do with the blockchain? Also, a blockchain has essential components that make it a blockchain. The components are a P2P network (peer-to-peer), a consensus mechanism, a distributed database, public-key cryptography and validity rules.
Like with the cheese for your burger, the Bitcoin and Ethereum blockchain both utilize a consensus mechanism but the consensus mechanism works in different ways to make it taste better for their specific use case.
🏥 How hospitals could use the blockchain technology
I am introducing here a new example that could be an actual enterprise blockchain setup. With this example, we will deep dive into each of the components that make up a blockchain. Once you understand each component you will understand easily all applications that utilize blockchain technology.
I am purposefully choosing an example unrelated to Bitcoin and cryptocurrencies. Many people get a biased view of blockchain technology when it’s viewed from a digital currency perspective but as mentioned in the beginning, blockchain technology is a medium to store any data (of which transaction data is a subset) in a secure, decentralized and immutable manner.
Let’s see the example: Assume in a region, that is also by coincidence known for its hefty tornados, 5 hospitals want to collaborate together and maintain one single database with all the patient data. This would allow the hospitals to have a single source of truth where they can view transparently the current occupancy rate of all hospitals and potentially reshuffle new patients more efficiently between each other. The 5 hospitals could agree to set up one server where everyone adds data as new patients are accepted. The risk is that for example, a natural catastrophe like a tornado could destroy the entire data centers and all data would be lost. Alternatively, the hospitals could agree to create a P2P network which leads us smoothly to the first component of a blockchain.
A key element of blockchain is the decentralization aspect that is realized through a P2P network. The peer-to-peer concept is not new. Some early applications based on P2P networks date back to the 1980s, however, the concept became known to the general public in 1999 when college student Shawn Fanning created a music-sharing service called Napster. As this service became a hub for unauthorized sharing of copyrighted songs, Napster was shut down by lawmakers as a result of a lawsuit from the music industry. P2P model is nowadays leveraged in web search engines, streaming platforms, online marketplaces and other areas. The P2P model became now also the core of blockchain technology and found new use with the advent of cryptocurrencies
Let’s look into how a P2P network works. It is nothing else than a group of computers, the so-called nodes that we talked about previously, that communicate without a central server or authority. Each node holds a copy of the database as we have seen with the group work example and each node acts as a server and a client, meaning a node is able to send data to the network and download data from the network.
This is very different from the everyday applications you use. Take for example Instagram. In this case, you are the client and Instagram is the company with the server and the data. When you are loading the content on your Instagram app, what you are doing is downloading the respective data from the Instagram servers like images, hashtags, etc. In a P2P network where you would run your own node, if we stay with the Instagram example, you would store the entire data of all users on the hard drive of your computer and so does every other node in the network. As in the journal example, everyone needs to have the journal.
Of course, that would be a huge amount of data that no single computer would be able to store but for you to join the Bitcoin P2P network you would „only“ need to download software containing data of a total size of approximately 300GB. With that, you have all transactions that ever happened on the Bitcoin Network since Genesis on your hard drive. It‘s the equivalent as if a new person would join your working group from the previous example, buy a journal and first copy all the previous entries from the network before becoming an integral part of it.
Let’s go back to our hospital example. The group of 5 different hospitals agreed that they don’t want the patient data to reside on one single server. They agree to set up a P2P network to remove the single point of failure. Each hospital buys a dedicated computer and sets it up to operate as a node in the network and hence be connected to each other directly i.e. peer-to-peer.
Setting up a node means downloading software or a program that contains all the rules for how this is specific P2P network works. The software also downloads the existing database with all the data contained in it. Of course in a newly created network, the first piece of data is still to come.
The illustration above shows the difference between a centralized and decentralized system. In this scenario, if a Tornado would destroy the node of one of the hospitals, the data still persists in the other nodes. To rejoin the P2P network the affected hospital just needs to set up a new node. With the setup, the node would download again the current data as maintained by the other nodes and be again in sync. As you see, the power of the P2P network is resilience, removing single points of failure and storing data decentralized.
I briefly mentioned that the software downloads the database that contains all the data. Or the equivalent of everyone in your working group getting a journal and have it synced with the rest. That brings us to the 2nd important component i.e. distributed database.
In blockchains that deal with transactions like Bitcoin and all other cryptocurrencies, the distributed database is often called a distributed ledger. Many people mostly talk about distributed ledgers when explaining blockchain which can be misleading. The blockchain is used as a means of storing any type of data securely as demonstrated with the hospital example and not just transactional data.
This article is about discussing the blockchain at its purest so you understand the general architecture of a blockchain. To make the link to the Bitcoin blockchain or other blockchains will be a breeze afterward.
Let’s discuss distributed databases. Most of it you know already. A database is an organized collection of structured information or data, that is stored digitally on a computer. The data within a database should be easily accessible, managed and controlled.
It is called distributed database because all the network participants in the P2P network have the exact copy of the database and through some mechanism, that we will discuss afterward, the database is always in sync and everyone has the same information in the database even as new data come into the network.
Each node can easily access the database and read any entry from there. For example in the case of Bitcoin, the balance of Bitcoin that you see on your wallet is essentially only a very quick computation of all transactions that happened on the blockchain that contains your wallet address (incoming funds and outgoing funds). The net is then your balance.
💡If you read carefully before, you may ask yourself “but wait, do I need to run a node on my phone to see my balance of Bitcoin?” and the answer is no. If you don’t run your own node, the Bitcoin wallet app connects you to another random node from the network. That node provides you the information that you see on your phone. This is only true for public blockchains. In our hospital scenario as mentioned, which is an example of a private or so-called permissioned blockchain, it’s controlled who can view patient data. In this setup, the organizations will not allow outsiders to connect to a node to view data or add data.
So to wrap up this component, the database that you download when you set up your node is distributed and living on all the network participants nodes. With the respective access rights, you can also view efficiently all the data and in our case for example calculate the current occupancy rate of the hospitals out of the data. For public blockchain like Bitcoin, you can view and participate in the network without any rights or in other words permissionless
Now assume, that in our P2P hospital example the database is up to date and reflects the current patients that are accepted within each of the hospitals. One of the hospitals receives a new patient that now needs to be added to the database. To make sure that a hospital is not trying to add any non-sense we need validity rules, our next component.
We are getting more and more to a complete picture of what a blockchain is. From now on, the distributed database we will call a blockchain and a set of data e.g. a patient from our hospital we call now a block. How the blocks are “chained” we will see in the cryptography piece.
A block does not need to only consist of one data point but it can be for example a bunch of patients put into one block. In fact, on the Bitcoin blockchain, a block is not consisting of one transaction but 1800–2000 transactions. The maximum block size on the Bitcoin blockchain is 1MB which sets an upper limit on how much data you can put in one block. But again, what data and how much data can be added into the block is purely depended on the blockchain design that you created.
That’s where validity rules come into play. For our hospital case let’s assume a hospital can add up to 3 patients into one block before broadcasting the block to the P2P network for validation check. Let’s assume the data of type patient consists of 1) the name of the patient 2) the age of the patient 3) the date when the patient was accepted 4) which hospital the patient was accepted into.
How can the other network participants ensure that no one is adding non-sense? When you set up the node you also downloaded the program which manages the relationship with the other network participants and updates your blockchain after all network participants agreed on the next valid block to add. The validity check of the block is also done by the program.
A simple validity rule could be 1) check if entry 1 is a string 2) check if entry 2 is of type integer 3) entry 3 of type timestamp and 4) entry 4 of type string again.
So in a scenario, where a hospital puts in the second field instead of an age an address, your node would reject the block as the field value 2) is not an integer. So would also all other nodes in the network reject it because remember, all run the same software with the same validity rules. A block is only added to the blockchain if the majority i.e. >50% of the nodes agree that a given block is valid.
Now you understand the importance of validity rules that are mainly concerned about the correctness of the data. There is another piece, that keeps the blocks that are added in place and much more, that is Cryptography, our 4th component.
Cryptography is the glue that keeps all the information in place as discussed in the group work example. Cryptography is used across the board in a blockchain, the moment when you create your keys to the actual consensus mechanism and blockchain. Personally, the piece around how cryptography is used in a blockchain to make it secure is the most fascinating to me.
There are 3 important terms related to cryptography that I will explain to you. There are many other aspects to it but that’s for another article. The terms are public key cryptography, hashing and merkle tree. Let’s go one by one.
Public key cryptography
The general question that we are asking is how can you securely exchange sensitive messages between two parties without a third party intercepting. Public key cryptography belongs to the group of asymmetric cryptography. So why don’t we start with what is symmetric cryptography and why it does not work for the blockchain. In symmetric cryptography, you lock your sensitive message into a box and lock it with your key and send the message over to the recipient. The recipient would shout and say that they are missing the key to open it. In the real world, you could go to the recipient and hand over the key and the recipient is able to unlock and view the secret message. If you send the key over the internet for an encrypted message, anyone who might be following your conversation could intercept and steal your keys and do whatever they like. That’s not what you want. So symmetric cryptography one key acts as the locking and unlocking of secreted messages or in other words encrypting and decrypting.
Public key cryptography is a very smart solution to this problem. What it does is it creates a private key for you and through some complex math creates another public that is mathematically linked to each other. The beauty is, that you can not infer from the public key the private key. The private key is something you always want to keep to yourself and the public key is the one you can share to anyone. In the cryptocurrency world the public key is known as a wallet address. When someone wants to send you Bitcoin and they are asking for your wallet address, what they are really asking is for the public key.
Another real-world anecdote is the following. When the postman comes by your flat or house, they can drop letters to the slit into your letterbox. If your friend has some secret message to share but you are not at home, you can tell your friends where you live and where they can find your letterbox where they can drop the secret message. The location of the letterbox you can share with anyone and is the equivalent of a public key and only you can open the letterbox with your own key, the private key.
So in the case of Bitcoin and alike, when you share your wallet address (your public key) with someone and they send you Bitcoin, it basically is dropped into your digital letterbox. You can only open it with your private key.
Now it gets interesting. When you forget or loose your private key (which is an alphanumerical value or sometimes also transformed to 12–24 words called seed phrase) your funds are forever locked away. These are the stories of people you hear, not having access to their millions worth of Bitcoin. Also if someone steals your private key they have full access to your funds.
When you create an account with one of the centralized exchanges like Binance, Crypto.com, Coinbase and alike, they are taking custody of your private keys and only provide you with the wallet address i.e. the public key. So in theory, they could do whatever they want with your coins as the people having access to your cryptos is not you but them. That’s why it’s always advised to own your private keys and ideally also take it offline to not run risk of having it stolen. More to these topics another time.
Back to our hospital example. If one hospital is now broadcasting a block to the network, they need to create a digital signature. Similar to signing a contract with your signature, the digital signature is proof that you are the sender of the block. The digital signature is created by running your message (in that case the batch of data) and your private key through a complex algorithm that creates a unique output value serving as your signature. What you than broadcast to the network next to the message (the batch of data), is the public key and the signature. The network can then again mathematically validate that you must be the legitimate sender by running your public key, message and digital signature through an opposing algorithm that gives essentially the output valid or not valid. There is many more interesting details around asymmetric cryptography but more to that in another article.
Hashing is the process by which content of arbitrary length (one sentence or Shakekespeare book) is mapped to a unique fixed-length value. The most common hashing standard used today is called SHA256 (Secure Hash Algorithm) or also known as SHA2. SHA1 and SHA2 where initially both developed by the NSA. SHA2 is an improvement from SHA1 and was launched in 2001.
So what does it mean for the blockchain? You want to create a blockchain where you need to manage as little data as possible but detect changes of data as fast as possible to stop any malicious attacks. Hashing is a great way to do it. No matter how much content you run through the hashing algorithm it will always create a hexadecimal number with 256 bits, which is great. But the more awesome thing is, out of the 256 bits you are not able to recreate the input that you provided, hence hashing works only one dimensional. Here is an example. Let’s take the following sentence:
I love this article and will share it with my friends afterwards
Let’s run it through the SHA256 algorithm (you can also try it here).
It create a 256 bits sized output and you can insert my sentence above as many times as you want but the sentence exactly always maps to this above value. What if I add a dot at the end of the sentence? You would think that a small change may not change the output so much. Let’s have a look.
That’s the output, a seemingly random output, just due to a dot. This output can actually be mapped further to an integer number. If you put this hexadecimal number into a converter you would get that number.
So that’s great, you can reduce size of any input data to only 256 bits or an integer value and immediately identify if someone was to change your input message.
So now comes the link to a blockchain. When a node sends a block of data, it is run through a hashing algorithm to create a unique ID for the block. Hence each block has a unique ID in the blockchain. When you create a block you need to have several information. First being the data itself (in case of Bitcoin it would be transaction data), the second one being the hash i.e. the unique ID to the previous block. For the Bitcoin blockchain may also contain additional information like the timestamp and nonce which we will talk afterwards. The data plus the ID of the previous block is then run through the hash algorithm to create the hash of the current block that you want to broadcast to the network. Once you broadcast, the nodes will check whether you really linked to the most recent block in the blockchain and the other pieces of data before accepting your block as valid and adding it into the blockchain.
The “chaining” between blocks is exactly done like that. Each block references to the hash of the previous block. If now a malicious attacker wants to change in one of the block a value, the entire hash of the block would change and then subsequently the next block is referencing wrongly and this trickles up to the latest block.
Merkle tree is used to efficiently verify any kind of changes to a large body of data. One of the main functions is to ensure in peer-to-peer networks that data blocks received from other peers are not damaged and unchanged.
Now we have enough knowledge to tackle the last piece, which is the consensus mechanism.
Consensus mechanisms are a core piece of blockchains. You have potentially heard of the proof-of-work mechanism which is one type of consensus mechanism and the energy consumption of Bitcoin. It will become clearer for you in this section, what exactly causes this energy consumption.
The importance of consensus mechanisms becomes more apparent if you think of a network with hundreds of nodes and thousands of patients. You might think first come first serve but in a blockchain, it‘s not as easy as that.
Imagine one of the hospitals turns evil and its goal is to make the network unusable. What it could do is sending millions of blocks and congest the network so much that it becomes unusable.
To explain the use of the consensus mechanism, we need to differentiate between our hospital example which is a private blockchain and Bitcoin or Ethereum which is a public blockchain. Let’s look into 3 of the most common consensus mechanism. I will not go into too much detail on each of those as this would require another article.
Proof-of-work consensus mechanism was an integral part of the Bitcoin blockchain when it was launched in 2008. Why do we need it? In the case of Bitcoin we are talking about a public trustless environment. No one knows anyone's identity generally and hence no one can just blindly trust one another. Every node that wants to add a block, in proof-of-work-based blockchain we call these nodes a mine, can try to tamper the system and try some malicious things.
What Satoshi created is a game. Yes, literally a game. That game has 3 purposes:
Reward you if you create and broadcast a block that is valid and accepted by the network
Punish you if you create a block that is invalid and not accepted by the network
Change the difficulty of the game that only every 10 minutes a miner can win (that leaves the network time in case indeed something malicious pop up)
The proof-of-work as mentioned is used with the Bitcoin blockchain (and some others). Hence, the following explanation is more relevant for you to understand the Bitcoin blockchain. When a miner forms a block it has 4 different information, the hash of the previous block, a nonce, a timestamp and the merkle root. These infos are then put through a hashing algorithm to create the hash of the current block.
As mentioned in the previous chapter, a hash itself maps to a decimal number. And here comes the game. The protocol tells the network every 10 minutes below what integer number the hash needs to be. The miner keeps the merkle root, timestamp and hash to the previous block as constant and then only changes the nonce starting with 0.
As mentioned, just changing one bit of data will give a totally different hash and hence integer number. So the miner runs through a lot of nonce values until the required threshold is met e.g. integer value must be below 1.25 x 10^23. And not only does one miner node do that but every miner interested in mining the next block. If you win the race and you find the nonce (that is seemingly random), the reward in the case of the Bitcoin blockchain is 6.25 BTC that goes to you. Every miner also knows, the better hardware I have, the faster I can run through the numbers. So it’s basically a race also against who has the most computational power to win often. And here comes the energy consumption piece.
Miner can only stay competitive when they have a lot of computation power and a lot of computation power means also a lot of use of electricity. So multiple miners are using electricity to find a number that matches the protocol's desired target. On the flip side, the energy consumption needs and hence incurring cost has also a positive note since it discourages bad behavior. This system of incurring cost to receive a reward is keeping the network safe. More to Proof-of-work another time.
Some blockchain engineers realized that there might be more sustainable ways to keep the network safe. One of the biggest upgrades of Ethereum is to move to a PoS blockchain to make it scale more efficiently. Unlike the PoW where you use a physical resource i.e. electricity, in PoS you use a virtual resource i.e. your amount of coins and in this Ethereum example it would be your ETH. The miner in the Bitcoin blockchain are called validators.
How does PoS work? In PoS if you want to benefit from the network fees and earn a “mining” reward for correctly validating blocks, you need to stake. Stacking basically means, that you put your ETH coins into a specific contract where it resides and you signal that you are operating as a validator. The protocol of Ethereum will than “randomly” choose a winner who can validate the block and earn the reward. It’s quasi-random, as your chances to be selected to validate a block increases linearly with the amount of coins you have staked versus the others. So if someone's pool share was 5% of all staked coins, the person would also be 1 out of 20 times selected for a block. There are some nitty-gritty details, like how long you staked your coins and there is also a randomization factor to make it fairer. The key takeaway for you should be that in PoW, all miners race at the same time and use electricity but only one can win and for PoS, the winner of the race is selected prior to the race itself, he than just needs to walk through the finishing line.
Our hospital is an example of a permissioned blockchain where network participants know each and agreed most likely also contractually that they want to create this partnership and run their nodes honestly. It’s a network of trusted participants
Which consensus mechanism is used also depends purely on the use case and the creator of the blockchain. In a public blockchain where everyone can become part of the P2P network, you need more succinct reward vs. punishment mechanisms integrated in the blockchain as opposed to a closed trusted blockchain network.
In a proof-of-authority, the identity of the nodes are known. Hence, if a node was to provide malicious blocks, their authority is on the hook, as everyone knows them. Any attempt on cheating may result even in lawsuits depending on how their actual contract is. Usually in private permissioned blockchains, there is also no block reward or transaction fees to collect. The P2P network operates according to their formal decisions made.
As you learned, the consensus mechanism is mainly concerned about having the network running smoothly with honest actors that are broadcasting data that are valid. Public trustless and permissionless blockchains need a more game theory approach whereas private permissioned blockchain have an agreement offline on how nodes should be run. The research around efficient consensus mechanisms is a hot topic being heavily research and new interesting mechanisms are being explored as you read.
🎉 Final thoughts
My aim was to bring you the blockchain technology closer to you and explain in detail each of the technology pieces that make the blockchain as a whole so powerful. I also wanted to remove any noise from Bitcoin and cryptos so you have an unbiased view on what the blockchain actually is and how does it really work.
Now if you look into new blockchain projects you can ask immediate questions like, what is the consensus mechanism they use, how many nodes are being operated, who is allowed to join the P2P network, what type of data is being stored into the blockchain, how is it validated etc.
I hope you enjoyed this. If you liked it, please share it with anyone interested in learning more about blockchain technology. Please also make sure to subscribe to my newsletter to receive regular educational and crypto news-related content (no spamming, I promise)🚀
💭 Some food for thought
In our hospital example, in reality, the 5 hospitals will sit together and establish a governance and board that will oversee and make sure that the nodes are operated by everyone. Private blockchains as in our examples control centrally who should be part of the network and who should be able to validate and add data to the shared database. In a public blockchain like the Bitcoin blockchain, you can not force people to run a node but at the same time, the protocol requires to have as many individual people running a node to make it decentralized and resilient.
The real innovation of Satoshi Nakamoto when he created Bitcoin is not the invention of the blockchain and the technology piece. Many people before Satoshi tried to create an electronic cash system based on a distributed ledger but all failed and all neglected one aspect of it and this is the human piece.
Humans are naturally looking to maximize profits and are selfish and this follows the classic description of the homo oeconomicus, which is that humans make rational decisions and try to maximize profits. Satoshi looked at it from a game theory point of view and was asking the question, how he can motivate people to run a node and ask them to actually invest time and resources but at the same time not have them disappear over time from the network. The solution to this was the introduction of a closed-loop incentive system, called block reward, which was the missing piece to make a public peer-to-peer cash system work. Whilst many smart people tried to build a peer-2-peer electronic cash system by solving the technology piece, the actual problem to be solved was a human one.