I want to store a hash (of a tweet) in a way that is :

  • Censorship proof
  • Public
  • Unchangeable
  • Persistent
  • Non centralized
  • Less expensive as possible, obviously free if possible

Technology offered by the blockchain seems to fit my needs.

Since I don't want to run my own blockchain because I didn't find a way to do it for free (or does it makes sense to run my own blockchain on my own server ?). After reading on the subject, I came up using an existing coin (Bitcoin ?) and as you may guess to the OP_RETURN field in a transaction. But storing my hash in that field is really appropriate ?

Can't I use other coins for that, or create my own coin ?

Since I will store lots (3k/day) of tweets, will it not be expensive to do so ?

2 Answers 2


First you need to be a lot more specific about what you need: who do you need to prove what to? Who is going to try to censor you? Who needs to be able to verify?

Simply create your own database records with the tweets and hashes in them, each hash also including the hash of the previous tweet and other meta data that important (timestamp?, sender?, headline of today's newspaper?, hash of the latest Bitcoin block? Your digital signature?).

If that doesn't allow you to prove whatever you want to prove, then you could publish the latest of those hashes for example once per day/week/month in an OP_RETURN transaction.

You might want to look here to see if that fits your needs: https://petertodd.org/2016/opentimestamps-announcement


There exist various services which allow you to embed data in the blockchain.

The first example of this is proofofexistence, which takes a file and store its hash in the blockchain.

Since you already have the hash, and you just want to embed it in the blockchain, you need something like this service. I didn't try it, but since they have a GitHub page, i guess they provide an API to embed data automatically.

As an alternative, you can develop your own application using some Bitcoin library which gives you the ability of creating transactions and embedding data via OP_RETURN. But this is probably a more complex task.

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.