Blog

Nov 14, 2019

First Release of BLS Library

By: Sergey Gorbunov

BLS signatures, introduced by Boneh, Lynn, and Shacham in 2001, enable efficient compression of a group of signatures S_1, …, S_n into a compact signature S that can be used to authenticate the entire group. These signatures are known to improve bandwidth, storage, and verification speed (when all signatures are on the same message) in numerous applications. When applied to blockchains, multiple signatures of transactions in a block can be compressed into a single signature, creating smaller blocks. Smaller blocks result in lower storage, network, and compute requirements needed from the network participants.

BLS signatures have been around for some time, but as we know from experience, the adoption of new cryptographic schemes takes time. To accelerate the adoption of BLS signatures, our cryptography team, together with colleagues from academia, put together an Internet Draft. We hope the standard will accelerate this technology and help independent teams write cross-compatible implementations.

https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-00?source=post_page-----5b0b88206c2c----------------------

The standard has evolved significantly since our initial draft posted in February 2019. It has now been adopted by the Crypto Forum Research Group (CFRG), which focuses on cryptography standardization for the Internet Engineering Task Force (IETF). We will continue updating the standard based on received feedback and hope it will be finalized and published as an RFC soon.

Today, we are excited to announce the first release of the reference implementation for the BLS signature!

https://github.com/algorand/bls_sigs_ref/releases/tag/v0.1

The implementation is compatible with the latest version of the standard and includes test vectors for comparison. We thank NCC’s Cryptography Services group for auditing the code.

It is exciting to see how the community is already planning to use BLS signatures, and we look forward to its real-world deployments.

“At Cloudflare, BLS signatures allowed us to join forces with multiple randomness providers to bring users the League of Entropy, a quorum of decentralized randomness beacons. We are enthusiastic about the results derived from the BLS standardization effort for strengthening the security of this and other services Cloudflare provides.”, Armando Faz, Cryptographic Engineer at Cloudflare inc.

“We are excited to see this progress towards BLS standardization. BLS signatures, being aggregatable, can be useful when resources like bandwidth and storage capacity are limited. Uniqueness and determinism of BLS can help improve security in blockchains and other fields. BLS standardization will enable broader real-world use of these innovations.”, Calibra Research

We thank Justin Drake (Ethereum) for inviting broader blockchain and cryptography communities to follow this standardization effort and everyone who provided valuable feedback.

I would like to congratulate Riad Wahby and Zhenfei Zhang on this release. This is a significant step towards BLS adoption!