Никто не ответил, поэтому я предлагаю свои соображения.
Мы используем случайные UUID для идентификации объектов в пределах четких границ системы. Хотя UUID представлены 128 битами, может быть только 2^121 случайных UUID, потому что версия (4 бита) и вариант (3 бита) являются константами. (На самом деле вариант 4 позволяет использовать один дополнительный бит и для педантичности, который можно добавить в 121.)
Я знаю, что мы никогда не будем использовать версии 1, 2, 3 и 5. К сожалению, оставшихся 11 (16 - 5) номеров версий в RFC.
Я решил разрешить использовать UUID версии 1 и вариант 0100 как частные (или локальные). Я зарезервировал 4 бита для моего собственного подтипа, который оставляет мне достаточно 117 бит на подтип для моего собственного использования. Для нескольких подсистем с детерминированными идентификаторами я могу теперь создавать UUID, которые вписываются в структуры, которые я использую.
Я полностью отдаю себе отчет в том, что эти идентификаторы могут теоретически сталкиваться с генерируемыми извне UUID. Но поскольку границы системы ясны и внешние идентификаторы рассматриваются отдельно, этот подход подходит нам и практически осуществим.