4 ms·
With SSB (context: https://ssb.nz https://ssb.nz), most of those few GB are blobs — arbitrary files, like email attachments. They aren't needed to confirm that
by grey_earthling 6y ago
With SSB (context: https://ssb.nz https://ssb.nz), most of those few GB are blobs — arbitrary files, like email attachments. They aren't needed to confirm that the feed is complete, and clients can choose whether to download them.
SSB downloads the whole feed so it can guarantee that a peer hasn't maliciously withheld certain previous messages from the feed.
I guess (waves hand vaguely) that constraint probably isn't relevant for version control, because subsequent commits would fail to apply…? Not sure. But if you're only interested in recent history, you could probably do something like a shallow clone.
- jhardy54 6y ago+1, SSB is basically Git with the constraint that each commit only has one child (no branches) and instead of a tree you can publish arbitrary JSON. Shallow clones are completely possible, it's just that the reference implementation demands the full chain for verification.
- MayeulC 6y agoWhat is the rationale for making them part of the chain, instead of just making their hashes part of that chain, like with git LFS? This way, you would know about all the messages and blobs, but only download those you want, and match their content against the hash. Of course, this comes with less replication, therefore less availability.