以太坊 Beacon Chain 每个 epoch 有数十万验证者参与投票,如果每个签名都单独存储和验证,链上数据量将爆炸式增长。BLS 签名聚合用一个签名代表所有人的投票,是 PoS 规模化的关键密码学工具。
以太坊主网有超过 100 万活跃验证者。每个 epoch(32 个 slot,约 6.4 分钟)中,每位验证者都需要提交一个 attestation(对链头和 checkpoint 的投票)。
若使用传统的 ECDSA 签名(Bitcoin/以太坊执行层使用):
BLS 签名的解决方案:将 N 个签名压缩成 1 个签名,大小固定 48 字节,验证时间接近 O(1)。
BLS(Boneh–Lynn–Shacham)签名建立在椭圆曲线双线性配对上。
以太坊使用 BLS12-381 曲线,它定义了两个群:
配对是一个映射:
e: G₁ × G₂ → Gₜ