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