<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://derand.org/blog</id>
    <title>DeRand Labs Blog</title>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://derand.org/blog"/>
    <subtitle>DeRand Labs Blog</subtitle>
    <icon>https://derand.org/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[The Illusion of Randomness]]></title>
        <id>https://derand.org/blog/the-illusion-of-randomness-2026-06-10</id>
        <link href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Randomness is one of the most difficult problems in blockchain systems.]]></summary>
        <content type="html"><![CDATA[<p>Randomness is one of the most difficult problems in blockchain systems.</p>
<!-- -->
<p>At first glance, generating a random number appears trivial. Every programming language provides random functions. Every operating system exposes entropy sources. Most applications rely on randomness without giving it much thought.</p>
<p>Blockchains are different.</p>
<p>A blockchain is fundamentally deterministic. Every node must execute the same computation and arrive at the same result. If two honest nodes produce different outputs, consensus breaks.</p>
<p>This creates an unusual challenge:</p>
<blockquote>
<p>How can a deterministic system produce a value that nobody can predict?</p>
</blockquote>
<p>Yet randomness is required everywhere:</p>
<ul>
<li class="">Lotteries need randomness to select winners.</li>
<li class="">Games need randomness to determine outcomes.</li>
<li class="">NFT projects need randomness for fair trait assignment.</li>
<li class="">Protocols need randomness for validator selection, committee selection, reward distribution, and many other mechanisms.</li>
</ul>
<p>Without a trustworthy source of randomness, all of these systems become vulnerable to manipulation.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-secret-based-approach">The Secret-Based Approach<a href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10#the-secret-based-approach" class="hash-link" aria-label="Direct link to The Secret-Based Approach" title="Direct link to The Secret-Based Approach" translate="no">​</a></h2>
<p>Most existing randomness systems solve this problem by introducing a secret.</p>
<p>Instead of relying entirely on public information, they combine a public seed with information known only to one or more providers. As long as the secret remains unknown, the output remains unpredictable.</p>
<p>This idea has proven extremely successful. VRFs, commit-reveal schemes, threshold networks, and many oracle-based randomness systems all rely on some variation of this approach. These systems are not broken; many are backed by strong cryptographic assumptions and have operated securely in production for years.</p>
<p>However, they all share a common property:</p>
<blockquote>
<p>Someone knows something that everyone else does not.</p>
</blockquote>
<p>Some systems distribute trust across many participants. Others rely on a single provider. Some use economic incentives to discourage malicious behavior. But ultimately, randomness still depends on parties that possess privileged information.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-early-knowledge-problem">The Early Knowledge Problem<a href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10#the-early-knowledge-problem" class="hash-link" aria-label="Direct link to The Early Knowledge Problem" title="Direct link to The Early Knowledge Problem" translate="no">​</a></h2>
<p>Whenever randomness depends on a secret, there is typically a period of time during which someone can compute the outcome before everyone else.</p>
<p>The provider knows the secret. Everyone else does not. As a result, one party may learn the answer first.</p>
<p>In many applications this may not matter. In others it can create meaningful advantages. The larger the economic value protected by the randomness, the more valuable this informational asymmetry becomes. Whether it can actually be exploited depends on the surrounding protocol.</p>
<p>Nevertheless, one important fact remains:</p>
<blockquote>
<p>Someone may know the outcome while everyone else is still waiting.</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-early-knowledge-influences-seed-formation">When Early Knowledge Influences Seed Formation<a href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10#when-early-knowledge-influences-seed-formation" class="hash-link" aria-label="Direct link to When Early Knowledge Influences Seed Formation" title="Direct link to When Early Knowledge Influences Seed Formation" translate="no">​</a></h2>
<p>The more subtle issue appears when the seed itself is still being formed.</p>
<p>Consider a lottery. Suppose ticket sales remain open until block N. After ticket sales close, a randomness request will be generated and resolved at some later point. The final random value will depend on both the seed and a secret known by the randomness provider.</p>
<p>Now imagine the provider expects that it may be selected to serve the future randomness request. Because the provider already knows its secret, it can evaluate many possible future seeds before the seed becomes final.</p>
<p>It can ask questions such as:</p>
<ul>
<li class="">What happens if I buy one more ticket with number X?</li>
<li class="">What happens if I buy from a different account?</li>
<li class="">What happens if I submit another transaction before block N?</li>
<li class="">What happens if the participant list changes in a particular way?</li>
</ul>
<p>For every hypothetical seed, the provider can simulate the corresponding random outcome. Most of those outcomes may be useless. Some may not.</p>
<p>Suppose one particular sequence of actions produces a future outcome where the provider wins a massive jackpot. The provider now has information that nobody else possesses. Instead of interacting blindly with the system, it can make decisions using knowledge of how those actions affect the eventual randomness.</p>
<p>The important observation is more fundamental:</p>
<blockquote>
<p>Early knowledge transforms seed formation from a blind process into an informed one.</p>
</blockquote>
<p>The provider is no longer merely observing the system. It may be able to evaluate and optimize actions before the randomness becomes final. As the value protected by the randomness increases, the incentive to do so increases as well.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-liveness-problem">The Liveness Problem<a href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10#the-liveness-problem" class="hash-link" aria-label="Direct link to The Liveness Problem" title="Direct link to The Liveness Problem" translate="no">​</a></h2>
<p>A second challenge appears whenever randomness depends on a secret. If the holder of that secret refuses to reveal it, the randomness cannot be completed.</p>
<p>Most production systems address this through fallback mechanisms. Another provider may take over. A timeout may occur. A backup path may be executed.</p>
<p>These mechanisms improve availability. However, they often introduce an important side effect: <strong>The final random value may change because the underlying secret changed.</strong></p>
<p>The randomness becomes dependent not only on the request itself, but also on which provider ultimately completes the request. It highlights an inherent vulnerability of traditional architectural designs:</p>
<blockquote>
<p>The result depends on information supplied by privileged participants.</p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-a-strong-randomness-system-demands">What a Strong Randomness System Demands<a href="https://derand.org/blog/the-illusion-of-randomness-2026-06-10#what-a-strong-randomness-system-demands" class="hash-link" aria-label="Direct link to What a Strong Randomness System Demands" title="Direct link to What a Strong Randomness System Demands" translate="no">​</a></h2>
<p>To overcome these structural flaws, a truly robust randomness system must shift from trusting human secrecy to relying on immutable mathematical laws. A strong, manipulation-resistant protocol requires three core pillars:</p>
<ul>
<li class=""><strong>Zero Secrets:</strong> The entire process must be fully public. No party should hold privileged information or private keys that allow them to calculate the outcome ahead of the network.</li>
<li class=""><strong>Provider-Agnostic Output:</strong> The final random value must depend strictly on the request, not the provider. If a node fails, anyone else can complete the computation without changing the outcome.</li>
</ul>
<p>Ultimately, secure randomness should not rely on economic incentives or the honesty of secret-holders.</p>]]></content>
        <category label="Story" term="Story"/>
    </entry>
</feed>