{"repo":"distributed-lab/op_rand","free":true,"listed":false,"github":"https://github.com/distributed-lab/op_rand","clone":"git clone https://github.com/distributed-lab/op_rand.git","description":"Trustless Randomness Generation on Bitcoin","language":"Noir","stars":15,"topics":["bitcoin","noir","rust","vrf","zk"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"OP RAND: VRF on Bitcoin This is a method of emulation of OP RAND opcode on Bitcoin through a trustless interactive game between transaction counterparties. The game result is probabilistic and doesn’t allow any party to cheat, increasing their chance of winning on any protocol step. The protocol is organized in a way unrecognizable to any external party and doesn’t require any specific scripts or Bitcoin protocol updates. 📖 Overview OP RAND allows two (currently) users to create the set of transactions, the UTXO of the final one of which can be spent with some probability by each counterparty. For that, OP RAND uses: - Commitments : The protocol allows the challenger to create commitments on random values, only one of each is used for the final address formation. An acceptor also mast create the commitment for their final public key, but without the knowledge if that can be spent. - Zero-Knowledge Proofs : For proving the correctness of all actions (with hiding the secret data) between challenger and acceptor it uses Noir circuits with Barretenberg backend. - Bitcoin Script : OP RAND doesn't require and update of the Bitcoin protocol or appearance of new op codes - Interactive Protocol : Two-party commit-reveal scheme Key Features - 🎲 True Randomness : Cryptographically secure 50/50 outcomes - 🔒 Trustless : No third parties or oracles required - 🕵️ Private : Commitment selection hidden until revelation - ✅ Verifiable : All parties can verify proof correctness - 🏃 Fast : ","default_branch":null,"files":null,"tree":[],"storefront":"/r/distributed-lab","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/distributed-lab/op_rand/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}