<p>While I understand the temptation to re-/abuse the blockchain for such things, why not use a service which is built on purpose for this? Have a look at guardtime.com, specifically <a href="http://www.guardtime.com/software/developer-tools/" rel="nofollow">http://www.guardtime.com/software/developer-tools/</a></p>

CC BY-SA 3.0
2012-08-10T06:15:32.947Z
2012-08-15T22:54:18.067Z
2012-08-15T22:54:18.067Z
martin
<p>Please check out this <a href="http://www.steemwhales.com/timestamping/" rel="nofollow noreferrer">blockchain timestamping tool</a>, it does exactly what you require for free (this blockchain has 0 fees for writing this data), and is technically better.</p>

CC BY-SA 4.0
2019-03-24T01:05:41.283Z
The link does not work.
Samuel Bourque
CC BY-SA 3.0
2017-03-10T23:07:04.177Z
2017-03-10T23:07:04.177Z
Heimindanger
<p>There is no way to attach meta data to the block-chain without forming an alternate chain, which as ThePiachu pointed out requires a modified client. However, you could</p>

<ul>
<li>Generate a wallet</li>
<li>Send 1 BTC to that wallet</li>
<li>Add both the public bitcoin wallet address and the block of your 1 BTC deposit</li>
<li>Use the private key of the Bitcoin wallet to sign the article contents</li>
</ul>

<p>You can now prove to third parties you authored the document by sending 0.01 BTC to interested parties.</p>

CC BY-SA 3.0
2012-08-08T19:29:54.193Z
Completely misses the point.
Rotsor
CC BY-SA 3.0
2012-08-07T08:48:52.173Z
2012-08-07T08:48:52.173Z
Kristopher Ives
<p>You can encode any arbitrary data using the Bitcoin <a href="https://en.bitcoin.it/wiki/Script" rel="noreferrer">script</a>'s OP_PUSH and OP_DROP commands. For this, however, you would need some custom Bitcoin client, as the standard one does not allow you to send messages like this.</p>

<p>Alternatively, you could just use the hash as a part of the generation of a <a href="https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses" rel="noreferrer">Bitcoin address</a> and store it in the Block chain by destroying one satoshi on it.</p>

<p>There should be a topic covering encoding of any data into the Blockchain somewhere on this StackExchange, so you can also have a look at that.</p>

CC BY-SA 3.0
2012-07-30T20:32:22.060Z
Thanks.  Now that bitaddress.org has added a 'brain wallet' tab, I think it's easiest just to paste the document hash (or even the whole document if it's short enough) into the brain wallet tab, and deposit a coin to the resulting address.  Then if I need to prove that the document existed at that time I can point people at bitaddress.org to validate it.
Chris Moore
CC BY-SA 3.0
2012-07-30T20:23:52.903Z
2012-07-30T20:23:52.903Z
ThePiachu
<p>If I want to prove that I wrote a particular document before a certain point in time, it would be sufficient to generate the sha256 hash of the document and somehow arrange for that hash to appear in the blockchain.</p>

<p>Is there an easy way to do that simply by sending a transaction and leaving it to the miners to arrange for it to get into the blockchain for me?</p>

<p>One way that occurs to me is that I can treat the hash as a private key (bitaddress.org will tell me the address and private key that corresponds to any given input), and send a Bitcoin to the corresponding address.  Then when I publish the document anyone can go through the same process and see the date of the transaction in the blockchain.</p>

<p>That seems a little convoluted.  Is there a simpler way?  Ideally free, not computationally intensive, and not requiring any special software to make the timestamp or to verify it.</p>

CC BY-SA 3.0
2012-08-07T11:24:44.067Z
possible duplicate of [Is there a future-proof method of encoding messages in the blockchain?](http://bitcoin.stackexchange.com/questions/3969/is-there-a-future-proof-method-of-encoding-messages-in-the-blockchain)
ripper234
<blockchain><timestamp><hash>
how can I insert an arbitrary sha256 hash into the blockchain?
Chris Moore
# how can I insert an arbitrary sha256 hash into the blockchain?

(Asked by: username_0 on 2012-07-30)

If I want to prove that I wrote a particular document before a certain point in time, it would be sufficient to generate the sha256 hash of the document and somehow arrange for that hash to appear in the blockchain.

Is there an easy way to do that simply by sending a transaction and leaving it to the miners to arrange for it to get into the blockchain for me?

One way that occurs to me is that I can treat the hash as a private key (bitaddress.org will tell me the address and private key that corresponds to any given input), and send a Bitcoin to the corresponding address. Then when I publish the document anyone can go through the same process and see the date of the transaction in the blockchain.

That seems a little convoluted. Is there a simpler way? Ideally free, not computationally intensive, and not requiring any special software to make the timestamp or to verify it.

**Tags:** blockchain, timestamp, hash

> **Comments:**
> **username_1**: possible duplicate of [Is there a future-proof method of encoding messages in the blockchain?](http://bitcoin.stackexchange.com/questions/3969/is-there-a-future-proof-method-of-encoding-messages-in-the-blockchain)  

---

## 4 answers

### Answer by username_7 on 2012-07-30. Score: 7 | Accepted answer

You can encode any arbitrary data using the Bitcoin [script](https://en.bitcoin.it/wiki/Script)'s OP\_PUSH and OP\_DROP commands. For this, however, you would need some custom Bitcoin client, as the standard one does not allow you to send messages like this.

Alternatively, you could just use the hash as a part of the generation of a [Bitcoin address](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses) and store it in the Block chain by destroying one satoshi on it.

There should be a topic covering encoding of any data into the Blockchain somewhere on this StackExchange, so you can also have a look at that.

> **Comments:**
> **username_0**: Thanks.  Now that bitaddress.org has added a 'brain wallet' tab, I think it's easiest just to paste the document hash (or even the whole document if it's short enough) into the brain wallet tab, and deposit a coin to the resulting address.  Then if I need to prove that the document existed at that time I can point people at bitaddress.org to validate it.  

---

### Answer by username_2 on 2012-08-10. Score: 2

While I understand the temptation to re-/abuse the blockchain for such things, why not use a service which is built on purpose for this? Have a look at guardtime.com, specifically <http://www.guardtime.com/software/developer-tools/>


---

### Answer by username_3 on 2017-03-10. Score: 0

Please check out this [blockchain timestamping tool](http://www.steemwhales.com/timestamping/), it does exactly what you require for free (this blockchain has 0 fees for writing this data), and is technically better.

> **Comments:**
> **username_4**: The link does not work.  

---

### Answer by username_5 on 2012-08-07. Score: -1

There is no way to attach meta data to the block-chain without forming an alternate chain, which as username_7 pointed out requires a modified client. However, you could

* Generate a wallet
* Send 1 BTC to that wallet
* Add both the public bitcoin wallet address and the block of your 1 BTC deposit
* Use the private key of the Bitcoin wallet to sign the article contents

You can now prove to third parties you authored the document by sending 0.01 BTC to interested parties.

> **Comments:**
> **username_6**: Completely misses the point.  

---

