katastrofh/SNARK_LAB
GitHub: katastrofh/SNARK_LAB
SNARK_LAB 是一个用 Rust 编写的 SNARK 协议构建块研究原型,通过可读代码、测试向量、模糊测试和可视化工具让 Sumcheck、Zerocheck、PermCheck 及 IPA 多项式承诺等零知识证明核心机制变得可检查和可学习。
Stars: 2 | Forks: 0
# SNARK_LAB
研究原型。 非经审计的生产级安全软件。
**SNARK_LAB 是一个用于 SNARK 构建块(Sumcheck、Zerocheck、PermCheck 和 IPA 多项式承诺)的 Rust 协议实验室。** 它将交互式证明的数学原理与可执行的 Rust 代码、绑定到 transcript 的证明流程、公共测试向量、模糊测试证据、发布候选产物以及教育性的浏览器可视化工具连接起来。 目标很简单:让 SNARK 协议机制变得可检查。 ## 为什么这个代码库很重要 大多数 SNARK 学习资料只停留在方程式上。大多数生产级库将协议机制隐藏在 API 之后。 SNARK_LAB 介于两者之间: * 核心组件的可读 Rust 实现 * Fiat–Shamir transcript 排序 * Sumcheck、Zerocheck 和 PermCheck 流程 * IPA 多项式承诺研究路径 * 格式错误证明的拒绝测试 * 规范的证明/SRS 解码边界 * Fuzz 目标和 Fuzz 回归追踪 * 公共向量和参考比较 * 发布候选证据 * 用于协议流程的浏览器可视化工具 这个代码库是为希望了解 SNARK 组件如何相互配合的学生、研究人员、审查者和工程师构建的。 ## 当前状态 | 领域 | 状态 | | ---------------------------- | -------------------------------------------- | | Sumcheck | 已实现并测试 | | Zerocheck | 已实现并测试 | | PermCheck | 已实现并测试 | | IPA PCS 路径 | 作为研究原型实现 | | IPA 证明编解码器 | 经过 Fuzz 测试和回归测试 | | SRS 加载器/来源 | 已实现,带有生产级边界检查 | | 浏览器可视化工具 | 已实现 | | 公共测试向量 | 已实现 | | 发布证据 | 已实现 | | 当前发布候选版本 | `v0.2.0-rc.2` | | 外部审计 | 未完成 | | 生产级安全部署 | 不作保证 | ## 这是什么 SNARK_LAB 是: * 面向审查者的研究原型 * 协议学习实验室 * 可复现的 SNARK 组件测试平台 * 证据驱动的发布候选产物 * SNARK 数学与可执行协议代码之间的桥梁 ## 这不是什么 SNARK_LAB 不是: * 经过审计的、可部署的加密软件 * 主网就绪的加密基础设施 * 托管安全软件 * 外部审查的替代品 * 生产级 SRS 仪式 * 用于保护真实资金或共识关键系统的库 **请勿**将此代码库用于生产资金、资产托管、共识关键系统或安全关键型部署。 ## 快速开始 克隆代码库: ``` git clone https://github.com/katastrofh/SNARK_LAB.git cd SNARK_LAB ``` 运行完整的代码库检查门槛: ``` scripts/check-production-ready.sh ``` 运行所有 Rust 测试: ``` cargo test --workspace ``` 运行 IPA commit/open/verify 演示: ``` cargo run -p snark-lab-cli -- ipa-demo ``` 运行可视化工具: ``` cd web/visualizer npm ci npm run dev ``` 打开: ``` http://localhost:5173 ``` 为当前发布候选版本构建发布产物: ``` scripts/build-github-release-artifacts.sh v0.2.0-rc.2 ``` ## 协议图谱 | 协议/组件 | 用途 | | ---------------- | ------------------------------------------------- | | Sumcheck | 证明关于布尔超立方体上求和的声明 | | Zerocheck | 将约束满足归约为多项式零点检查 | | PermCheck | 检查多重集/置换一致性 | | 透明 oracle | 提供简单、可检查的开辟/验证流程 | | IPA PCS | 对多线性多项式进行承诺并证明开辟 | | SRS 工具 | 验证公共参数来源和产物边界 | | 交换格式 | 将教育性可视化工具与确定性示例连接起来 | ## 可视化工具截图 可视化工具展示了协议组件是如何相互配合的。
标签:Rust, SNARK, 交互式证明, 可视化工具, 可视化界面, 多项式承诺, 密码学, 手动系统调用, 暗色界面, 网络流量审计, 通知系统, 零知识证明