Software for Education and Industry

   Home   Order Form   

Blockchain 101

Blockchain 101 is an interactive computer program that will give you an intrinsic understanding of blockchains.  No prior knowledge of blockchains, Bitcoins, banking, or computer science is assumed or required.  Blockchains were originally introduced in 1991 as a means to time stamp digital documents, much like a Notary Public time stamps paper documents. Then in 2009, Satoshi Nakamoto started using blockchains to create the crypto currency called Bitcoin and people started to recognize that blockchains could be used for all sorts of things beyond crypto currencies.

Why should I care about blockchains? 
Blockchains have the potential to revolutionize industries like banking, real estate transactions, automobile registration, medical records, and contracts.  Nobody knows exactly what the ramifications of this new technology will be, but it behooves everyone to have at least a basic understanding of what it is, even if they never intend to invest in Bitcoins. This program will give you a basic understanding of blockchains, hash functions, nonces, proof of work, bitcoin mining, and how blockchains may change your life in the future.

Here is the Table of Contents of the program... 

Blockchain 101

Table of Contents


1.  Introduction
What is a blockchain?            
Why should I care about blockchains?
Where do I go from here?
2.  Centralized vs Decentralized Ledgers
Centralized Ledger
Decentralized Ledger
In summary   

3 Turning Ledgers into Blocks
Hash Function
Example of a very simple "hash function"
In Summary                     

4.  Chaining Blocks Together
In Summary    
5 Proof of Work
Reason 1 to increase the time it takes to create a block 
Reason 2 to increase the time it takes to create a block
How the time to create a block is increased
Try being a miner
In Summary  

6.  Further Reading
Smart Contracts
Useful Web Sites


Blockchain 101 is written in .html format so you can use your favorite internet browser to navigate through it using hyperlinks, bookmarks, and word searches.  Blockchain 101 requires no software installation on your computer.  Just double-click on the Table of Contents.html.

Following are some sample screens shots from Blockchain 101...

...part of Chapter 3.  Turning Ledgers into Blocks

.....In the previous Chapter 2 we saw how a decentralized system consists of a network of identical ledgers.

Now let's take a look at how those ledgers could be turned into blocks of data.  Assume everyone on our network started out with $100, then Bob makes a transaction, then Dick, then Jane as shown in Figure 1 below.

Figure 1.  Turning Ledgers into a Blocks

        ledgers into blocks

In the blocks, we will keep track of everyone's balance. Of course, the "wallet" software that drives the blockchain on each computer could hide everyone else's balances so that only the user's was visible.  But the information would be there in case we had to notify someone of an overdraft, or prohibit a withdrawal due to lack of funds, or settle a dispute. 

So instead of each person in the network having identical ledgers, they will now have a set of identical blocks on their computers representing transactions that have occurred as shown in Figure 2 below.

                                                                                                Figure 2.  Blocks representing transactions that have occurred on the network

Blocks at
        nodes of network

Now we need to chain the blocks together and to make them immutable (unable to be changed in the future).  To do that we will apply some cryptography........

...part of Chapter 4.  Chaining Blocks Together

.....Now our blocks will be chained together as shown in Figure 2 below because the hash of each block is dependent on the hash of the previous block:

Figure 2.  Three blocks chained together

Three blocks chained together

To test the integrity of our chain...
If Data 1 is changed, hash 1 will no longer be valid.
If hash 1 is recalculated to reflect the change in Data 1, hash 2 will no longer be valid.
If Data 2 is changed, hash 2 will no longer be valid.
If hash 2 is recalculated to reflect the change in Data 1 and Data 2, then hash 3 will no longer be valid, etc., etc.
If the position of any two blocks are interchanged, the chain will be broken as show in Figure 3 below because the hashes will not be correct..........

Hardware/Software Requirements: