Has this mechanism for selecting validators been proposed and/or implemented in any distributed ledgers?
Validators pre-commit hash chains of length w. When creating a block, validators commit the pre-image to the current hash in their hash chain, and combines it with the random number Selector, hash(x) ⊕ Selector. This random number selects the next validator.