Accumulators
RSA 累加器
在 ZeroCoin 論文中,它使用來自 Camenisch 的動態累加器的 zk 證明,顯示 Pedersen 承諾隱藏了 RSA 累加器的一個元素(https://link.springer.com/content/pdf/10.1007/3-540-45708- 9_5.pdf )。但是,該證明似乎也可以用來證明元素的子集屬於累加器。
現在的問題是:ZeroCoin 如何證明 Pedersen 承諾隱藏了一個元素?
累加器中的每個元素都是一個素數,在一些選定的範圍之間。在這種情況下,Pedersen 承諾
$$ c = g^Sh^r \pmod{p} $$
被選擇使得 $ c $ 是素數。然後,所有這些值 $ c $ ,每個代表一個“硬幣”,被累積到 RSA 累加器中 $$ u^{\prod {c_i}} \pmod{N}. $$
每當使用硬幣時,網路都會檢查 $ c $ 確實是素數(意味著它不能代表一個以上的累積值),並且它的成員見證在裡面 $ A $ 已驗證。請注意,這是通過您提到的知識證明間接完成的,但知識證明確實需要 $ c $ 成為素數。論文的完整版中給出了證明,定理 4。