DeRand: Decentralized, Chain-agnostic Verifiable Random Number Generator

DeRand
3 min readFeb 21, 2024

--

Random numbers play a pivotal role in web3, from use-cases in security like randomization of block validation or generation of security verifications all the way to gamification and incentive rewards.

However, generating truly random numbers has always been a challenge in web3. Existing solutions, such as Chainlink VRF and QRNG by API3, come with their own set of limitations, including limited network support and centralization concerns.

This is where DeRand is stepping in.

DeRand in a Nutshell

DeRand is a decentralized, chain-agnostic and verifiable random number generator (RNG). It leverages Pion’s (by Muon) decentralized Threshold Signature Scheme to generate verifiable random numbers for smart contracts on any blockchain. Pion/Muon is a stateless and chain-independent oracle network that “enables dApps to decentralize the off-chain components”.

Core Features

  1. Chain-Agnostic Design:
    DeRand is built atop the Pion network. It generates random seeds in a decentralized manner off-chain, using Pion’s TSS network. This unique approach allows DeRand to function seamlessly across both EVM and non-EVM blockchains.
  2. Cost Efficient:
    DeRand is free; dApps only need to pay the blockchain gas fee and the Pion network’s fee which is very low.
  3. Easy Implementation:
    DeRand ensures an effortless transition for developers with smart contract libraries and a protocol structure that aligns with existing VRF platforms, requiring minimal code alterations.
  4. Decentralized and Censorship-Resistant:
    With over 1,600 unique nodes in the Pion network, DeRand epitomizes decentralization. The random seed is produced and authenticated by a randomly rotating subset of these nodes, ensuring robust resistance to censorship.
  5. Permissionless, Modular & Flexible:
    DeRand’s modular design empowers various entities to operate different protocol segments, eliminating any central point of control.

Building Blocks

DeRand is composed of three interactive components:

  • Coordinator Contracts: To request random numbers, dApps should call a function on these smart contracts.
  • DeRand’s MuonApp: The MuonApp generates a secure and verifiable random seed for each request. The random seed is a TSS signature of a unique message signed by the Pion’s TSS network.
  • Executors: These are nodes that monitor Coordinator contracts across various chains, triggering the random number generation process and fulfilling the requests.

NB: DeRand has deployed its Coordinator contracts for some chains and runs Executor nodes on them. For the chains that DeRand does not officially support, users can deploy their own Coordinator contracts and run their own Executor nodes.

DeRand’s Workflow

Here is DeRand’s random generation procedure:

  1. A dApp contract calls a function on the Coordinator contract to request random numbers.
  2. Executor nodes continually scan for new requests, with the fastest node responding first.
  3. The chosen executor node requests a random seed from Muon’s TSS network.
  4. This node then relays the seed and Threshold signatures to the Coordinator contract.
  5. The Coordinator contract validates these signatures, generates the random numbers using the seed, and fulfills the request by interacting with the dApp contract.

Implementation: Fully-Chainlink Compatible

DeRand is 100% compatible with ChainLink VRF contracts. The only thing that needs to be changed is the Coordinator’s address. You can find DeRand’s Coordinator address on each chain here:

The DeRand team has addressed a long-standing challenge in Web3: generating chain-independent, cost-efficient, modular, and truly permissionless random numbers.

--

--

DeRand

Decentralized, chain-agnostic, and public good verifiable random number generator.