#多项式 #不同 #密码学 #对象 #以太坊 #方案 #承诺

crate_crypto_internal_peerdas_polynomial

该软件包提供了多项式对象所需的一些实用方法。

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日

#2615 in 神奇豆子

MIT 许可证

35KB
644

PeerDAS KZG

是什么

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

为什么

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

构建源代码

此库是用 Rust 编写的,并提供对 C、C#、node.js、golang、Java 和 Nim 的绑定。这些绑定可以在 bindings 文件夹中找到。这些绑定公开了一个与 Ethereum 需要的 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.0(LICENSE-APACHEv2或http://www.apache.org/licenses/LICENSE-2.0),由您选择。除非根据这些条款,否则不得复制、修改或分发这些文件。

依赖项

~9MB
~246K SLoC