Winterfell用于任意计算的 STARK 证明器和验证器
Winterfell 一个用于任意计算的 STARK 证明器和验证器。这是一个研究项目,目前它没有经过审计,可能包含错误和安全缺陷。这个实现还没有准备好用于生产环境中。
概述:
STARK 是一个新颖的计算证明方案,用于创建可有效验证计算是否正确执行的证明。该方案由以色列理工学院的 Eli Ben-Sasson、Michael Riabzev 等人开发。STARKs 不需要初始的可信设置,并且依赖于非常少的密码学假设。
这个项目的目的是建立一个功能丰富、易于使用和高性能的 STARK 验证器,它可以为非常大的计算生成完整性证明。STARK 证明生成过程是大规模可并行的,然而,它也需要大量的 RAM。对于非常大的计算,单台机器上可用的 RAM 数量可能不足以有效地生成证明。
状态和特点:
Winterfell 是一个全功能的、多线程的 STARK 校验器和验证器,具有以下良好特性。
一个简单的接口:这个库提供了一个相对简单的接口来描述一般的计算。
多线程的证明生成:当编译时启用了并发功能,证明生成过程将在多个线程中运行。该库还支持执行跟踪表的并发构建;
可配置的字段:用于证明生成的基本字段和扩展字段都可以动态选择;
可配置的哈希函数:该库允许动态选择 STARK 协议中使用的哈希函数。目前,支持 BLAKE3 和 SHA3 哈希函数,并计划支持有利于算术化的哈希函数;
支持 WebAssembly:该库是用纯 Rust 编写的,可以被编译成 WebAssembly。std 标准库在默认情况下,对于验证器和检验器都是启用的功能;
计划中的功能:
分布式验证器:分布式证明生成是这个项目的主要优先事项,我们希望很快发布一个包含它的更新。
评论