Polygon Miden中的nullifier sets设计

1. 引言

前序博客:

本文基本结构为:

  • 何为nullifiers?为何需要nullifiers?
  • 使用nullifiers存在的问题?
  • Polygon Miden如何记录nullifiers?
  • 其它项目方如何记录nullifiers?

2. 何为nullifiers?为何需要nullifiers?

为何需要nullifiers?

nullifiers用于:断开 隐私保护链中senders和receivers 之间的linkability(关联性)。

nullifiers的工作原理为:
在这里插入图片描述
其中:

  • Note DB中包含了所有已创建notes的承诺值。
  • Nullifier DB中包含了所有已消费notes的nullifier值。
  • 已知某note的承诺值,无法确定该note的nullifier值。

消费notes的流程为:
在这里插入图片描述

3. 使用nullifiers存在的问题?

使用nullifier存在的问题是:

  • nullifier set会无限增长。
  • 为验证某nullifier值是否在nullifier set中,网络需记录已创建的所有nullifiers。
    • 若tps为1000,则持续10年,存储nullifier set需要10TB空间。
    • 若tps为10000,则持续10年,存储nullifier set需要100TB空间。

在这里插入图片描述

4. Polygon Miden如何记录nullifiers?

Polygon Miden中使用nullifiers,希望实现:

  • Authenticated data structure for non-membership proofs
  • Constant nullifier DB size at given TPS
  • No time limits on spending notes
  • 用户维护其notes spendable所需的工作量最小化(Minimal work by users to keep their notes spendable)

Polygon Miden中的nullifiers采用Nullifier tree结构来存储:
在这里插入图片描述
其中:

  • Nullifier tree:depth为256的Compact Sparse Merkle tree
  • Nullifier值:为Nullifier tree中的path。
  • 叶子节点值:表示该nullifier是否已被消费,若为1则表示已被消费,0值表示未消费。
  • 但该Nullifier tree会无限增长。

为此,Polygon Miden中不只有一棵Nullifier tree,而是每个epoch(每个epoch可为6个月)都有一棵Nullifier tree。网络仅保留最新2个epoch(即window)内的完整Nullifier tree,以及所有历史Nullifier tree的roots。
在这里插入图片描述
这样,就可实现如下关键属性:

  • 新的nullifiers仅插入到current epoch的Nullifier tree中。
  • 节点仅记录最新2个epoch(即current window)的nullifiers,以及其他历史nullifier trees的roots。
  • epoch具有固定时长,如6个月。

不过,需额外:

  • 根据notes的创建时间,来为该note分配epochs(如 n c n_c nc
  • 验证某note的nullifier值,不存在与任意epochs ≥ n c \geq n_c nc的nullifier trees中

这样,Polygon Miden中消费notes的流程调整为:
在这里插入图片描述
这样调整后,对用户端的影响为:

  • 对于在最近2个epochs中创建的notes,无影响。
  • 对于最近2个epochs之前创建的notes,用户端需:
    • 下载并存储对old nullifier trees的non-membership proofs(once per epoch,且可把下载和存储任务委托给第三方)。
    • 额外 验证old nullifier tree的non-membership proofs 的开销。

这样调整后,对网络的影响为:

  • 额外 在前一nullifier tree中检查某nullifiers值 的开销。

5. 其它项目方如何记录nullifiers?

其它项目方记录nullifiers的方案有:

参考资料

[1] 2023年9月Polygon Miden联合创始人Bobbin Threadbare在Fenbushi Capital的分享视频 Efficient tracking of nullifier sets by Bobbin from Polygon Maiden

Miden系列博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值