What is Blockchain?

What is Blockchain?

Niels
Niels Blockchain

Nearly all cryptocurrencies emerged from blockchain technology. Many people state that blockchain technology will have a large impact on the world. In this article you will read how this technology works and what could emerge from this it.

Blockchain as public ledger

The blockchain is the underlying technology that makes the creation of cryptocurrencies and decentralized applications possible. A blockchain can best be compared with a public ledger in which each transaction equals a new line that is added to the ledger. Users can not change data stored in the ledger.

Blockchain public ledger

Once something has been written in the ledger, this can never be changed or deleted. The users of the ledger check the validity of transactions in the ledger itself and determine who may add a new line of information to the ledger. This process ensures that, unlike a bank, there is no central party.

Once something has been written in the ledger, this can never be changed or deleted.

The users can trade with each other by using the blockchain technology. During the interaction between users a trusted third party is not required to validate and check the transaction, as was always the case with banks or parties such as Paypal. These properties are the properties of the blockchain technology. Does this all sound very vague? Do not worry. This article will further explain everything about blockchain technology!

What does a blockchain look like?

The blockchain is the underlying technology that allows two different parties to act with each other in a network where there is no single central party, such a network is most often called a decentralized network.

As the name suggests, a blockchain is actually a chain of blocks. Specific information is stored in these blocks. The information stored on the blocks can be of all kinds. In the case of Bitcoin the data stored in the blocks are the transactions that people transfer to each other while using Bitcoin.

As you can see from the image below, multiple transactions are stored in a block. Each block also refers back to the hash of the previous block. A hash is a unique code referring to certain data, what a hash is and how it exactly works will be explained more clearly in the next section of this article. Because the current block refers back to the hash of the previous block, previous data written in the blockchain can not be modified or deleted and is therefore immutable. How this is achieved and what exactly a hash is, will now be explained.

Blockchain and hashes to previous blocks

What is a hash?

As stated earlier, a hash is basically a code referring to a specific set of data. A hash is created by undergoing the following process. If someone gives certain information or a specific document as input to a hash function, the hash function will create a unique code for this information.

This code is unique for the information that was used as input. The image below shows how a unique code for the document.txt file is created. If someone uses the hash function and gives it the same document.txt file as input, the hash function will create the same unique code as output.

Hash function

It is important to know that the unique code which refers to a specific document or information will completely change if even a small adjustment is made in the Document.txt file. The example below shows that the output code of the hash function completely changes even when only a dot is added at the end of a sentence.

“It is cold in the Netherlands” results in the following hash:

105F1E5E4E26D1AFAC3DCD4A772091B9A23F5628A359423B5641784E1F159FCE

“It is cold in the Netherlands.” results in the following hash:

038C655033C4C99D6E37CFAB0A567156C3F07CB623374603DB356C3F0B3E929

A final fact about a hash function is that it is a one-way function. This means that it is impossible to guess the input of a hash function is by analyzing the output. If someone knows what the output code of the document.txt file was, then this person will never be able to know what the input of the hash function was by analyzing the output code. The only method for a person to guess what was was originally stored in the document.txt file is to give a random text as input to the hash function. If the output code matches the output code of the document.txt file, then the person knows what original data was stored the in document.txt file.

It is impossible to guess the input of a hash function by analyzing the output.

The only way to guess the input of a hash function is therefore by giving the hash function an enormous amount of random inputs and by checking whether the output of the hash function is equal to the output of which the person wants to know the original input data. How this technology ensures that information stored in a blockchain is immutable, is explained in the next section of this article.

How does a hash ensure that information stored in the blockchain is immutable?

As mentioned earlier, a blockchain block also refers to the hash of the previous block. It is important to know what exactly the input data is for creating the hash of a block. The hash of a block is created by combining the nonce, the transactions which are stored in that block and the hash of the previous block. By merging the information of these three variables into one hash function, the hash of a block is created.

The hash of a block is created by combining the nonce, the transactions which are stored in that block and the hash of the previous block. 

Blockchain, what is it?

Even if the input data of a hashing function only changes slightly, the hash of this block changes completely. This means that if someone changes the information of a transaction stored in a block even a little, then the hash of that block will change completely.

The hash of a previous block is added to the hash of the new block. This means that if someone wants to change a transaction stored in an older block that was added to the blockchain a month ago, the hash of this block will change because a transaction is changed.

