<p>It's not practical to store anything more than a hash on the BTC blockchain. The hash can be used to prove that the owner of an address agrees with something (e.g. a document's contents). It's just as effective as a digital signature though.</p>

CC BY-SA 3.0
2016-05-17T00:43:03.233Z
2016-05-17T00:43:03.233Z
Richard
<p>You could store something in a DHT or IPFS, and write its address(a hash) in the blockchain for retrieval in the future. The downside of this is that the storage of the full data set is not handled by the blockchain, but the data that is served later can at least be checked via the hash.</p>

CC BY-SA 3.0
2016-05-19T15:49:14.007Z
Thanks for your answer, but I don't know what DHT or IPFS. Care to shed some more light (a Google search brings up a chemical compound for DHT)
Homunculus Reticulli
CC BY-SA 3.0
2016-05-19T16:14:08.790Z
DHT stands for Distributed Hash Table. Data is spread across a set of nodes and made retrievable via a hash of the data. Kademlia is a very popular implementation.
Steve Ellis
CC BY-SA 3.0
2016-05-18T22:03:15.813Z
2016-05-18T22:03:15.813Z
Steve Ellis
<p>OP_RETURN is meant to store extra data on the blockchain. As fees are per kbyte, you'll be paying more fee.</p>

<p>Remember that block size is limited (1MB now every 10 minutes, but growing) and fees are expected to go up quite a bit, so if your application needs to be able to scale, you really need to do some calculations whether yours is a viable solution at all (in general: it should be much cheaper and easier to store extra data yourself, instead of burdening the whole world with it).</p>

CC BY-SA 3.0
2016-05-16T16:47:28.860Z
I agree.  At most, you'd want to limit what you store with OP_RETURN to just an ID or hash that links into your own data storage system.
Jestin
CC BY-SA 3.0
2016-05-19T15:50:24.277Z
This is what I (as a complete and utter blockchain noobie), was thinking of doing - but I wanted to find out what those with more experience thought first
Homunculus Reticulli
CC BY-SA 3.0
2016-05-15T18:42:11.993Z
2016-05-15T18:42:11.993Z
Jannes
<p>I have an operational process that involves several sub processes. I am currently maintaining an audit trail of the entire process. </p>

<p>For (successfully) completed processes, I want to record the successful transaction (along with all relevant details) on the blockchain, for public consumption. </p>

<p>What is the 'best practise' way of storing data on the blockchain? - and what (if any), are the data size limitations (and how to workaround data size restrictions?)</p>

CC BY-SA 3.0
2016-05-16T00:54:27.733Z
The best practice is to not do it. It burdens the entire network for no gain but your own (and possibly the miner). Not to mention it's incredibly inefficient.
KJ O
CC BY-SA 3.0
2016-05-16T06:20:04.250Z
+1 don't do this on bitcoin blockchain. You can use namecoin / other blockchains which has similar purpose
dark knight
<blockchain><storage>
How to store transactional information on the blockchain
Homunculus Reticulli
# How to store transactional information on the blockchain

(Asked by: username_0 on 2016-05-15)

I have an operational process that involves several sub processes. I am currently maintaining an audit trail of the entire process.

For (successfully) completed processes, I want to record the successful transaction (along with all relevant details) on the blockchain, for public consumption.

What is the 'best practise' way of storing data on the blockchain? - and what (if any), are the data size limitations (and how to workaround data size restrictions?)

**Tags:** blockchain, storage

> **Comments:**
> **username_1**: The best practice is to not do it. It burdens the entire network for no gain but your own (and possibly the miner). Not to mention it's incredibly inefficient.  
> **username_2**: +1 don't do this on bitcoin blockchain. You can use namecoin / other blockchains which has similar purpose  

---

## 3 answers

### Answer by username_5 on 2016-05-15. Score: 3 | Accepted answer

OP\_RETURN is meant to store extra data on the blockchain. As fees are per kbyte, you'll be paying more fee.

Remember that block size is limited (1MB now every 10 minutes, but growing) and fees are expected to go up quite a bit, so if your application needs to be able to scale, you really need to do some calculations whether yours is a viable solution at all (in general: it should be much cheaper and easier to store extra data yourself, instead of burdening the whole world with it).

> **Comments:**
> **username_6**: I agree.  At most, you'd want to limit what you store with OP_RETURN to just an ID or hash that links into your own data storage system.  
> **username_0**: This is what I (as a complete and utter blockchain noobie), was thinking of doing - but I wanted to find out what those with more experience thought first  

---

### Answer by username_3 on 2016-05-17. Score: 0

It's not practical to store anything more than a hash on the BTC blockchain. The hash can be used to prove that the owner of an address agrees with something (e.g. a document's contents). It's just as effective as a digital signature though.


---

### Answer by username_4 on 2016-05-18. Score: 0

You could store something in a DHT or IPFS, and write its address(a hash) in the blockchain for retrieval in the future. The downside of this is that the storage of the full data set is not handled by the blockchain, but the data that is served later can at least be checked via the hash.

> **Comments:**
> **username_0**: Thanks for your answer, but I don't know what DHT or IPFS. Care to shed some more light (a Google search brings up a chemical compound for DHT)  
> **username_4**: DHT stands for Distributed Hash Table. Data is spread across a set of nodes and made retrievable via a hash of the data. Kademlia is a very popular implementation.  

---

