1. Blog
  2. News


Public randomness plays a crucial role in many security protocols. Beyond practical applications like gambling games, randomness adds an element of excitement to various endeavors. In other applications, randomness provides a fair way to distribute resources, from green cards and assigning court judges to drawing lots for sports tournaments. It's also used to allocate negative resources, such as tax audits or airport security checks.

In the past, we relied on authorities to generate randomness for these protocols, but in the web3 world, we need to do better.

Generating random numbers is an extremely delicate task. For example, many cryptographic keys have been compromised because they relied on an unreliable random number generator (Cloudflare's use of lava lamps as a creative measure is a response to this). However, that's just private randomness - although it's sufficient for Cloudflare as they create their own protocol, for the widely connected Web3 environment, we need a more efficient method, that's public randomness.

Public randomness, on the other hand, is a multi-party process, significantly increasing complexity. A good protocol for generating public randomness will have the following security properties:

Unbiased: There should be no bias in the output towards any attacker or coalition of attackers. Trustworthy: No attacker should be able to prevent the protocol from producing a result. Verifiable: Anyone should be able to easily verify the protocol's result, and everyone should see the same result. Unpredictable: If the protocol produces an output at time T1, no one should be able to predict anything about the output before a time T0 < T1, ideally with T0 very close to T1.

The Importance of Randomness for Web3

When we think of blockchain games, NFT projects, or digital art, they might not consider the importance of randomness in determining outcomes. Whether it's determining the location of assets in a virtual world, adding variation to a generative art algorithm, creating the contents of a loot box, issuing NFTs, distributing rewards to winners, verifying event tickets, or periodically determining which DAO participants are selected for a specific governance role, Web3 applications all require a secure source of randomness to produce fair, public, and unpredictable outcomes.

These systems can generate significant real-world value, but outcomes exploited from suboptimal random solutions can lead to information imbalances and unfair advantages for a small subset of participants. Such situations often create negative feedback loops leading to power imbalances in interactions and ultimately the failure of economic mechanisms and game theory designed to facilitate economic activity and social coordination.

Creating an untamperable, unpredictable, and verifiable source of randomness accessible to all participants is not an easy task. However, the desire for fairness and transparency in the Web3 industry has led to many prominent applications and protocols compared to their Web2 counterparts. The ability to access a fair and unbiased source of randomness that can be publicly verified opens up a range of new use cases in blockchain gaming, NFTs, decentralized governance, Web3 social media, fundraising and philanthropy, social tokens, and beyond.

Published on May 11, 2024

Tagged topics

share iconShare