This post is a personal opinion of the writer. It does not reflect the ideas of Open Knowledge nor Open Summer of Code on the subject.
To blockchain or not to blockchain
Our team was asked to look into the idea of storing some data on the blockchain. Storing data about a transaction on the blockchain might solve these problems (among others):
- How to prove the data has not been tampered with? We store a hash of the data on the blockchain, together with the ID’s (identifiers) of the issuer and the receiver. The actual data can always be validated by rehashing it and comparing that hash to the stored hash.
This is valuable in case the data contains transactional information, for instance: ‘James sells his house to Susan’. James is the issuer, Susan the receiver. For completeness I presume some money was exchanged. Storing the sale info on the blockchain ensures the actual data of the transaction can never be changed. Hashing that data should always deliver the same alphanumerical string. If Susan needs to prove that she bought the house from James, she can refer to the data and prove its validity by referring to the blockchain.
- Susan can also prove that she was on the receiving end of the transaction by proving that her name is connected to the receiver ID. However…
Of course storing the transaction on the blockchain warrants some problems of its own.
- How can I, as a receiver of the data, prove that the ID of the issuer on the blockchain is connected to a certain organisation? The organisation might publish their ID on their website. The badge might also link to the company’s website, but essentially, any ID on the blockchain actually obfuscates the person or organisation behind it.
- What with redesign of the website. Can we subsequently alter the info in all badges issued and repost them to the blockchain? What is the life expectancy of a webpage? Should we build a phonebook? On the blockchain maybe?
- What if the company ceases to exist?
- What is the life expectancy of the blockchain? Shorter or longer than that of man?
- Who’s paying the gas money (the only time you pay for the blockchain is when you try to store something on it)? You can’t use Euro’s, you need coins of the specific platform.
We were asked to build a tool which lowers the threshold for organisations to actually use our platform. With that constraint in mind, the use of the blockchain is a big hurdle to take. Organisations need to:
- register themselves on the correct service (like Ethereum)
- put money in the wallet (and keep an eye on it so they don’t run out of coins).
- wonder about the safety of their account (not really necessary but common)
- … any problem you might have where someone tries to pretend they are you
For people, small organizations and little companies, the blockchain implementation showing in the front-end could be a daunting hurdle to take before considering using the tool.
Because of these problems I feel the use of blockchain might become limited to bigger institutions, like a government, IBM or ING. Those who can offer connection to the blockchain without hurdles, through a service of their own and for which you pay, like a bank.
And nerds of course, they will always be on the forefront.
If you have a conflicting opinion, please write back!