12

I can hardly create transactions larger than 100kiB. I am wondering, is it possible to store huge files (several MiB or GiB) on the blockchain?

If so, how?

1 Answer 1

16

No, you will have to store your data somewhere else and store the hash of this data and its location in the blockchain. You should have enough space to store it but remember the shorter your data is the less gas you need. So use URL shorteners.

Storing data into a transaction costs gas an blocks have a dynamic gas limit. You would have to make the gas limit raise by sending bigger and bigger data to force the network to adapt. But on each transaction you would be limited to a fixed amount of gas and thus a fixed amount of data. On feb 2016 the gas limit was about 3 millions, meaning a block was limited to about 89Kb of data. (see Is there a limit for transaction size? ) :

the transaction size limit currently is at around 89kB (3 million gas). But read on.

There is no direct or fixed limit neither for transaction sizes nor for block sizes. This is a strength of the Etherem network, it does scale.

That does not mean that there are no limits. There is the block gas limit of currently 3,141,592 gas which can be spent maximum per block.

As of writing, gas limit is about 4712388 gas which should limit data to about 140Kb. See https://ethstats.net/

Soon we expect some decentralized secure storage like swarm or IPFS to be easily usable.

4
  • 1
    OP is asking for is it possible to store huge files and you're saying save it somewhere else? Your answer to the question will be No, if so please support it with facts, sources etc.
    – niksmac
    Commented May 3, 2016 at 10:52
  • What if I need to let only one or a free
    – dc7a9163d9
    Commented Jun 26, 2017 at 7:14
  • What if I want only let one or a few people to access the file?
    – dc7a9163d9
    Commented Jun 26, 2017 at 7:15
  • Encrypt the file in a manner that only authorized people can decrypt it. Commented Jun 26, 2017 at 8:17

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