@cft Topological sort is for sure desired, but to disambiguate situations like the one Dominic pointed out, when the topological sort doesn't see a rank difference between two nodes, you can use the message's timestamp. Of course timestamps aren't authoritative because each peer can choose whatever they want for the timestamp, but when the topo sort isn't enough, they provide valuable information for the sort. It's not interesting for the paper, but it's surely important in the library to improve user experience.