0

I am trying to find out how to certify data through blockchain technology especially ethereum. I have seen some examples like blockCert which uses bitcoin blockchain but they never say how do they actually do it, they just give the implementation without docs of any kind.

So, I am asking for any knowledge about certifying data with blockchain or at least links or docs to start with.

1 Answer 1

2

A common and natural approach is to uses document hashes. This can prove that a copy of the document produced later is a genuine copy of the original, that it hasn't been tampered with and that the signer witnessed the document at a point of time in the past.

Off-chain:

  • Alice has a document
  • Alice hashes the document and gets a 32-byte hash which is unique to the doc
  • Alice sends a signed transaction with the hash (as input data) to the contract

On-chain:

  • The contract records that address (Alice) had hash (data) that this time (mined block).

Any method of document storage will do. That can be centralized, decentralized, or perhaps Alice will simply store it herself. At some point in the future Bob wants to see that Alice's document is genuine.

Off-chain:

  • Bob: "Prove that this is the real document."
  • Alice: "This contract history shows my address submitted the hash of this document in the past. You may check everything yourself."

On-chain (read-only)

  • Bob: "Contract, do you have knowledge of this document?"
  • Contract: "Yes. Alice sent that hash on [date]."

For the benefit of readers who may not be familiar with the way hash algos produce deterministic (same output every time) strings of bytes for any given input, the ideal hash algo

  • produces output that is uncorrelated to the input (says nothing useful about the length or content of the input) and
  • is unique for every input.

While it is theoretically possible that two different inputs produce the same hash (called a hash collision), it is improbable. In the case of the keccak256 algo, for example, no hash collision has ever been discovered. Therefore, the idea of forging a document that hashes to pre-determined output is virtually impossible. This convinces Bob that the document Alice presents must indeed be the same document that was certified in the past and recorded on the blockchain.

Hope it helps.

3
  • so, certifying documents is basically storing them on a clear and immutable storage system like the blockchain with a timpestamp Mar 31, 2018 at 14:20
  • Is there any standards for data certification, like what are the attributes necessary along side the document that need to be recorded on the blockchain in order to make it certified ? Apr 5, 2018 at 11:37
  • 1
    There are some projects working toward general-purpose document witness/notary, and the technique described is easily applied to more focused use-cases. For example, you can see it used in the art world, IP, diamonds/ collectibles... many projects. Apr 6, 2018 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.