The fundamental problem that blockchains allow to solve is the following:
- There are several parties who do not trust each other.
- They are interested to record the existence of certain data at certain points in time.
- If one party is rightfully interested to record some data, no other party can prevent it to do so.
- All parties agree on a common past: There is no disagreement which data is valid and everyone can be assured that past data remains unchanged forever.
Traditionally, a solution for no. 1–4 requires some kind of mutually trusted authority like a notary or a public institution.
Blockchain is a solution that does not require a central authority of any kind.
For many real world applications there are already some established authorities and well working systems without blockchains.
The really interesting applications for blockchains are therefore in areas where either a trusted authority does not exist or where the operation of such an authority is inefficient or expensive.
One particular area where blockchains have already been widely deployed to solve a real world problem are receipts for cash payments.
For this, a blockchain solution was implemented and is mandatorily used in Austria, see Registrierkassensicherheitsverordnung.
It works like this.
Whenever a customer makes a cash payment at an Austrian merchant, the payment details (time, amount and VAT-status) have to be entered into a cash register.
This register keeps an internal blockchain, that cryptographically links each payment to the payment before.
Moreover, each payment is cryptographically signed by the merchant, the public key being known to the tax authorities.
To prove that this procedure was correctly followed, the block data of the payment is printed on a paper receipt, which the customer can check and which he keeps when walking away.
If the merchant wanted to manipulate the state of his cash register undetectably, he would have to make sure that all incriminating receipts disapear.
This application perfectly fits to the fundamental problem I outlined in the beginning.
- The parties involved are a merchant and the tax authority who do not trusts the merchant to correctly report his cash earnings.
- Both, the merchant and the tax authority have an interest to register all cash payments so that no fiscal disputes can arise.
- There is only one party who adds data to the blockchain, the merchant himself.
The validity of the data is confirmed by the cryptographic signature of the merchant.
In analogy with commonly used terminology you could call the consensus mechanism of this blockchain "proof of authenticity".
(Right now, a weak point of the system is that ordinary customers cannot check, if the cryptographic signature is authentic, because the public keys of the merchants are not published by the tax authorities.
But this is not a principal problem of the design, rather a problem of the current execution.)
- In case of an audit, the merchant has to present the full payment history in blockchain form to the tax authorities.
If the the tax authorities have some legit receipts, they can verify that the merchant has not changed any payment data that happened before.
Likewise the merchant is protected from fraudulent receipts.
Note that in this application no. 3 is significantly easier to implement than in Bitcoin.
The reason is, that there is only one party who ever wants to add data to the blockchain, namely the merchant.
Therefore this can be easily done using cryptographic signatures.
The main innovation of Bitcoin was to combine cryptographically linked blocks with a consensus mechanism where several parties can contriubute data to the blockchain without relying on any mutually trusted authority.
This was achieved with proof of work.
In most real world applications, I personnaly doubt that a Bitcoin-like system is acutally needed.
For auditing purposes, such as the cash registers described above, the critical thing is that the data entered into the chain reflects reality.
This is controlled by the customers looking at their receipts.
In other real life applications, the data in the blockchain will also most likely be linked to something that happened in the physical world.
In such a case, you are already trusting that you live in a sovereign state which protects your rights.
E.g. when using a blockchain as a land register you trust the government authorities to protect your right of property.
Therefore you can trust them as well to keep a valid land register.
So I wouldn't see a problem if some state authority was the only party to add signed data to a land register blockchain.
To summarize, my prediction is that blockchains where only trusted parties can add data to the chain will be successful and widely used.
They will become a standard way of storing time-stamped data in a trusted way, just as version control systems have become a standard managment tool for computer code.
Specific interpretation of blockchain data gives way to endless possibilities.
For Bitcoin-like blockchains, my feeling is that they once will be seen as an interesting experiment that ultimately failed to find any real world applications.