Authored by Ben Adar
Production Drand Network
We are proud to announce that ChainSafe has joined the League of Entropy (LoE) network! Fellow participants include Cloudflare, C4DT, EPFL, Emerald Onion, Ethereum Foundation, IC3, Kudelski Security, Protocol Labs, PTisp, UCL, University of Chile and more to come!
What is Drand?
Drand is a randomness beacon, written in Golang, that produces unpredictable random values. Drand nodes work together, on a distributed network, to generate unbiased randomness. The values produced by a Drand network are constructed using bilinear pairings and threshold cryptography. By combining these cryptographic methods, and maintaining a decentralized network, the values that are generated are guaranteed to be unbiased, unpredictable, and publicly verifiable.
How Does it Work?
Each node is first involved in a distributed key generation (DKG) process which establishes a keypair such that each node has a part of the private key but no one has the whole key. This key pair is then used by the nodes to produce a threshold BLS signature. This allows nodes to collectively construct a signature as long as a certain threshold of nodes are honest and participating. The data that is signed is initially a shared secret (or seed). Randomness is then produced in rounds where the data signed is the hash of the previous round, creating a chain of randomness that can be verified.
You can find a more detailed explanation of how this works here.
The Need for Real Randomness!
Randomness is an essential part of our society. From lotteries and financial systems, to counting votes and choosing judges, randomness is a key ingredient for a healthy democracy. Many digital systems depend on cryptography that requires publicly verifiable randomness, mainly for reaching consensus and running complex protocols.
Randomness is something that humans have long trusted to mitigate bias in systems, yet most sources of digital randomness are unverifiable and untrustworthy which limits the security of certain cryptography and computer systems. This is where Drand comes in. Drand provides a true source of public randomness, that works transparently with the community, to provide reliable and honest values. Maintaining true verifiable randomness is so important in this digital age, which makes the existence of Drand crucial, now more than ever.
Forest and Drand!
For the last 9 months ChainSafe has been working on Forest, a Filecoin implementation written in Rust. Drand is used in Forest, and all implementations of Filecoin, to generate randomness for leader elections. Filecoin is an open-source blockchain-based decentralized storage network. Participants in the network earn Filecoin tokens for providing data storage and retrieval services. Using Drand randomness allows the Filecoin consensus protocol to mitigate different types of consensus attacks, providing the ecosystem with more reliability and security!
ChainSafe is excited to be working on such an amazing project with such fantastic companies and communities and looks forward to participating in the future of this project as it unfolds.