Since all blocks after this block use the hash of that block while creating their own hash, all the hashes of all subsequent blocks created during that month will also change. This ensures that the changed transaction is declared invalid, therefore this change will never be included in the blockchain.

It is now clear why the stored information in a blockchain can not be removed or changed. But why is a nonce added in the hash of a block and what exactly is this? This will now be explained!

Blockchain mining

As indicated, in a network that uses blockchain, there is no need for a central authority that checks or adds transactions to the blockchain. The users of the blockchain network will therefore have to decide among themselves who can add the new block of transactions to the blockchain.

The program that describes this process is called the consensus protocol. Nowadays, there are many different types of consensus protocols. However, the first consensus protocol was created by Bitcoin, called “proof-of-work”. To clarify how consensus protocols work, an explanation based on proof-of-work will now be given.

The first consensus protocol was created by Bitcoin, called “proof-of-work”.

A consensus protocol determines what user of the network is allowed to add the new block to the blockchain. Within proof-of-work, this is determined by completing a certain task which is executed by using the computational power of the users’ computers. Once again, hash function are used while creating the task executed in proof-of-work. As stated, it is impossible to determine what the input of a hash is by looking at the output. The proof-of-work consensus protocol is described in the following way:

The users give a random input to a hashing function, this input is also called the nonce. The users who first gives a nonce as input, which results in an output hash that starts with a certain number of zeros is the one who can add the new block to the blockchain.

This process is also called “mining”. The only way to find the correct nonce is by giving a random nonce as input to the hash function and hoping that this results in an output that starts with a certain number of zeros. This process is visualized in the image below.

Blockchain mining rig

The user that finds the correct nonce is the user that may add the new block to the blockchain. This user will also be rewarded with a certain number of Bitcoins for sacrificing the computing power of his computer.

What is so special about a blockchain?

Blockchain basically implies the following; a technique created to carry out transactions between different parties without having to rely on a third party. The recorded data on a blockchain is stored in blocks. The data stored in a block can not be deleted or modified and is therefore immutable.

Blockchain is a technique created to carry out transactions between different parties without having to rely on a third party. 

The users of the blockchain network determine by means of a consensus protocol whether transactions are valid and who is allowed to add the new block containing multiple transactions to the blockchain. The blockchain technology creates a distributed network in which there is no central party that manages the network or determines which transactions should be added.

Decentralized blockchain

This last sentence also describes why blockchain technology is so innovative. Previously, when people wanted to execute a transaction, they had to trust each other or use a trusted third party such as a bank or PayPal. Blockchain now makes it possible to carry out transactions in which security is achieved by relying on cryptographic proof instead of fallable trust.

With blockchain security is achieved by relying on cryptographic proof instead of fallable trust.

But why is decentrality so important?

Now that it is clear what blockchain

Blockchain security
exactly is, people often wonder why it is so important to be able to carry out transactions without having to rely on a large third party. Most people trust companies such as Paypal or a respected bank? This is true, in the Western world most people do trust banks and larger companies. However, this is not the case for countries with unstable politics, where your access to your bank account can easily be taken away from you.

Finally, in some cases it is very useful that a blockchain can function as a database in which it is nearly impossible to change or delete data. This ensures that you always have a clear overview of all the events and transactions that have taken place on a network.

Blockchain can also be used to create decentralized applications. For example, people can use decentralized applications to easily lend out goods that they have but do not on a regular basis. By doing so the the owner of the good is rewarded with a small economic compensation and the person that was in need for this good is not required to actually buy the good.

 
The crypto company named GOLEM is a perfect example of this. GOLEM
Golem
created a network where users can sell a part of the computing power of their computer to this network. This network can then be used to perform very complicated calculations. As a result, the GOLEM network basically functions as a decentralized supercomputer. Decentralized applications can also be used to distribute the revenue from applications more fairly among the users of an application. Many people wonder why Facebook is the only one receiving the revenue from advertisements. By using decentralized systems, the revenues from applications such as advertisements could be distributed more fairly among users of these applications.
By using decentralized systems, revenues can be distributed more fairly

Reading tips

We hope that your question: “what is blockchain?” Has been answered by reading this article and that you now have a clearer picture of what this blockchain technology entails and what could emerge from it. As a reading suggestion we would like to recommend the original Bitcoin whitepaper. Although the whitepaper is rather technical, the blockchain technology as it was originally designed is clearly explained in this article.

https://bitcoin.org/bitcoin.pdf