Giter Site home page Giter Site logo

randao-vdf's Introduction

randao-vdf

We are making the most secure randomness to date on ethereum.

Outline of the Solution without code

  • Black box functionaliy: we have a smart contract $R$ which takes $i$ which is a block number as input. As output, once ready, the contract stores VDF(RANDAO(Block_i)) and emits some event.

list of the components

  • Main smart contract $R$: [write from scratch + mix and match from https://github.com/paradigmxyz/zk-eth-rng/tree/main]
    • gets initial call with block number $i$ and emits RandomnessRequested event
    • Prover submits $x,\pi$, $R$
      • calls Axiom smart contract to get $RANDAO_i$
      • verifies $\pi$ is a proper proof for $x$ using $RANDAO_i$ as public witness
      • if proof verifiers stores $x$ and emits RandomnessFullfiled event
  • off-chain VDF prover: [Wesolski verifier smart contract: https://github.com/kilic/evmvdf/tree/master, Wesolski prover: https://github.com/iotaledger/vdf]
    • listening to randomness requests events --> learns block number $i$
    • takes the RANDAO$_i$, evalaued $x= VDF(RANDAO_i)$ and produces proof $\pi$ that $x= VDF(RANDAO_i)$
    • posts $x,\pi$ to contract $R$
  • Off-chain RANDAO-submitter: [script from scratch]
    • listens to RandomnessRequested and learns $i$
    • submits $blockhash_i$ and $blockheader_i$

Tasks

  • Make Wesolski prover work (Wesolski prover: https://github.com/iotaledger/vdf)
  • Make sure Wesolski verifier smart contract: https://github.com/kilic/evmvdf/tree/master accepts Wesolowski prover's proofs.
    • assume u can only accepttrue statements or something like that
  • Wrap Wesolowski prover in off-chain script that calls it and submits to blockchain
  • We should create a mapping from security level, etc, to VDF paraemters.
    • at least we should determine this ourself.
  • Write RANDAO-submitter
    • make sure it works
  • Write main contract
    • make sure that it works
  • run tests on everything
  • write a smart contract to gamble on die-flip

randao-vdf's People

Contributors

maanavkhaitan avatar kilyig avatar gnarlymshtep avatar

Stargazers

Mamy Ratsimbazafy avatar Agnish Ghosh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.