I havn't had a chance to read everything yet but I noticed this:
Sorting elements that obey partial order can be done with a topological sort algorithm that assigns to each element a rank. We will make use of the rank, which is an integer value, to reflect logical time: elements that are concurrent are ranked identically while a happened-immediately-before relationship
results in a rank difference of exactly one. In Figure 3, arrows show this “happened-immediately-before” relationship. The result can be represented as a sequence of sets {D,E}{B,C}{A}{F} where each set contains concurrent events
Technically speaking, this is a perfectly valid topo sort, but I'm not sure it's really the best answer. Strictly speaking, any rank 0,1,2 is a valid topo sort for C.
A hash pointer isn't "happened immediately before" it means "happened sometime before"
But if this method is scalable and still eventually consistent then maybe that's more important.