Verified randomness -- what is it and why does it matter? [Q&A]
Much of the online world relies on things being random. Gamers trust that their players re-spawn at completely random locations, similarly, gamblers trust that online slot machines are giving them random outcomes.
Ensuring things are properly random is also important for things like decentralized finance and blockchain transactions. But how can you be sure that something is properly random?
We spoke with Yemu Xu, co-founder of ARPA, to discover how Random Number Generators (RNGs) are used to ensure fairness across various industries, why it matters, and what's missing.
BN: What is 'verified randomness'?
YX: 'Verified randomness' refers to the generation of random numbers or values in a way that can be publicly and independently verified, in order to be genuinely random and untampered. It's relevant to many cryptographic processes and distributed systems. In these systems, random numbers or values are often needed for various operations, such as choosing a leader in consensus protocols, generating cryptographic keys, or determining the outcomes in on-chain games and lotteries.
BN: Why are 'pseudo' random number generators not adequate?
YX: Pseudo-Random Number Generators (PRNGs) are algorithms that use deterministic processes to produce sequences of numbers that appear random -- but in actuality are not. This gives users the false impression that something is random, when in fact, the outcome may already be pre-determined. While PRNGs have many practical applications and can produce numbers that pass various tests for statistical randomness, they have several characteristics that make them inadequate for certain applications, especially in the realms of cryptography and blockchain.
Firstly, their deterministic nature means they're predictable, making them unsuitable for tasks requiring genuine unpredictability -- like cryptographic key generation. Secondly, if an attacker discerns a PRNG's internal state, they can predict its future outputs, posing a significant security risk. Lastly, PRNGs aren't truly random; their deterministic foundation means they lack the genuine randomness needed in high-stakes or cryptographic scenarios.
BN: Why does randomness matter?
YX: Like the physical world, where the whole universe is built upon random motions of molecules, random numbers are ubiquitous and essential in the Metaverse. From the infrastructure -- blockchain POS mechanism for distributing validator responsibilities to various applications -- NFT allocation, lottery draws, and fairness ensured by randomness is the basis of all rules.
BN: What areas of our digital world does randomness affect?
YX: Randomness plays a pivotal role in various facets of our digital world. It's the backbone of cryptographic systems, ensuring data encryption, secure key generation, and the integrity of digital signatures.
In blockchain technology, randomness is crucial for consensus algorithms like Proof-of-Work, where miners solve computationally difficult puzzles to add new blocks. Additionally, random number generation aids in creating unpredictable nonces (random values that are typically combined with other data to produce a unique output), which are instrumental in transaction processing. Additionally, procedural generation in video games and digital art uses randomness to develop diverse, unpredictable environments and patterns.
Overall, randomness is integral to ensuring security, optimizing processes, and fostering creativity in the digital domain.
BN: What needs to happen to secure verified randomness for the future?
YX: To secure verified randomness for the future, it's paramount that we implement robust cryptographic protocols that are resilient to potential vulnerabilities and advancements in quantum computing. The backbone of randomness in systems like ARPA's Randcast lies in their cryptographic strength - making continuous research, audits, and updates crucial. Ensuring these systems remain decentralized is also pivotal because centralization can introduce potential biases or vulnerabilities. As more digital platforms depend on randomness for fairness and authenticity, the cryptographic techniques generating this randomness must be cutting-edge and routinely vetted by the cryptographic community.
Moreover, fostering an environment of transparency and open-source development will be instrumental. Open-source approaches allow for community-wide scrutiny, ensuring that the algorithms generating randomness are secure and free from hidden biases or manipulations. Collaborative efforts among researchers, developers, and industry experts can pave the way for standards and best practices in generating verifiable randomness. By combining rigorous cryptographic research with an ethos of transparency and collaboration, we can expect randomness to remain a trusted cornerstone in our digital future.