| AFAIK a single character is 1 byte. An A4 sheet of paper is 62370 sqmm. A good printer can print a 1 sq mm character. Therefore, at a minimum you have 62370 bytes * 2, so basically 0.12 of a megabyte, which is pretty bad. However, say you store something on the piece of paper that uses the second from midnight as a translator, such that the contents mean something else, depending on which second in the day you read it. Let's also say this translation is not using a hash type function, but is completely arithmetic and the formula to do this can be stored on the back side of the sheet in its entirety. This would take the 0.12MB /2 (you're not using both sides now) and multiply that by every second of the day, until the next, so 86400 seconds * 0.06MB = about 5 gigabytes. Honestly I think you could get into the zetabytes. There are other factors you could use that I haven't considered: 1. Smell of the paper 2. Electrical charge 3. Feel of the paper (who said we're not printing in three dimensions)? 4. Taste (you could use a single piece of paper formed from different types, which have unique tastes). I think the main limitation is as you add more factors to increase the compression you increase the complexity and time in which it takes to decompress, or get the information back. I'm sure there's some sort of law on this.
Let's add in the orientation, in degrees of the piece of paper as well. Let's say you can reliably use all 360 degrees to permute the existing formula. Now you have 5 gigabytes * 360 = 1800 gigabytes. Let's just call this 2 terabytes. |
Otherwise you'd have infinite storage capacity, on any medium, which is very obviously impossible.
Why infinite? Well, there are infinite numbers. If your algorithm was just "keep applying f(i,j) by an increasing integer to get the next page of the data" then yeah you've actually just discovered infinite storage.
This is literally a compression problem, isn't it? :)
Edit: http://mathforum.org/library/drmath/view/65726.html
Something I came across a long time ago.