The QRL Foundation joins forces with the League of Entropy

The QRL Foundation is happy to join forces with the League of Entropy, a consortium of global organisations and individual members such as CloudFlare, Kudelski Security, Protocol Labs, and the Ethereum Foundation to create heroic high availability, unpredictable, unbiased, and verifiable randomness

advocacy

18th December 2020

Understanding the importance of randomness and entropy

Randomness is defined as the lack of pattern or predictability1. It is used in everything from light entertainment such as the act of shuffling in card games to more serious cryptographic systems2. Entropy (in cryptography) is fundamentally the measurement of randomness3 where more is better. Card dealers increase the entropy of a deck with proper shuffling technique often with multiple rounds.

Simple enough right? Unfortunately it’s possible for things to appear random which actually aren’t. Poor shuffling technique can lead to very probabilistic results that might seem random at first glance, for example. Magicians take this a step further and use purely deterministic shuffling, leaving spectators in awe.

While entertaining in a magic performance, having things not be truly random can be catastrophic for cryptographic systems. Lack of availability, unpredictability, unbiasability, and verifiability continues to be a major source of exploits4 to this day. This problem is notoriously complex and is the subject of a lot of research5 along with innovative and interesting solutions, such as CloudFlare’s LavaRand.

Unfortunately, while CloudFlare’s LavaRand and other similar projects creates sufficiently high entropy, the setup costs are high, and the nature of them being centralized makes it vulnerable to manipulation from insiders. Similar to how magicians can use deterministic shuffling to manipulate card decks without anyone (else) realizing it, it’s possible to manipulate the source, and therefore gain an advantage in cryptographic systems. This type of attack isn’t just hypothetical but has already happened such as in the IOWA lottery fraud mystery.

Work on a system to create a public randomness beacon with these attributes goes back to over a decade ago in the DEDIS lab at EPFL and resulted in a project called drand (for distributed randomness)6. Drand is able to generate verifiable, unpredictable and unbiased random numbers as a service in a very simple and efficient manner and to deliver it in a reliable way to the client. This later gave birth to…

Joining The League of Entropy

To celebrate Crypto Week 2019, CloudFlare started the League of Entropy consisting of a consortium of global organizations and individual members providing randomness beacons on drands mainnet network for a high availability, unpredictable, unbiased, and verifiable randomness - the golden standard.

The QRL Foundation is happy to have now joined the League of Entropy, with the mainnet ceremony into drands mainnet earlier this week!

Other heroic members of randomness includes Cloudflare, École polytechnique fédérale de Lausanne (EPFL), University of Chile, Kudelski Security, Protocol Labs, ChainSafe, cLabs, C4DT, Emerald Onion, Ethereum Foundation, IC3, PTisp, Tierion, and UCL.

How QRL Generates Entropy

Each node first generates a long-term public/private key pair. Then all of the public keys are written to a group file together with some further metadata required to operate the beacon. After this group file has been distributed, the nodes perform a distributed key generation (DKG) protocol to create the collective public key and one private key share per server. The participants NEVER see/use the actual (distributed) private key explicitly but instead utilize their respective private key shares for the generation of public randomness.

After the setup, the nodes switch to the randomness generation mode. Any of the nodes can initiate a randomness generation round by broadcasting a message which all the other participants sign using a t-of-n threshold version of the Boneh-Lynn-Shacham (BLS) signature scheme and their respective private key shares. Once any node (or third-party observer) has gathered t partial signatures, it can reconstruct the full BLS signature (using Lagrange interpolation). The signature is then hashed using SHA-256 to ensure that there is no bias in the byte representation of the final output. This hash corresponds to the collective random value and can be verified against the collective public key.

Want to learn more?

Give our website theqrl.org a browse or join us for a chat in one of our many communities on Telegram, Discord, Reddit, Facebook, or KakaoTalk.

Want to stay up to date? Follow us on Youtube, Twitter or our Telegram news channel.

Want to dig into our audited, MIT open-source, enterprise-grade codebase? Check out our github at: https://github.com/theQRL/QRL/


  1. Randomness

    ↩︎
  2. Randomness in Cryptography - IEEE ↩︎

  3. Formally Assessing Cryptographic Entropy ↩︎

  4. Discovered entropy vulnerabilities ↩︎

  5. Research

    ↩︎
  6. Origins of drand ↩︎

advocacy

18th December 2020


Jack Matier

WRITTEN BY

Jack Matier