I am a bit confused about the transfer of documents done via blockchain.

Let me paint the picture:

Using a supply chain management blockchain as an example. In a supply chain, there are many participants e.g. exporter, customs, importer, delivery, certification body, banks etc.

Lets say the exporter requires a licence. So it applies for a licence to a certification body and receives a licence. That transaction can be recorded as a 'block' and added to the blockchain.

What I am confused about is what data would that 'block' contain? Would it contain the actual document of the licence? If not, can you configure a 'block' so that it contains a link to a database so that if the exporter wants to view is licence, he is able to? Furthermore, would everyone be able to see that 'link'.

I understand that a blockchain is simply a ledger of all the transaction taken place. What I am confused is what sort of data the 'block' contains.

Thank you guys

1 Answer 1


In Ethereum a block is composed of transactions. Each transaction is a message from you to a destination address. For example a simple transaction can be that you send 1 ether to another account, the network will remove 1 ether from your balance, and will add it to the destination.

When the destination is a smart contract, your message can be much more complex. For example if the smart contract is document registry, a message can be you send a document to register it as your property.

A few things to consider:

  • Every data in the blockchain is public, and anybody can read it.
  • It is expensive to store large amount of data.

You can work around this limitations by storing the document with a specialized service like IPFS, Swarm or your own cloud provider. And only storing in the blockchain a fingerprint of your document. You can implement your own policy against the storage service to only allowing your users to download the document. Once downloaded the document you can calculate the fingerprint, and if it matches the blockchain info then you are confident the document was not altered. If the fingerprint does not match you can reject the document.

  • Just to confirm the process: The document will be "hashed" with its identifier. The document will be stored in a cloud system. Users will be provided their own login or means of accessing the storage system. To validate the document, you just need to compare the hash?
    – Daniel
    Aug 17, 2017 at 4:05
  • Something like that should work. You can use ethereum addresses as a login (a signed message can work as password).
    – Ismael
    Aug 17, 2017 at 4:41
  • Thank you for you reply. As a side question, how validating a paper-based document via the blockchain work (i.e. converting a physical document into a digital asset) ?
    – Daniel
    Aug 17, 2017 at 6:31
  • That depends on your workflow. I'd suggest to digitize them and only use the electronic version. If it is not possible then you can add a barcode or serial number to track them, and use that in the blockchain instead of the fingerprint, but any changes to the document outside of the blockchain will not be taken into consideration.
    – Ismael
    Aug 17, 2017 at 15:33

Your Answer

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

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