http://www.proofofexistence.com/about -- "Use our service to anonymously and securely store an online distributed proof of existence for any document."

The document is certified via embedding its SHA256 digest in the bitcoin blockchain. This is done by generating a special bitcoin transaction that encodes/contains the hash via an OP_RETURN script. This is a bitcoin scripting opcode that marks the transaction output as provably unspendable and allows a small amount of data to be inserted, which in our case is the document's hash, plus a marker to identify all of our transactions.

Naïve question perhaps, but if the bitcoins are lost forever, this seems like an unfriendly use of the bitcoin protocol and the blockchain, and future versions of the protocol may prevent this type of transaction from being accepted into the blockchain?

2 Answers 2


Well, it's probably not an intended function of the block chain, but I wouldn't call it "unfriendly" because you're not really harming anybody (by reducing the total amount of bitcoins available you're in fact increasing the value of all other bitcoins a little).

[...] future versions of the protocol may prevent this type of transaction from being accepted into the blockchain?

No, because it's not possible. The transaction encoding the document hash looks exactly like any other normal pay-to-address transaction. The only difference is the address which is a representation of the document hash instead of a hashed public key, and therefore there is no private key associated with it (that's why it is unspendable). You can't go back from a hash to it's origin though, so you will never know whether it's spendable or not.

  • i think the key point is that there is no way of knowing (from the point of view of the miners including these transactions into a block) that the to-address (document hash) has no private key. Commented Jan 2, 2014 at 12:38

Just to give a quick update on this, it is no longer necessary to "burn" bitcoins when creating a proof of existence. The OP_RETURN opcode re-enabled in Bitcoin Core 0.9 can be used to carry 40 bytes of arbitrary data. The coin associated with it will be added to the transaction fee and can be claimed by the miner.

Reading the about page it seems proofofexistence.com are already using it.

Edit: According to Nick ODell's inquiry answered by core developer Jeff Garzik, this coin cannot be claimed by the miner.

  • added to the transaction fee Do you have a citation on that? I haven't heard anything like that.
    – Nick ODell
    Commented Oct 23, 2014 at 20:18
  • I know it's not an "authoritative source", but seems pretty legit: "Interestingly, any value associated with the coin can be claimed as a miner fee."
    – knaperek
    Commented Oct 23, 2014 at 20:32
  • 1
    I asked #bitcoin-dev, and Jeff Garzik said no. pastebin.com/5txuBhGP
    – Nick ODell
    Commented Oct 24, 2014 at 2:00
  • Thanks Nick, I've edited my answer. Will ask the author of the cited article for further explanation.
    – knaperek
    Commented Oct 24, 2014 at 9:20
  • Alright, the author of the article has acknowledged this and corrected it. Thanks again Nick, it's really important to get this right.
    – knaperek
    Commented Nov 1, 2014 at 23:25

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.