Ну, лаааадно...

В защиту рандома скажу следующее.
С одной стороны, при последовательной нумерации "в лоб" при множестве параллельно идущих транзакций сложность запуска новой транзакции возрастает линейно, сложность запуска всех транзакций - квадратично. При использовании случайной нумерации матожидание сложности запуска новой транзакции в лучшем случае (при низкой загрузке) константно, в худшем (при высокой загрузке) - такое же, как при нумерации "в лоб".
С другой стороны, при использовании хеш-таблицы разреженность данных не имеет значения, главное, чтобы гарантировалась их равномерность в кольце по модулю числа корзин. Случайная генерация этому требованию удовлетворяет. Последовательные числа, на самом деле, тоже.