"Furthermore, honest participants will have picked their addresses uniformly at random, so the process of sorting automatically constructs a random permutation between these participants (dishonest participants must be excluded, since they can generate addresses from a skewed probability distributions)."
Wait... how do we exclude dishonest participants? We're trying to exchange bitcoins with random strangers on the internet here.