"What is blockchain?" Is often the question everyone asks. The common explanation, is that it is a "decentralized" database/ledger shared across a network of "nodes" who use "consensus" to talk to each other. This is a very complicated explanation that often confuses people since the majority of people don't understand what "decentralized", "ledger" or "this network of nodes who use consensus" even means.
To better explain this technology, one should understand the use cases a blockchain can solve, by looking at the way we share/create data today.
The internet has lots of records out there for everyone to use, the only issue is that those records can be changed at anytime by a person who put them out there (which makes the data centralized). In reality, we don't really have a way to verify who was the creator of the data and who actually made the changes. Today's internet kind of looks like this:
The information that is traditionally out there on the internet can not be trusted to be there tomorrow in the same state that it was created in. This creates a unique a problem where the public have no way of verifying if the information they are taking in is correct and was created from a verified source.
The blockchain technology adds a layer of verification which they call "consensus" and it looks a little bit like this:
This means that data can not be created or edited without some sort of public review, an agreement between parties that the data added/changed was in fact created within a set of rules set out by the network. The blockchain technology allows for this verification process to happen without 3rd parties being involved.
The "public" in the blockchain sense are actually called nodes. These nodes are always sharing information between each other in the form of blocks, which are chained together by something called a hash. All of these nodes on the network are constantly sharing a copy of any data within their network, which is commonly known as a ledger. If a user wants to add something to the ledger, the following happens:
This creates a method of security, where a malicious user would have to convince a number (usually over 51%) of nodes on the network to do something outside the already preset consensus rules to change/add data. Also considering that data is all hashed together in a chain, this malicious user would have to change all the previous blocks before changing the data inside a block of interest.
Traditional use case
Today, you might have heard of blockchain from its huge emerging use case in "crypto currency". Bitcoin, a crypto currency, in mainstream media is widely popularized and many people associate blockchain with Bitcoin. However, making your own crypto currency is only one small use case that the blockchain can be used for. If we look at the previous example how the blockchain works, we can see that the monetary system is no different from the blockchain system. Our current monetary system kind of looks like this:
If we were to create a currency today on a blockchain, the model would look something look like this:
The model above, completely decentralizes any type of regulation and leaves the consensus to the public. There is also the benefit of seeing when the coin was created and by who, data that is 100% verified and can not be changed. This model can be used for any use case not just currency.
Emerging use cases, beyond crypto
Recently there has being hundreds of emerging use cases in blockchain outside of crypto currency, too many to count.
Here is a few that are worth mentioning or researching:
By looking at the above mentioned use cases, one thing that the blockchain will do for them is remove the need for 3rd party administration.
For example "Real estate processing platform", wouldn't it be great to sell your real state without having a 3rd party involve themselves in the deal, therefore saving thousands of dollars? The blockchain can ensure that the deal between yourself and the buyer is fully witnessed by the public (nodes) and any information on ownership will be recorded and verified.
"Voting mechanism", is another great way to use blockchain for voting, where a 3rd party is eliminated from the equitation and the count is completely done in a decentralized manner, which then can be fully verified and automatically audited.
There are even use cases that are completely outside the box, such as "Space Situational Awareness". Space programs around the world are seriously considering blockchain as their main solution. The current tracking system for debris and satellites is too inefficient, different databases are working around the clock to track locations of debris and usually come up with conflicting data resulting in collisions. Using blockchain as a solution would use the consensus model we talked about earlier, to ensure that all nodes tracking the debris are recording everything within the rules and data is verified between all of them.
The list of use cases can go on forever and new ones come out everyday. The main idea to take away here, is that a blockchain used in a project is usually designed to remove a need for a 3rd party to be present. In summary, a properly implemented blockchain solves the issue of trust between the user and the application.