Do you need a blockchain for that?

Micha Roon
3 min readFeb 26, 2019

TLDR: If you need to prove that your time is correct or you’re providing all the data.

We’ve all seen, in the blockchain community at least, the decision trees to help decide wether your project needs a blockchain or not. I would like to give it a try too. It is much shorter than most I’ve seen so far and it goes like this: if any of these are checked you need a consensus mechanism.

  • You need immutable and audit-able time stamps on your data
  • You need to prove that you never omit information when queried

Audit-able time stamps

Why is it so difficult to get audit-able time stamps? You need a third party in order to make it credible that the time stamps are tamper proof. It is unlikely that you would be able to tamper with the time stamps of Azure or AWS, but on your own database server that is a lot easier.

An example would be Prior Art. You want the ability to prove that you created some work at a certain moment in time. Another is shipping documents, you want the time in the document to match the time it was created and avoid getting a doctored version which was pre-dated.

Changing the time stamp on the blockchain is akin to changing data on it: you have to rewrite the whole history and get 51% of the participants to back you. That’s if you use a proof of work chain. On a proof of stake or authority chain with block finality, it is not possible, full stop.

All the data, all the time

Digital signatures are enough to prove the origin of the information and also that you did not make any changes to it. But how do you make sure that the data you read is the latest version? If the information does not get distributed automatically and everyone has to agree on its correctness (reach consensus), then it is impossible to prove that each query gets answered with the latest state.

The obvious example is a token. You need the certainty that no participant has the ability to send a token today and trick everyone by showing them yesterday’s balance.

Another example is auditing accounting data. It does not depend on how many entities need to read your accounting data (you only need one auditor) and you’re the only one who writes to it. But you’re still in a trustless setup and the auditor needs certainty that you did not hide anything.

Of course most data would not be stored on-chain as it is too expensive and a security or privacy hazard. But even if only hashes are stored, readers would be able to notice that something is missing.

As above, updating the history is not possible (or at great cost) and hence the guarantee of completeness.

This goes for functionality too

Functions or smart-contracts are data on the blockchain. It actually often makes a lot of sense to execute the function off-chain and store the inputs and outputs on-chain, making the execution verifiable.

There are many ways to verify code. Git has a signed commit feature, but it also has a rewrite history feature. If you store the signature in a blockchain on the other hand you make it impossible for the code to change without everyone noticing.

Conclusion

It does not matter how many people contribute to the data and it does not matter how many people want to read the data. What matters is the ability to prove the data is complete or has the correct time stamp. If you need one of these two abilities, then I believe you need a consensus mechanism.

There are other ways to reach consensus but the easiest way is to use a blockchain. Simply because it has a lot of implementations.

You can add consensus to an existing database with Chromaway for example. There are other pluggable consensus algorithms out there. But the easiest way for most cases is to use something off the shelf. Technologies like Polkadot’s inherited security and trust can publicly validate private chains, which makes operations cheaper and faster.

Comments are always welcome.

--

--

Micha Roon
Micha Roon

Written by Micha Roon

Chief Innovation Officer at Energy Web researching solutions to build the decentralised infrastructure to decarbonise the grid

Responses (1)