I would not do it on bytes, but a slightly higher unit. On bytes might make the cost unnecessarily small when store cost is lowest
For example 128 bytes, or 256 byte or 512 bytes or 1K etc.
I might suggest 512 byte similar to traditional unix/HD sector size, or 4K that windows/modern HD block uses
EDIT: @mav also there has to be a cost for the work to be done by the network to store the data.
So my suggestion is that there is a component for overheads and a component depending on size.
For a 1MB chunk the store cost might be 0.00001
Now maybe we decide 1/2 the cost is overheads and the rest dependent on size
- 500K stored might be 0.000005 overhead and 0.0000025 for data size.
- 100K stored might be 0.000005 overhead and 0.0000005 for data size.
If store cost of 1MB is 0.01 then 500K cost is 0.005+0.0025 and 100K is 0.005+0.001