Groth16和Spartan是什么關系?
網站安全 admin 發布時間:2023-11-27 19:35:06 瀏覽: 次
1.Spartan 和 Testudo 都是與Groth16一樣,都是一個zkSnark的證明系統,只是他們更加高效。
Spartan中關于data-parallel的邏輯在代碼中也寫的很清楚。在做第三次Sumcheck和最終GKR的時候有個并行處理(for循環處)。
Groth16也好,Spartan也好都是一個證明系統,只是里面的算法不同,都是已經把Setup,Prove,Verify這3個主要算法都是封裝好了。
Zebra也是調用這些方法而已。
2.您的論文,簡稱Vote,是一個投票系統,關于可驗證這個屬性的時候用到了zkSnark的證明系統。其他屬性比如去中心化,隱私性跟Spartan就沒有什么關系了。
如果Vote想要借鑒Zebra的方案,那么直接采用Zebra的方案測試就行。只是把Spartan里面的幾個重要的參數確定好即可。
let num_constraints = 1 << 3;
let num_witness = 1 << 2;
let num_inputs = 6;
let num_copies = 4;
這幾個參數應該跟Statement有關,但是我還不知道如何根據陳述來確定這些參數。您的論文里面的Statement=(CTi,SNi),是一個密文。
3.關于聚合,因為整個的prove,verify過程都已經交給zkSnark系統,因此還需要我們聚合什么?Proof,Witness,Statement?
您的論文里面有聚合的過程,是把每個投票者的投票信息進行聚合,也就是密文聚合。從密文就是陳述的角度來看我們只要根據陳述確定Spartan
的那幾個參數,然后跑一遍Spartan就可以了。
相關推薦
-
無相關信息