I guess one answer is you only NEED to put things on chain when you need a consensus as to their timing. If you need consensus on when a piece of data appeared, you only need to put its hash. But I don't think we're always going to be that conservative, especially since the amount that humans can type is staying steady while the cost of storing and transmitting the things they type is always rapidly decreasing. At some point we're going to say, yes it'd cost a whole $0.00001 to put this on the chain and only $0.000001 to store it off-chain, but it's not worth maintaining such a complicated system to save the $0.000009.
I mean consider, the sender has to pay every time to send internet packets, vs you only need to pay to send the data once to put it on Usenet or FidoNet. We don't of course though have very many hybrid systems where the packets you get over the internet are just the location of Usenet posts so you can look up the data. Writing a system like that would be hellishly complicated, and then it'd be far less dependable, so it wouldn't be worth it at all. At some point it gets to be like that, first for text posts and then for images and then for videos, where the cost of bridging to the legacy system is higher than the cost of putting it on the chain.
It's also about trust and agreement. Is it technically cheaper to store something off-chain, sure. But who can you trust to commit to paying that lower cost? In practice powping can disappear and take our posts with it, because in practice our agreement is just that powping will pay those lower costs for as long as they feel like it.
You could try to form a broader agreement where there's various servers who agree to keep copies of the data available, and they all try to agree on what's the latest valid version of the data, so you can get the data from any of them, but then they'll need a way to agree on who can add how much data at once so the system doesn't get flooded, and we'd want servers to be able to come in and drop out instead of having to have a permanent registry so maybe we could have them self-validate by solving hash puzzles.... oops, reinvented BItcoin, and we already have one of those, so we could just use that.
I guess one answer is you only NEED to put things on chain when you need a consensus as to their timing. If you need consensus on when a piece of data appeared, you only need to put its hash. But I don't think we're always going to be that conservative, especially since the amount that humans can type is staying steady while the cost of storing and transmitting the things they type is always rapidly decreasing. At some point we're going to say, yes it'd cost a whole $0.00001 to put this on the chain and only $0.000001 to store it off-chain, but it's not worth maintaining such a complicated system to save the $0.000009.
I mean consider, the sender has to pay every time to send internet packets, vs you only need to pay to send the data once to put it on Usenet or FidoNet. We don't of course though have very many hybrid systems where the packets you get over the internet are just the location of Usenet posts so you can look up the data. Writing a system like that would be hellishly complicated, and then it'd be far less dependable, so it wouldn't be worth it at all. At some point it gets to be like that, first for text posts and then for images and then for videos, where the cost of bridging to the legacy system is higher than the cost of putting it on the chain.
It's also about trust and agreement. Is it technically cheaper to store something off-chain, sure. But who can you trust to commit to paying that lower cost? In practice powping can disappear and take our posts with it, because in practice our agreement is just that powping will pay those lower costs for as long as they feel like it.
You could try to form a broader agreement where there's various servers who agree to keep copies of the data available, and they all try to agree on what's the latest valid version of the data, so you can get the data from any of them, but then they'll need a way to agree on who can add how much data at once so the system doesn't get flooded, and we'd want servers to be able to come in and drop out instead of having to have a permanent registry so maybe we could have them self-validate by solving hash puzzles.... oops, reinvented BItcoin, and we already have one of those, so we could just use that.