All started in 2009 when the mysterious pseudonym Satoshi Nakamoto published and started Bitcoin. It was identified as the first ever decentralised currency enabling users to perform peer to peer money transactions without a central authority. Bitcoin was the first application to implement the Blockchain technology while it’s inventor was still not identified.
As of today, there are over 800 cryptocurrencies relying on the Blockchain. Some just want to improve Bitcoin on a technical base, others extended or re-invented aspects of the Blockchain. They pushed other components, mechanisms and algorithms into place to solve problems of Bitcoin or answer their custom requirements.
Quite a lot of them do not want to be plain digital money. They are powering and financing digital products like for example decentralised cloud storage or a global supercomputer with it.
A lot of products and companies start using the Blockchain for other business cases than digital currencies. To know why that is, we will have a look at the concepts and components of the Blockchain. Later on we will reflect on the resulting advantages and disadvantages and why we all should keep an eye on the Blockchain technology.
What is the Blockchain?
In essence we are talking about a distributed system to store a history of transactions on each member of the system. There is no central instance that keeps track of the one and only true history, therefore a Blockchain is always eventually consistent. The individual parts of the system might have a different state but will at some point reach a common agreement.
The structure of a Blockchains’ history is not only a table in a database. Transactions in the history could be imagined as a changelog of the system that reference each other by being put into a structure.
To make this structure of a Blockchain complete we are missing another component. But let us first learn what a transaction is.
What actually is a Transaction?
Using the example of Bitcoin, a transaction is an event that describes the transfer of a balance from one known participant to another. It contains the sender, receiver and the amount to be transferred.
Considering other areas of application, this could be any data that describes a transfer between two involved parties. For example the movement of Italian wine along its whole value chain in order to record the exact process and guarantee its authenticity.
A transaction is an action or event which is appended to the history of the Blockchain. The type of data contained doesn’t really matter.
But how does it work? Whom to ask to perform the transaction? How to validate if this is a permitted action? How do they get processed?
We need a few more concepts to close the circle of a working Blockchain.
Shouldn’t there be Blocks in a Blockchain?
Yes, there are blocks in a Blockchain because if we would directly chain transactions, it would be called something like transaction chain, wouldn’t it?
Blocks are containers for multiple transactions with extra information, comparable to a header of a network protocol like IP. Each block is granted a unique hash as identifier, contains a bunch of transactions and also references the previous block.
Blocks do exist as a super unit for multiple transactions for different reasons. Depending on the scenario blocks have different meta information and size. To verify the integrity of transactions, blocks contain a checksum of them and put them in their header. As information from the header is hashed and referenced in the next block header, integrity is created.
There is still the remaining question of how transactions get validated and confirmed so a transfer of balances with currencies like Bitcoin is possible.
How riddles fuel the Blockchain
When a transaction is created (containing sender, data and recipient) it has to be sent to the Blockchain network. Meaning to one part of the network that broadcasts it to the other participants.
Unfortunately transactions are not directly executed but have to wait for something described as “processing”. They get validated in order to be summarised in blocks and attached to the history.
It would be a mess without validation as participants could pretend to have more money than they actually do. We need to check if the balance of the sender is sufficient for the transfer.
As there is no decimal containing the amount a participant owns, the balance has to be computed from the Blockchain history. The history describes the origin of a balance and how it moved through the ledgers of others by transactions.
The balance, for example Bitcoins, is no file or pointable thing in the network but result of aggregating the history.
How are the initial balances of the first participants in a Blockchain created? And what do they have to do with riddles?
Well, the riddles in Bitcoin are what we know as mining. Miners (or nodes) are keeping up a Blockchain network by processing transactions. To process transactions and append them to the history in blocks, these blocks require you to solve a complex mathematical problem.
So, validating and processing transactions is designed in the form of mathematical riddles in most cryptocurrencies.
This approach is called Proof of Work (PoW) because if one managed to solve one of these blocks, he proved that he did a lot of work for it. In reality that work is achieved by a lot of complex computations and hashing which costs electric power.
Digital currencies reward miners with some coins per solved riddle, so it pays off for them to do the work. The difficulty of a Blockchain network increases over time making it harder for miners to find blocks (for Bitcoin this happens every 2016 blocks).
Besides PoW there are also other possibilities like Proof of Stake or Proof of Importance that may make sense for different purposes. They mainly want to solve the waste of electric power that is involved in PoW. This is done by creating other kinds of nodes that process transactions not depending on their energy consumption but on their stake of the network or their importance as a user of the network.
What is it useful for?
Blockchains aim to provide an unchangeable, secure and perfectly verified history. As the history is replicated over all nodes participating in the network there is no single point of failure by design. The aim is to cryptographically ensure the impossibility of changing transactions in the history without invalidating the following ones. Also Blockchains are designed to be highly available and can be operated with an infinite amount of nodes.
On the other side Blockchains, cryptography and distributed systems themselves are very complex topics. If the advantages of Blockchain are not utilised by a use case, it does not make sense to use it. On a technical base one hard decision comes after another. For example scaling is a known issue with lots of different solutions.
Like every other technology or architecture the Blockchain is not the solution to everything. It has strong advantages and disadvantages that should be wisely considered when contemplating its application. It describes a vague concept that has many setscrews for customisation. Cryptographic algorithms, distributed consensus mechanism and many more implementation details are adjustable and make each Blockchain unique.
Its strong points pay off perfectly for digital currencies, services and market places that want to exclude central authorities like banks or governments.
Furthermore applications that require data security and validity to implement fraud detection or authenticity in some way will profit from the concept.
Conclusion
Blockchain is a stunning technology that has high potential for a lot of use cases. More and more governments and institutions are adapting it, also for non-payment areas. Estonia implemented an identity management using Blockchain , the Republic of Georgia registers land titles with it and new project kickoffs are happening on a weekly base.
Also the area of digital currencies is very vivid and new payment methods and platforms are trying to disrupt the classical finance industry.
Like all great inventions in the tech sector it gets hyped and companies tend to see it as silver bullet. This is of course not the case, usage of any technology must be considered carefully.
When deciding for using a Blockchain there are complex decisions ahead.
After all, we’re looking forward to see more great projects and fascinating developments in this area in the future.
More articles
fromJonas Verhoelen
Your job at codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
More articles in this subject area
Discover exciting further topics and let the codecentric world inspire you.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog author
Jonas Verhoelen
Do you still have questions? Just send me a message.
Do you still have questions? Just send me a message.