bZIP 把 Zcash 的屏蔽交易模型带到 BNB Smart Chain:存入时只留下承诺,支取时只出示证明。下面是它的工作方式,以及你如何亲手核验每一步。

协议参数

网络
BNB Smart Chain · chainId 56
证明模型
ZEC Proof · Sapling 同源
承诺树
增量 Merkle 树 · 深度 20
容量
1,048,576 张凭证
哈希
keccak256 mod BN254 r
面额
1 BNB 固定面额
根历史
最近 30 个根
凭证前缀
omni-bsc-1

01bZIP 是什么

bZIP 是 BNB Smart Chain 上的隐私工具集,把共享屏蔽池、私密发送、代币风险检查与链上核验放进同一个界面。资金进入共享池后,链上只看得见“池子”,看不见“你”。

02ZEC Proof:零知识证明模型

bZIP 沿用 Zcash Sapling 的屏蔽思路:每笔存款都是一张凭证。支取时你要证明的是——“我知道树中某一张凭证的秘密,而且它从未被花费”,却不透露是哪一张。

proof statement
public   root, nullifierHash, recipient, relayer, fee
private  nullifier, secret, pathElements[20], pathIndices[20]

assert   commitment    = H(nullifier, secret)
assert   MerkleRoot(commitment, path) == root
assert   nullifierHash = H(nullifier)
  • 公开输入只有 root、nullifierHash、收款地址、中继器与手续费。
  • nullifier、secret 与 Merkle 路径始终留在你的浏览器,从不上传。
  • 证明与收款地址、手续费绑定,中继器无法改写收款人或多收费用。

03凭证(Note)格式

凭证是取回资金的唯一钥匙,由浏览器在本地生成。它把两个随机数编码进一串可复制的文本里。

note
omni-bsc-1-0x<nullifier · 31 bytes><secret · 31 bytes>
  • nullifier 与 secret 都是 248 位随机域元素,由浏览器 CSPRNG 生成。
  • commitment = H(nullifier, secret);nullifierHash = H(nullifier)。
  • 与 omniZEC 凭证格式兼容。丢失凭证即丢失资金,没有任何人能够恢复。

04承诺树

每个 commitment 被写入一棵 20 层的增量 Merkle 树。节点哈希为 keccak256(left ‖ right) 再对 BN254 标量域取模,使数值可以直接进入 SNARK 电路。合约保留最近 30 个根,所以基于稍早状态生成的证明依然有效。

05双花防护

支取时公开的 nullifierHash 会被合约标记为已花费。同一张凭证无法使用第二次,而 nullifierHash 本身不泄露它对应树中的哪一片叶子。

06私密发送与中继器

凭借凭证,你可以从池中向任意地址付款。中继器代为提交交易并垫付 gas,从池中扣取约定手续费,收款方看不到你的钱包,你的钱包也不需要持有 BNB。

07钱包与网络

钱包连接由 Privy 提供,支持 MetaMask、Binance Wallet、OKX、Trust、WalletConnect 等主流 EVM 钱包,以及邮箱登录的内嵌钱包。网络锁定为 BSC(chainId 56),连接后若不在 BSC 会自动请求切换。

08隐私的边界

存入动作本身在链上可见。为了更好的匿名性,请在存入后等待一段时间再支取,并避免金额和时间上的明显关联。本项目仍处于实验阶段,切勿存入无法承受损失的资金。

09自行核验

所有读取都直接请求公开的 BSC RPC 节点。你可以把任意交易哈希粘贴到“核验”,把代币地址粘贴到“检查”,再到 BscScan 交叉比对结果。

这里没有什么需要你盲信。

bZIP 的意义

隐私,是 做自己的空间。

开放的区块链不该意味着一本摊开的账本。bZIP 把私密支付与机密计算带到同一个地方。

  1. 01把你的活动分开

    把资金存入共享池。私密支付从池中发出,而不是直接来自你的钱包。

  2. 02让你的想法只属于你

    机密计算使用加密请求与可验证硬件,保护你的提示词与回答。

  3. 03亲自核验

    在浏览器中核验共享的支付与计算证明,无需连接钱包。

隐私有边界。存款在链上可见,收款方能看到他们收到的付款。每个工具都会说明其证明能核验什么。