Quantum mechanics tells us that what looks like a highly predictable and orderly universe is built on a world of unpredictability and mere probability. While the quantum world looks bizarre, it can be understood and even harnessed for technology like semiconductors, LEDs, and quantum cryptography. Something similar can be said about randomness in the metaverse. What looks like a system built on random values produced by random number generators (RNGs) is, in fact, based on programs with a method behind them that can be understood — for good or ill.
The pivotal role of random numbers
Random numbers are of great importance in a number of applications, including games, security systems, decentralized autonomous organization (DAO) governance, and nonfungible token (NFT) generation. If your game cannot access randomly generated numbers, your starts will become repetitive and stale. If your security system relies on easily guessed authentication codes, it isn’t providing much security. If any system that needs variety isn’t getting it, it won’t be very effective.
Even if these systems don’t look random, they rely on being supplied with randomly generated values to execute important operations. Without access to randomness, well-planned systems can’t operate. However, the random numbers these systems rely on are not always as random as they may seem.
Many RNGs are, in fact, Pseudo RNGs (PRNGs). Instead of producing random outputs, they are providing the results of a fixed equation. The output value results from running a starting value, often called a “seed,” through this equation. The output is then used as a new seed, and the process starts again. While the outcome isn’t random, it can certainly appear random to an outside observer.
For many applications, this is effective. True randomness is not required in every application. In a video game with random encounters, for example, there may only be a limited number of actions the game can take at any given time. A PRNG that provides values outside a given scope isn’t going to be of much use. When the stakes are low, technical requirements often match. However, the quality of a PRNG can vary dramatically. This can be an issue for applications with higher stakes, many people depending on them, or a variety of use cases.
Some PRNGs rely on simple equations which can repeat themselves after a short period of time. This repetition breeds predictability. Others can be influenced by outside…