Automata Docs
  • Understanding Automata
    • What is Automata?
      • TEE Coprocessor
      • Proof of Machinehood
        • Optimistic Attestation
        • Zero Knowledge Proof
        • Modular Trust
    • Key terms
  • TEE Overview
    • TEE Prover
    • Multi-Prover AVS (EigenLayer)
      • Operator guide
        • Installation
        • Deposit strategies
        • Opt in to run AVS
        • FAQ
    • TEE Compile
      • Getting Started
      • Vendorizing
      • Attestation Report
    • TEE Builder
      • Block Builder Architecture
      • Stateless Executor
    • Verifiable Random Function
      • Why Automata VRF
      • How does Automata VRF work
      • Attestation
  • Build with PoM
    • Introduction
      • Smart contract libraries
      • Attestations on Verax
      • Frequently asked questions
    • Attestation module
      • Machine Attestation
        • Intel SGX
        • AWS Nitro Enclaves
        • Miscellaneous
      • Device Attestation
        • Yubikey
        • Andriod
        • Apple
        • Windows
        • FIDO U2F Authenticator
      • WebAuthn Attestation
        • WebAuthn Attestation Types
        • Attestation Statements & Privacy Impacts
  • Backed by PoM
    • 1RPC
    • L2Faucet
      • Frequently asked questions
  • Protocol
    • App-Specific Rollup
    • Mainnet
    • Testnet
    • Bridge
      • Bridging Native Tokens from L1 to L2
      • Bridging Native Tokens from L2 to L1
    • Explorer
    • Specification
      • Attestation
      • Attestor
      • Smart Contract
  • Research
    • Account Abstraction
    • Decentralized Randomness
    • Maximal Extractable Value
    • Reproducible Build
    • Lightpaper
Powered by GitBook
On this page
  • Introduction
  • How it works
  • How Automata uses Drand
  • References

Was this helpful?

  1. Research

Decentralized Randomness

PreviousAccount AbstractionNextMaximal Extractable Value

Last updated 1 year ago

Was this helpful?

Introduction

Randomness is a cornerstone in various aspects of modern civilization, from voting systems to financial services. The most significant application of randomness is in the realm of cryptography. Over the years, several systems have attempted to provide robust randomness, but many have fallen short in various ways. , a distributed randomness beacon, aims to address these shortcomings by creating a decentralized random number generator that is unpredictable, publicly-verifiable, bias-resistant, always available, and decentralized.

How it works

Overview

  • The Drand network consists of nodes that run the Drand protocol. Before generating random numbers, these nodes agree on a threshold parameter.

  • Each node creates a signature. Random numbers are generated by nodes broadcasting a part of their signature to the rest of the network.

  • Nodes wait and collect these signatures until they have enough to match the threshold parameter. Once matched, a node can create the final signature, which is then hashed to produce the randomness.

Public Randomness

  • Generating public randomness is Drand's primary function. This randomness is collectively generated by drand nodes and made publicly available.

  • A Drand randomness beacon consists of two phases:

    • Setup: Each network uses a long-term public/private key pair. All public keys are written to a group file with other necessary metadata. After distributing this group file, nodes perform a distributed key generation (DKG) protocol to create a collective public key and a private key share for each server.

    • Generation: After setup, the network switches to randomness generation mode. Any node can initiate a randomness generation round by broadcasting a message. All other participants sign this message. Once a node (or third-party observer) has gathered enough partial signatures, it can reconstruct the full signature, which is then hashed to produce the collective random value.

How Automata uses Drand

References

Leveraging Drand's decentralized and publicly-verifiable, Automata builds a VRF project to generates verifiable random numbers that can be easily integrated into dApps. This project runs in TEE(trusted executed environment), and uses Drand as one factor for the hardware-based unpredictable and verifiable random number. Learn more in .

, a distributed randomness beacon daemon

elliptic curve

Drand
Automata VRF
Drand
BLS12-381
Automata VRF