用自己熟习的措辞学习 以太坊开拓 : Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

1、Herum BLS

Herum BLS是BLS阈值署名的一个C++实现,支持以太坊2.0阶段0规定的 新的BLS署名方案。

Herum BLS支持如下架构:

以太坊签名算法php9个开源的BLS签名算法库ETH20 NoSQL

Windows Visual Studio / MSYS2(MinGW-w64)LinuxmacOSAndroidiOSWebAssembly

Herum BLS供应如下开拓措辞的绑定:Go、WebAssembly(Node.JS)、Rust。

Herum BLS代码仓库: https://github.com/herumi/bls

2、Chia BLS

Chia BLS是Chia官方供应的支持聚合的BLS署名的C++实现,利用了relic toolkit 供应的密码学原语(配对、椭圆曲线、哈希等)。

Chia BLS的紧张特性如下:

遵照IETF规范的非交互式署名聚合支持Windows, Mac, Linux, BSD基于Proof of Posssesion的有效验证支持公钥和私钥的聚合支持EIP-2333密钥派生(包括非硬化的类BIP-32私钥)支持密钥和署名序列化支持批量验证供应Python绑定包含纯Python版本的bls12-381和署名供应JavaScript绑定

Chia BLS代码仓库:https://github.com/Chia-Network/bls-signatures

3、w3f BLS

w3f BLS是一个rust版本的BLS署名实现,支持BLS12-381。

w3f BLS代码仓库:https://github.com/w3f/bls

4、ChainSafe BLS

ChainSafe BLS是一个用于BLS署名以及署名聚合的JavaScript库,支持 Node.js和浏览器环境。

ChainSafe BLS供应了三种后台:

blst:仅支持node.js,通过node-gyp绑定到c措辞实现herumi:支持node.js和浏览器,wasm实现noble:纯JavaScript实现,支持node.js和浏览器

ChainSafe BLS代码仓库:https://github.com/ChainSafe/bls

5、asonnino BLS

asonnino BLS是一个大略的Python版本的BLS阈值署名实现,论文拜会这里。

asonnino BLS基于petlib和bplib实现,因此利用时首先须要安装这些依赖。

asonnino BLS代码仓库:https://github.com/asonnino/bls

6、nevermind BLS

NeverMind BLS是一个.net core版本的BLS署名实现,支持ETH2.0。

NeverMind BLS作为一个System.Security.Cryptography.AsymmetricAlgorithm插件实现, 遵照.Net Core的密码学方案规范;支持私钥转公钥、ETH2.0的署名和验证、公钥/署名聚合、 聚合署名的验证等;供应跨平台支持,例如windows、linux和osx。

NeverMind BLS基于Herumi库实现,目前不支持ETH2.0之外的方案。

NeverMind BLS代码仓库: https://github.com/NethermindEth/cortex-cryptography-bls

7、Algorand BLS

Algorand BLS包含Python和Rust版本的BLS署名实现。

Algorand BLS代码仓库:https://github.com/algorand/bls_sigs_ref

8、Witnet BLS

Witnet BLS是一个Rust版本的BLS署名实现,目前仅支持BN256配对。

Witnet BLS代码仓库:https://github.com/witnet/bls-signatures-rs

9、enzoh BLS

Enzoh BLS是一个Go版本的BLS署名实现练习代码,可以帮助理解BLS署名算法。

enzoh BLS代码仓库:https://github.com/enzoh/go-bls

原文链接:http://blog.hubwiz.com/2021/05/31/bls-libs/