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?


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. – mulllhausen Jan 2 '14 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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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