Removing (mandatory?) timestamps
In a few threads recently people have suggested that logging timestamps on a message may be a problem squatconf-feedback traveler-control-of-info-release
In this thread I will discuss the practical implications of timestamps.
- clients are currently programmed to demand timestamps that monotonically increase within a feed. clients will reject a new message that does not have acceptable timestamps.
- timestamps are not particularly reliable this post had a timestamp 12 hours ahead
Removing timestamps
Removing would be a breaking change to feeds, and timestamps would be a pretty small thing, so i'd be reluctant to do that without also fixing other stuff. (this would also be bundled with fixing the encoding - turns out node@<6 used binary encoding as default for hashes of strings, instead of utf8, which gives a different hash for non-ascii strings)
resisting timing attacks
The main reason for removing timestamps would be to resist timing attacks, say, to figure out who is communicating with who. However, removing timestamps isn't enough to show there isn't information available through timing, to show we can resist this, we need to actually make timing models and timing attacks, and then resist those.
lie about timestamps
Timestamps only have to be monotonically increasing. instead of removing timestamps, you could have your timestamps increase by 1 ms each post. This would still be compatible with current ssb, but wouldn't otherwise tell you much. But that still wouldn't give us the ability to say that we don't have timing attacks.
Uses of timestamps
I think that timestamps are fairly useful, I often look at the time to see if that message is from today, etc, to interpret someone's post, knowing when they created it is very valuable context...
detecting sybils
I should also mention why I originally included timestamps, my main motivation is because I hoped we could use them for sybil detection, again, like timing attacks, really showing this to be true would require some model building that hasn't been done yet, but the basic idea would be to take replies as proof that message preceded your message. If I trust my own timestamps, and I reply to a message that you just posted, it's like I signed your timestamp. If we had a volley of replies back and forth, we'd know that at least in those instances timestamps where roughly correct. However, if someone generated a bunch of sock puppets, and tried to make them look old by having them post lots of messages with old timestamps, you'd see there wasn't an old path to them from someone you know into the sybils, there might a recent message though. basically, you could estimate how old those messages really where.