1 个不稳定版本
0.0.1 | 2023年4月13日 |
---|
#29 在 #bls-signatures
76KB
1K SLoC
Nugget BLS
实现了nugget BLS协议,用于更有效的聚合和八卦。
乍一看,BLS签名需要公钥和签名在配对的两边,所以验证者需要为哈希到曲线或组合公钥进行慢速G2操作。
在nugget BLS中,我们要求公钥是G1和G2上各点的DLEQ证明。因此,聚合在G2上汇总公钥,但验证者只减去G1的公钥。我们现在有两个验证方程,但它们可以在G1上两次标量乘法后轻松合并,因此验证者只需要G2子群检查和点准备。
原则上,总是检查单个BLS签名后再创建聚合BLS签名。单个BLS签名已经创建了DoS风险,我们通过让单个nugget BLS的签名通过仅使用G1算术的DLEQ证明来减轻这些风险。
依赖项
~6MB
~101K SLoC