Hey there. That's a good question. every connecting computer has its own little database (you can find it in ยด~/.ssb`), so you won't be downloading everything from every user ever. as you follow more people and post more things yourself you'll start growing your database, that's true. The solution for some people (using desktop clients) has been to remove old files from their blobs folder from time to time. the blobs folder is a collection of attachments and files that your computer requested from the network after receiving messages containing them.
Some others prefer lower hops counts. In Patchbay you can set the number of hops (explanation here). The default in most cases is 3.
I've been fairly active, follow a nice bunch of people and post regularly. Including cached content my database is currently 9gb. I have not ever wiped blobs or truncated things in any way. So I guess it's okay so far ;)
@harold Offline first. I am reading and responing to this post while offline. The next time I have network, the message will go out, and maybe you'll see it.
Ok, great. Thanks for the answer!
I'm actually using this as an app - Multiverse.I actually thought about some more and (I think) I figured out why every message is kept cryptograpically chained.
Since it uses a gossip protocol where peers sends updates of other peers it needs to verify the latest messages are valid and are a continuation of all the previous ones.
Oh, it seems that your question was not about why we store all the messages written by a followed person, but about why the reference to a previous message is signed. AFAIK, the order on the set of all messages written by a person is imposed to optimize download. Assume that a person X wants to download new messages from Y.
- If there is no order, X needs to transmit the identifiers of all messages that X has (this set may be big), then Y transmits messages that are not in this set.
- If there is an order determined from serial numbers (or timestamps), X transmits the serial number of the last messages that X has, then Y transmit messages that has greater serial numbers.
I hope that this helps.