Orand V3

Orand project was built based on Elliptic Curve Verifiable Random Function (ECVRF). It is deterministic, verifiable and secured based on assumptions from elliptic curves. Administrators of Orochi Network are unable to manipulate the results.

To optimize operation costs and improve security we provided following features:

  • Verifiable: An Orand's epoch can be verified independently outside our system or can be verified by smart contracts.
  • Self and Delegated Submission: Orand project have flexibility in proof submission, we just generate valid ECVRF proof and you can decide how to submit them:
    • Self Submission: You can request from your back-end to Orand service and submit the randomness to your smart contract.
    • Delegation Submission: You can delegate the submission process to Orochi Network by transfer token to our operator, so the feeding process will be performed automatically.
    • Request Submission: Instead of request to Orand service, you can request randomness via Oracle contract.
  • Batching: We allow you to set the batching limit for one epoch, e.g., we can batch 100 randomness for one single epoch which makes the cost be reduced significantly.

Deployed Platform

Orand V3 was deployed on following smart contract platform.

Mainnet

Testnet

Network NameAddress
Ancient8 Testnet0xD7a2643c1d9C3E6069f90DbAabd9D58825C7A2b9
Unicorn Ultra Nebulas0x3eAF9da360dA944105599cdB7833712346af6DF1
Sei Devnet0x2182fD816A3fCeCDeD390452524cfA8f21142A88
Saakuru Testnet0xA117B152a7bB8fAa9920e2C51B1Fb95452D2936f
Zircuit Testnet0x1Ae52e0Ef3f78F015AEF13AbCB4776333fb073C2
ZKFair Testnet0xE733CaC2c60effe593587E595Ef6F98dA44a7cf4
X Layer Testnet0x50C72F5bea0757c8052daa6402568d4bbf2336Fb
ZKLink Nova0xf9338096bb1bCdBDB83E5a237F198A60A48395a2
BNB Chain Testnet0xA9aA047CaA5C24A4fC390F3887C98b20bc4e6556
Arbitrum Sepolia Testnet0x398027eA740de745FE4Be768e6e5744A6C58514C
Moonbase Alpha Testnet0xb368A56355707bC23321C85a9f2f1773B09a5a22
Manta Pacific Sepolia Testnet0x060b6352406f6a22a5BAfCB372EDa87a3B077D23
Kroma Sepolia Testnet0xabD720eaf47339150E0d0dF379307a17A68092Ac
Fantom Testnet0xc3A7a16304D08002c27441e9e2Cb6366E97862B2
Base Sepolia Testnet0x6240Cb830Ab06cd872827b92D6E9Fe9cA8Eac432
Optimism Sepolia Testnet0x518fF0Ad9549BbB38000459C6F70bc78718cC0B1
Wanchain Testnet0xD682B35eB08cC3cb74F690f6B8fFAE087625a158
Scroll Sepolia Testnet0x25fa439D1030540FCd9B2E67F0e8A704ad078226
Morph Holesky Testnet0x6d660F6e9bC72709c96448dEe00D0c08cfD77577
LightLink Pegasus Testnet0x591749260B0dEc690976ce1dDFbd71694578b99e
Metis Sepolia Testnet0xD2Aaf6e041596431D7df35aC95e7BA74735266cD
B² Testnet0xE21Bc6E404A4133119A164352477C1439205Af27
StratoVM Sepolia Testnet0x2f685A31c47a0C9141EB5B2aF52cC2987a336B70
Core Blockchain Testnet0x396BBaA9eFfDFFa790e53b1a6b93AA161d65Cb75
Linea Testnet0x9FC1eE65D0485F2CFeeC5237D765DE5Af3f3f31c
Lumia Testnet0x5379742183018F098c160EeEf7DBe3187a23AA3A
Etherlink Testnet0x3e84eB29Df33832DE7c0E65BE3cC23F07Cb2fBdf
IoTeX Testnet0xB7a2e1ffa0Aaef491d381ABA2e07668f98B02C49
Chiado Testnet0xE161A02Da435F36EC5EbfEAE84a0B81616Fa5F22
Minato Testnet0x219Eed0551cB8BCf55b61e1CFB353f4Ad1F5bcF7
AILayer Testnet0x2210b037302Ea78CD424f484d70Db1a8E1118FfB
Polygon Amoy Testnet0xD7a077a983986D9B948FF76C2151ba7e9ADA0b91
Boba Sepolia Testnet0xebEA88C5462f434174599dcE51D061695296543d
NERO Testnet0x38453d36e5152feca8a44cd020c3c607bb68a436
Camp Network Testnet V20x0b43fc1C8fc373D3abDE9bb6bb8B7CfDc0Beb72A
5ireChain Testnet0x756887E2E85339822b97A943Fc750F7E5f354F26
Matchain Testnet0x59904eBEE55bea1B683eC34D68134585671BedB9
Neo X Testnet T40xD5C278C3b58d6789Af4972cECBB5953c3837c2Cd
Berachain bArtio0xf1284bb2e359Bf04ccca4FB3eBE4385376C2941a
Xprotocol Testnet0xf1284bb2e359Bf04ccca4FB3eBE4385376C2941a
Taiko Hekla0xe199ed86eC10AA7d11B90A0bC9D43886756B556C
Zytron Testnet0x85c06130E58EEC77694f9b968B533121F0D828dC

Self Submission

User will request the verifiable randomness from Orand service, they can submit the randomness themselves and control gas consumption. You must submit epoch by sequence and starting epoch or genesis must be epoch 0.

%%{init: {'theme':'base'}}%%
sequenceDiagram
    Game Backend->>+Orand: Request randomness
    Orand->>-Game Backend: VRF Epoch
    Game Backend->>+Orand Contract: Publish VRF Epoch
    Orand Contract->>-Game Backend: Transaction Receipt

Delegated Submission

User will delegate the submission process to Orochi Network, first they need to deposit native token to operator address that provided by Orochi Network.

%%{init: {'theme':'base'}}%%
sequenceDiagram
    Game Backend->>+Orand: Request randomness
    Orand->>+Orand Contract: Publish VRF Epoch
    Orand Contract->>-Orand: Transaction Receipt
    Orand->>-Game Backend: VRF Epoch + Tx Receipt

Request Submission

dApp will request to Orochi Network's oracle contract for the randomness, Orand service will fulfill this request and submit the randomness to Orand provider contract.

%%{init: {'theme':'base'}}%%
sequenceDiagram
    Game Frontend->>+Oracle: Request randomness
    Orand->>+Orand: Repeating Polling Request
    Orand->>-Orand Contract: Fulfil Request
    Oracle->>Game Frontend: Tx Receipt

Orand V3

Orand V3 will focus on utilizing Multi Party Computation (MPC) to secure the randomness generation, allowing the whole system to act as one random oracle. It makes the process more dispersed. In this stage, we boot up Chaos Theory Alliance to preventing predictability. Everything is built up toward to the vision of Decentralized Random Number Generator. If you believe in the vision of Decentralized Random Number Generator, please send drop us an email to (contact@orochi.network) in order to participate in Chaos Theory Alliance.