Yeah my amazing idea for a forum that works great is like:
1. Big Things are broken up into Little Things, each one hashed into lists of hashes to summarize it.
2. Big lists of hashes are broken up and hashed into smaller lists of hashes.
3. Eventually you got 1 root hash.
4. Your blog (every post in sequence) is a Big Thing
5. Every time you post you figure out the new Root Hash of your new blog
6. Sign the Root Hash, and share it with your friends
7. Anyone can request a Little Thing by its hash.
So if you're on a flaky network, you can just request the hashes for pieces of a blog you're missing, get as many as you can while you're online. Can push those Little Things to other people too if they'll let you. No download or upload fails, it's all eventually consistent if you keep the "exchange missing pieces" thing.
Annnd, encrypt the pieces with your public key as a symmetric key, so anyone holding them has deniability. (They need your public key before they can read them.)
So that's it. Multimedia attachments are also Big Things. The whole hash tree thing makes swarming happen just by default. Only tricky part is finding servers/supernodes to store your blog on, to make it easier to distribute.
#programming #fediverse #rant #idea