[messaging] Message order in group chat (attempt at summary)
michael at briarproject.org
Fri Apr 18 14:04:46 PDT 2014
-----BEGIN PGP SIGNED MESSAGE-----
On 18/04/14 21:42, Trevor Perrin wrote:
> * Even if we don't solve the ice-cream problem, doing (1) and
> (somehow) canonicalizing the partial order into a linear order
> still seems worthwhile, since it could detect a participant
> sending different messages to different parties...
I've probably already said too much on this subject, but here's a
suggestion for how we might display a certain kind of partial order
Each message has a predecessor pointer, which is the hash of the most
recent message received by the sender - so when there are no
collisions, the messages form a chain.
If a collision occurs, the colliding messages are indented, indicating
that they all follow the unindented message above them, rather than
following each other.
The next non-colliding message, i.e. the next message that points to
one of the colliding messages rather than their predecessor, is
There's never more than one level of indentation, so this works on
Alice: Who wants to get ice cream?
===> Alice: ...and kill the president?
===> Bob: I do!
Carol: Haha, it sort of looks like you want to kill the president,
Bob, but I can see that isn't your true intention. Let's all eat ice
cream and live happily ever after without being executed by drones
If someone inserts a message into an old part of the conversation, the
indentation works in the same way.
We could use a counter instead of pointers: each message would
increment the counter of its predecessor, and colliding messages would
have the same counter. Depends on whether the protocol has other uses
for a predecessor pointer, I guess.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the Messaging