#commitment #kzg #cryptography #bls12-381 #curve #ethereum #peer-das

crate_crypto_internal_peerdas_bls12_381

此crate提供了PeerDAS项目对BLS12-381曲线的内部实现

5个不稳定版本

0.3.0 2024年5月21日
0.2.6 2024年5月21日
0.2.5 2024年5月21日
0.2.1 2024年5月21日
0.1.0 2024年5月21日

#9 in #kzg


用于 2 crate

MIT 协议

15KB
253

Rust Eth KZG

概述

是什么

一个与以太坊区块链中PeerDAS使用的KZG承诺方案兼容的密码学库。

为什么

此库中实现的密码学是Ethereum版本的数据可用性采样(DAS)所需的前提条件。该库以模块化的方式实现,因此还可以使用底层的多项式承诺方案,用于不同的目的。

构建源代码

此库是用Rust编写的,并提供对C、C#、node.js、golang、Java和Nim的绑定。这些绑定可以在bindings文件夹中找到。这些绑定公开了一个与以太坊所需的API兼容的API。

如果您只想修改密码学,则需要Rust编译器。对于绑定,应检查相应语言的README文件以了解其他要求。

构建一切

要构建包括绑定所需的艺术品在内的一切,可以运行

./scripts/compile.sh

要仅构建本机Rust代码,可以运行

cargo build

基准测试

可以通过调用运行基准测试

cargo bench

注意:这将基准测试底层的Rust库。它不会考虑(如果有的话)通过特定语言调用库导致的任何差异。这的一个例子是从Golang调用外国语言时的CGO开销;在我们的情况下,这种开销与实际执行的计算相比是可以忽略不计的。

许可证

根据以下任一许可证授权和分发

MIT许可证:LICENSE-MIT或http://opensource.org/licenses/MIT

Apache许可证第2版(LICENSE-APACHEv2或http://www.apache.org/licenses/LICENSE-2.0),任选其一。这些文件只能根据这些条款复制、修改或分发。

依赖关系

~8MB
~227K SLoC