SONIC
Construction
証明者がhidden witness a, b, c を使ってr(X, Y) を生成し、n次としてr(X, 1)をコミット。
検証者がchallengeとしてyを送る。
証明者がt(X, y)をコミット。
検証者がchallenge zを送る。
証明者がr(z, 1), r(z, y), t(z, y)でコミットをオープン。
検証者がr'(z, y)を計算し、r(x, y)r'(z, y) - k(y) = t(z, y) をチェック。
polynomial commitmentのverificationはpairingではなくfieldのequation検証だけなので、proofをbatchするときもproofにつきfield equation検証するだけでOK。
Fiat-shamir huristicによりrandom oracle modelでchallengeを前messageのハッシュ値に置換。
https://gyazo.com/60ab1d57bfb024d7a6acc76e94cf8270
AGMに基づくq-DLOG仮定
https://gyazo.com/25a2ee4b616399d095a80c4e79111065
https://gyazo.com/3bd14b2232776b8e510ee9f8918f01c6
AGM