drand — distributed randomness beacon
Speed
Output
Art
Trace
Debug
Time --:--:--
Round —
Tick —
Bits used —
    drand

    Distributed Randomness Beacon

    drand is a publicly verifiable, bias-resistant randomness beacon run by the League of Entropy — an open consortium of independent organizations including EPFL, Protocol Labs, Cloudflare, the Ethereum Foundation, the University of Chile, ChainSafe, and others. No single member can influence or predict the output; all must be compromised simultaneously for the system to fail.

    BLS Threshold Signatures & Shamir's Secret Sharing

    The group's private key is never held by any single node. Instead, a Distributed Key Generation (DKG) ceremony based on Shamir's Secret Sharing splits it into shares: each node holds a polynomial share, and at least t shares must cooperate to produce a valid signature. From those shares, each participating node computes a partial BLS (Boneh–Lynn–Shacham) signature over the current round number. Once t partials are aggregated, the result is the unique group signature — verifiable by anyone against the publicly published group public key. No individual node ever reconstructs the full private key; if fewer than t nodes collude, no signature and no prediction is possible. The group signature is hashed with SHA-256 to yield 32 bytes (256 bits) of randomness.

    Quicknet Network

    This site uses drand's quicknet chain, operational since 2 July 2023: a new beacon every 3 seconds, around the clock without interruption. It uses an unchained scheme so each beacon is fully independent of its predecessors. BLS signatures are computed on the smaller G1 group for speed. The round number, randomness value, and signature are all public — anyone can verify any beacon against the published group public key at any time.

    Randomness Quality

    Each beacon provides 256 bits of cryptographically secure uniform randomness — indistinguishable from true randomness to any computationally bounded adversary. It is unpredictable (no one knows future beacons before they are produced), unbiasable (no participant can steer the output without being detected), and publicly verifiable (the proof is the signature itself).

    How This Site Uses It

    Beacons are fetched from the drand HTTP API after a short delay (~6 s) to ensure the value is available from all relay nodes. Every animation cycle is anchored to a specific beacon round: all visitors watching the same round see identical output.

    The 32-byte (256-bit) beacon value is consumed bit by bit as the primary entropy source. When more bits are needed, the stream is extended on demand by an SFC32 (Small Fast Counting) block PRNG keyed with the raw beacon bytes — no additional entropy is introduced, making the output fully deterministic and reproducible from the beacon alone.

    Drawing modes (hex, dice, cards, coins…) read bits directly from this unified stream. Art modes built on p5.js consume stream values to seed p5's built-in generators — randomSeed() for its LCG-based random(), noiseSeed() for its Perlin noise — and may also apply cascade mixing of beacon words into per-stroke or per-frame seeds. All of these generators are seeded exclusively from the same 256-bit beacon, so the visual result is always reproducible.

    ColorLisa Palettes

    Art modes select colors from 132 curated palettes extracted from famous paintings, courtesy of colorlisa.com. Each palette captures the dominant colors of a masterwork — from Monet's water lilies to Josef Albers' color studies to Van Gogh's starry night. The beacon bits select which palette drives each animation cycle.

    Browse all 132 palettes → Art credits & sources →
    Round —
    Beacon time —
    Randomness —
    Signature —