AlephTape 用 Groth16 验证电路,Gas 降 99.925%AlephTape verifies circuits with Groth16, cutting gas ~99.925%
多位社区成员拆解 AlephTape 的 ZK 验证层:把 TapeOut 网表展开 REF、转换为 R1CS、生成 Groth16 证明与验证器再上链验证;只要计算能先编译成符合 TapeOut 格式的电路,就能复用同一套 ZK 流程核对链下执行结果。实测一个 161220 门的电路逐门链上执行约需 3.96 亿 Gas,改用 Groth16 验证仅需 296826 Gas,降幅约 99.925%。Groth16 由 Jens Groth 于 2016 年提出,属 zk-SNARK 家族。Community members broke down AlephTape's ZK verification layer: a TapeOut netlist is expanded (REF), converted to R1CS, and turned into a Groth16 proof and verifier for onchain verification, so any computation first compiled into TapeOut-format circuits can reuse the same ZK flow to check offchain execution results. In a measured case, a 161,220-gate circuit executed gate-by-gate onchain costs about 396 million gas, while Groth16 verification costs only 296,826 gas, a drop of roughly 99.925%. Groth16, proposed by Jens Groth in 2016, belongs to the zk-SNARK family.

来源 · 4 条Sources · 4
- @BruceBlue
Groth16 是一种零知识证明(Zero-Knowledge Proof,ZKP)技术。 它最重要的能力,是让别人不必重新执行整个计算,就能以很低的验证成本,确认一个计算结果满足预先定义的规则。 这项技术由密码学家 Jens Groth 在 2016 年提出,属于 zk-SNARK 家族。 放在 TapeOut 的场景里,它有一个非常重要的意义: TapeOut 负责定义和组合计算电路,Groth16 可以负责证明这些电路计算结果的正确性。 #TapeOut Builder Culture @gmharryyy
- @BruceBlue
原因是把执行计算与验证计算分开。 传统 TapeOut 电路需要在链上逐个执行 NAND 门,而 Groth16 允许 Prover 在链下完成计算,再生成一份体积很小的密码学证明。 链上 Verifier 不必重新执行几十万个逻辑门,只需通过少量椭圆曲线配对运算,验证输入、输出与电路约束是否匹配。 因此,验证成本主要取决于证明系统和公开输入规模,而不是原始电路有多少 NAND 门。 AlephTape 的实测案例中,一个 161220 门的电路直接执行需要约 3.96 亿 Gas,使用 Groth16 验证只需 296826 Gas,降低约 99.925%。 这不代表计算消失了,而
- @boostbob
这个项目好难理解。 IF 如果一个计算已经被表示成 TapeOut 支持的电路: 输入比特 ↓ NAND / REF 网表 ↓ 输出比特 THEN 那么 AlephTape 就可以用同一套流程处理: TapeOut 网表 ↓ 展开 REF ↓ 转换成 R1CS ↓ 生成 Groth16 proof/verifier ↓ 链上验证 TapeOut 负责提供统一的电路表示,AlephTape 提供通用的“电路执行结果验证层”;只要不同计算都能先编译成符合 TapeOut 格式的电路,就能复用 AlephTape 的 ZK 验证流程。 AlephTape 内置模块的关
- @boostbob
我也在试图理解这个项目,是不是可以理解成直接用电路我没法完整的算了(晶体管和 gas 爆炸),所以计算推理还是链下的,怎么证明你链下计算有没有偷奸耍滑呢? 这个推理规则对应着一个 tapeout 链上电路(不是100% copy,用了 Groth16 来阉割),我把这个电路重新 "执行(验证)"一遍你刚才链下的同样输入,验证输出,如果验证失败了(或者不一样的形态/属性/数学表达式?),说明你刚才执行的规则被黑客修改了?