Well, you could do something pretty similar to what Bitcoin does. People could publish a transaction log occasionally; whenever they do, they give their transaction log a unique identifier and refer to some other transaction log as its parent. Just like with Bitcoin, a published transaction log isn't guaranteed to become permanent, but after a while, it will be clear whether the log is "in the chain" or "out of the chain".
I don't know how Bitcoin clients choose between competing blocks. The method doesn't matter too much, and there doesn't really need to be a formal method, as long as some sort of consensus can be obtained. --the Warrigal

