热门话题
#
Bonk 生态迷因币展现强韧势头
#
有消息称 Pump.fun 计划 40 亿估值发币,引发市场猜测
#
Solana 新代币发射平台 Boop.Fun 风头正劲
新的模块化 zk 工具包!⚡
使用它从链外证明生成 zkps。
流程:
- 签署/使用链外证明
- 使用 SP1 生成证明
- 使用 WASM 验证
- 在链上证明验证结果(可选)
特别感谢 @shivansheth 和 @whoisgautxm (zkAttestify) 的贡献,以及 @SuccinctLabs 的支持!

流程如下:
1) 签署/提供有效的链下证明
- 使用 EAS 创建结构化证明
- 使用 EIP712 签名
- 数据保持在链下并且私密。
- 签名是可验证的。
2) 生成 ZK 证明 (SP1)
- 使用 SP1 zkvm 解析 EAS 结构
- 验证签名的正确性和逻辑(为演示而硬编码)
- SP1 程序生成 Groth16 或 Plonk 证明
- 输出包括证明文件 + 公共输入
该仓库的 dob-program 和 dob-scripts 处理逻辑。
3) 在 WASM 中验证(浏览器或节点)
- 加载编译后的验证器
- 提供证明 + 公共输入
- JS 脚本运行证明验证并检查逻辑
4) 可选:在链上证明验证结果
- 将 zk 证明提交到 Solidity 验证合约(groth16 验证器)
- 成功后,调用 EAS 以发出新的链上证明
- 模式和数据是可定制的(isOver18 = true)
- 让您控制过期/撤销/组合性
- 与原始链下证明没有关联
注意
- 此流程假设您信任链下证明的证明者。
- 生成 groth16/plonk 证明速度较慢。使用 Succinct Prover Network 提高效率。
本教程/演示将引导您了解其工作原理,时间为 15 分钟。它使用一个简单的年龄证明示例。该工具包是模块化的,因此通过一些调整,您可以稍后将其替换为您自己的模式/电路逻辑。
访问Github
想要观看ZKAttestify团队的视频吗?

想要自定义流程吗?
这里是需要调整的内容:
- 在 `dob-program/src/main.rs` 中 – 更改逻辑(例如,`degree == "CS"`)
- 在 `dob-script/input.json` 中 – 更改证明数据和模式
- 在 `WASM_verifier/` 中 – 验证任何具有相同结构的证明
该项目是一个参考实现。它是模块化的、开源的,并且可以轻松分叉。帮助我们扩展对更多模式、验证者和用例的支持。
我们正在积极寻找希望将此代码库提升到新水平的贡献者和开发者。
请联系我们!🫡
18.49K
热门
排行
收藏