Quantum mechanics reveals that although the universe appears predictable and organized, it is actually built upon a foundation of unpredictability and probability. This peculiar quantum world can be understood and harnessed for technological advancements such as semiconductors, LEDs, and quantum cryptography. Similarly, the concept of randomness in the metaverse follows a similar pattern. While it may seem like a system based on random values generated by random number generators (RNGs), it is actually rooted in programs with underlying methods that can be comprehended and utilized, for better or worse.
Random numbers play a crucial role in various applications, including games, security systems, decentralized autonomous organization (DAO) governance, and non-fungible token (NFT) generation. Without access to randomly generated numbers, games would become repetitive and uninteresting. Inadequate security systems reliant on easily guessable authentication codes offer little protection. Any system that requires diversity but lacks it will undoubtedly be ineffective.
Even when these systems may not appear random, they rely on the supply of randomly generated values to perform essential operations. Without access to randomness, well-designed systems cannot function properly. However, the random numbers that these systems depend on are not always as random as they appear.
Many RNGs are, in fact, Pseudo RNGs (PRNGs). Instead of producing truly random outputs, they generate results based on fixed equations. The output value is derived from running a starting value, often referred to as a “seed,” through this equation. The resulting output is then used as a new seed, and the process repeats. Although the outcome is not truly random, it can deceive external observers into perceiving it as random.
For many applications, this level of randomness is sufficient. True randomness is not necessary for every situation. For example, in a video game with random encounters, there may only be a limited number of actions the game can take at any given time. A PRNG that generates values within a specific range is usually adequate. When the stakes are low, technical requirements often align. However, the quality of PRNGs can vary significantly, which can be problematic for applications with higher stakes, a large user base, or diverse use cases.
Some PRNGs rely on simple equations that can repeat themselves after a short period of time, leading to predictability. Others can be influenced by external factors, making them susceptible to tampering. Furthermore, many PRNGs do not offer a way to verify if the generated number is the intended value. This lack of verification opens the door to tampering and can result in accusations from users that applications utilizing these numbers are manipulated by biased outputs.
Although verifying the authenticity of seemingly random numbers produced by an RNG may seem trivial, it is a matter of great importance. The ethos of many blockchain systems is built on transparency and trustlessness. The inability to confirm whether a given number was genuinely produced at random undermines these core principles. When these numbers play a role in activities such as game winnings or security reinforcement, the inability to prove their integrity can significantly impact community confidence.
Furthermore, not every PRNG is suitable for every application. Some are specifically designed for certain Web3 functions and cannot be universally applied.
While true randomness is desirable, systems that provide it often have their own shortcomings. They are frequently highly centralized, making them susceptible to tampering by anyone with access to the system. True randomness also tends to come at a higher cost compared to services provided by quality PRNGs. Additionally, the reliance on centralization means that if anything goes wrong, the entire system experiences downtime.
In order to ensure the reliability and security of applications, it is crucial to use an RNG that meets the specific decentralization, verification, and security needs of the application. The collapse of Axie Infinity due to a security breach serves as a stark reminder of the consequences of technical failures, even for the most popular and well-established applications. Given the critical role of RNGs in these applications, it is essential to select the most suitable one for the task at hand.
The ideal RNG would possess qualities such as unpredictability, resistance to tampering, verifiability, decentralization, and continuous availability. When choosing an RNG, it is important to consider the following questions: Does it provide sufficient randomness? Can the generated outputs be verified? Is it secure against tampering? Is it decentralized to avoid single points of failure?
As blockchain developers continue to expand their vision, push the boundaries of their applications, and provide more opportunities for public engagement with the technology, it is crucial to ensure the availability of the best possible support for these applications.
Felix Xu, a crypto enthusiast, early adopter, and NFT collector, graduated from NYU Stern and founded two crypto projects, ARPA and Bella Protocol, both among the global top 500 by market cap. Felix’s previous work experience includes positions at Fosun Investment, the Sackler family office, and Vertical Research in New York and Beijing. In addition, Felix has been featured in publications such as the Wall Street Journal and The New York Times for his NFT collection.
This article is intended for general informational purposes only and should not be construed as legal or investment advice. The views, thoughts, and opinions expressed here are solely those of the author and do not necessarily reflect or represent the views and opinions of Cointelegraph.