Putting It All Together: The Bitcoin System

thecekodok

 What is Bitcoin?


While there are many different ways to answer this question, now that you’ve gone through the previous lessons, you can now answer with confidence!


Let’s now take all the concepts you’ve learned and put them all together.


Bitcoin (uppercase “B”)  is a new SYSTEM that manages the creation and ownership of digital “money” that exist independently from any government, central bank, or other central institution.


This “money” is denominated in bitcoins (lowercase “b”).


The Bitcoin system is a fully autonomous system that’s basically just a bunch of computers, called nodes, that “talk” to each other over the internet.


To be able to talk to each other, Bitcoin software is installed on each computer.


Bitcoin Software Code


Anybody can download and install this software.


The Bitcoin software is open source which means anybody can look at the source code.


If the computer is connected to the internet and starts running the software, it becomes a Bitcoin node.


Bitcoin node


And when there are two or more Bitcoin nodes online, this creates the Bitcoin network!


Bitcoin network


The Bitcoin network is a peer-to-peer (P2P) network that runs 24 hours a day, 7 days a week, and 365 days a year. (Like your typical 7-Eleven.)


In this network, communication between computers (nodes) is done without any central administration or server, which means all nodes have equal power and perform the same tasks.


It is also a permissionless network. Meaning you don’t need permission to be part of the network. Anybody can join. Or leave.


The software autonomously runs the Bitcoin protocol. It runs on autopilot.


Bitcoin protocol


A protocol is just a fancy word used in the computer software world that describes a set of programming instructions or “rules”  that allow computers to communicate and interact with each other.


Think of protocols as standardized rules that determine what a system should or should not do.


The Bitcoin protocol is run over the Bitcoin network and provides these computers with the operating instructions and information they need to keep track of and verify transactions occurring on the network. 


It lays out the steps that computers in the network must perform to reach a consensus on the validity of each transaction.



Because the Bitcoin network is decentralized, meaning there is no central authority to “obey”, another “decision-making” method is needed for all these computers to come to an agreement on which transactions are actually valid.

It is the Bitcoin protocol, run as a software application, that’s installed on every computer (“node”) in the Bitcoin network is what allows independent members of the network to coordinate and function collectively as the Bitcoin system.


The Bitcoin protocol establishes how the Bitcoin network OPERATES as a system.


In addition to running the Bitcoin protocol, every node stores a data file that carries the records of ALL transactions ever made on the Bitcoin network, including the creation of new bitcoins.


This file is called the blockchain.


Blockchain as a file


How the data is structured when they are recorded or “saved” to the file is what makes the blockchain different from other record-keeping methods like traditional databases or spreadsheets.


Bitcoin’s blockchain consists of a sequence of blocks where each block builds on the previous block….creating a “chain of blocks” or “blockchain”.


Inside each block is information about transactions.


More specifically, the blockchain holds “archived” or confirmed transactions, which are packaged in “blocks“.


Block of trnsactions


The average time between blocks being saved to the data file (blockchain) is 10 minutes.


So think of the blockchain as a continuously growing database of permanent records, that are stored in “blocks” that are linked and secured using cryptography.


There is no single instance of the blockchain.


Each node gets an “official” copy of Bitcoin’s blockchain, which gets downloaded automatically when it voluntarily joins Bitcoin’s network.


Every node on the network acts as an “administrator” of its own version of blockchain (the data file). Each node does not trust each other so they’re constantly re-verifying the data that are shared with each other and making sure all Bitcoin transactions are valid.


These computers are also constantly asking each other, “Are our blockchains the same?”


And in the cases of disagreement, where some nodes have different ledgers, all nodes need to figure out, “Whose version of the blockchain is correct?”


Because every node in the Bitcoin network is acting independently when validating transactions and maintaining their version of the blockchain, there must be a non-disputable agreement in which version of the blockchain is the “real” blockchain among all the nodes.


A single history of transactions needs to be maintained. This requires some sort of method that everyone on the network agrees will adhere to.


That method is by consensus.


The process of achieving consensus among the nodes is called the *consensus mechanism*.


For Bitcoin, a consensus is achieved through a process called “mining”.


Mining is the process of confirming transactions and adding them to the blockchain.


Specialist nodes who participate in mining are known as miners and form a critical part of the Bitcoin network.


In simple terms, miners bundle together valid transactions into a block and then compete to be the first to guess a number that starts with a certain number of zeros. So the actual “mining” can be described as “guessing”.


Or even more accurate, “guessing fast AF”.


And since miners want to guess as fast as possible, which requires using specialized computer hardware that uses up a lot of electricity, this process is expensive.


To incentivize nodes to participate as miners, they earn transaction fees paid in bitcoin and also are rewarded with new bitcoins (“block subsidy”)


The first miner to guess the correct number shares the newly “mined” block with the Bitcoin network. Other nodes verify that the guessed number is correct, and if it is, then everyone else updates their blockchain with the new block as well.


Mining allows the entire Bitcoin network to AGREE on which transactions get “archived” and added to the blockchain.


As you can see, there’s a lot of stuff going on in the Bitcoin system


What’s neat is that ALL of this is being done automatically by computers! And all of it happening in public view!


Since the blockchain keeps track of every change in ownership of every single bitcoin, the public can see that someone is sending an amount to someone else.


And since the ownership of bitcoins is tied to addresses, this information does NOT directly link the transaction to information that personally identifies the sender or the receiver.


This level of transparency, where anyone can monitor the “movement” of bitcoins to different addresses, is something you won’t find with traditional financial institutions.


It would be akin to your bank giving you (and all its customers) access to its ledger and allowing you to see, in real-time, whenever funds were moved from one account number to another account number along with the exact amount. 😲


Congratulations! We have finally finished our simplified “map” of the overall Bitcoin system.


Bitcoin is a System


If you understand everything that’s mentioned on the map, find the nearest person to you and scream:


“I NOW UNDERSTAND BITCOIN YO!”


And then give them a big fat high five!


Bitcoin High-Five


If there’s nobody around you though, you can still go up to a mirror and tell yourself:


“YOU NOW UNDERSTAND BITCOIN YO!”


And high-five yourself.