范围证明(64位)
RangeCheck-64
证明一个数在区间内(比如余额够付款),但不说它到底是多少。
- 约束数
- 128
- 证明价值
- 55
- $GATE门元
- 77
64-bit 分解 / 查表优化
全部零件均来自官方审计过的电路库,不支持自由编译。证明价值是分子、约束数是分母——用最少的约束换来最多的价值,算力才高。
共 12 种 · 曲线 BN254 · 审计已通过
RangeCheck-64
证明一个数在区间内(比如余额够付款),但不说它到底是多少。
64-bit 分解 / 查表优化
IntDiv-64
证明"a 除以 b 商是 q 余数是 r",并保证余数确实小于除数。
a = b·q + r / 64-bit 范围校验 r < b
Poseidon-2
把两个数字揉成一个指纹,ZK 电路里最省约束的哈希。
BN254 / t=3 / RF=8 RP=57
AliasCheck
证明一个域元素的比特表示是唯一的,堵住"同一个数两种写法"的攻击面。
circomlib Num2Bits_strict / CompConstant(p-1)
LessThan-252
在整个域宽度上比较两个数的大小,不会因数值过大而给出错误结论。
circomlib LessThan(252) / 借位分解 + 别名校验
Num2Bits-254
把一个域元素完整拆成 254 根 0/1 线,位运算的前置零件。
254 bits / 加权求和约束 + 别名校验
Nullifier
生成一次性的"用过就废"标记,防止同一笔凭证被重复使用。
Poseidon(secret, index)
MerkleProof-8
证明"某条数据确实在这棵树里",不透露它在哪个位置。
depth=8 / Poseidon 压缩
SMT-Update
在不重算整棵树的前提下,证明树被正确地改了一处。
depth=16 / 双路径校验
EdDSA-Verify
ZK 友好的签名验证,比 ECDSA 便宜一个数量级。
Baby Jubjub / Poseidon 消息哈希
SHA256-Block
与链外世界兼容的标准哈希,代价是约束数非常昂贵。
512-bit block / bit 分解
ECDSA-Verify
在电路里验证一个以太坊签名,最贵的零件,慎用。
secp256k1 / 非原生域运算