I would like to apply blockchaining on unstructured data (any kind of data). I have seen BlockSign use similar concept to sign a document by storing a hash of the document in OP_RETURN block of Bitcoin. I was wondering how to do something similar but for a non-structured data type to ensure privacy and verification of the data in question.

Any links, articles or papers to programmatically do this would be ideal. I searched myself and found something called as ethereum but I don't think that satisfies my requirements.

  • 1
    I'm not really clear what you are trying to achieve here. Can you give a specific example? Jul 23, 2015 at 1:23
  • Okay. To put it simply, there are a few products in the market which use 'blockchain' for trust and verification. Some examples are democracyos.org or blocksign.com or verisart.com . I am trying to understand what they do and how and replicate it for my own work with any kind of data (not just documents as in the case of blocksign). Jul 23, 2015 at 8:23
  • With OP_RETURN you can only store a HASH (mostly 32bytes) of a file in the bitcoin blockchain. Every BLOB (=file) independent of its size can be hashed. Jul 23, 2015 at 10:19
  • Thanks @JonasSchnelli. But I want to understand the anatomy of how to go about doing something like that. I am new to blockchain programming as such, so a beginners guide to do the above or some paper would be very helpful. Jul 23, 2015 at 10:54
  • Note that the blockchain is meant for (value) transactions: storing data in the blockchain is considered spam. You will need to pay a transaction fee, which will possibly be going up soon as the blocksize limit is hit. And even if you pay a fee, you're not paying for other people having to store and reproduce your data, so they will likely start discarding that data at some point. (Which shouldn't be a problem for you if you design your system accordingly.)
    – Jannes
    Jul 23, 2015 at 12:16

2 Answers 2


Chainpoint is a standard for maximizing the scalability of recording data in the blockchain and generating blockchain receipts. Each receipt contains all the information needed to verify the data without relying on a trusted third party.

You can read our white paper and download a Python implementation of a Chainpoint server at http://github.com/chainpoint.

Tierion and Storj are the first to implement this new standard.

  • Thanks for the link. I have looked at Storj and I am in one of their beta tests. I have also been in talks with the storj devs and they mentioned Chainpoint. The repo seems fairly new. Are you one of the devs? Aug 23, 2015 at 23:39
  • I'm the founder of Tierion - an engine for collecting data and recording it in the blockchain. Shawn and I worked together to develop the Chainpoint protocol and write the white paper. Aug 24, 2015 at 12:54

You can use the blockchain to store up to 80 bytes in a OP_RETURN transaction. Mind, that you need to pay a fee for this transaction (value is depending on fast you like to get you OP_RETURN TX confirmed/mined).

Storing files on the blockchain is obviously not possible, though, you can store a hash of a file to create a guarantee that this particular file has existed at this point in time.

Every file has its unique hash (you could use SHA256 as hashing algorithm).

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.