Groth16
2016に発表されたzk-SNARKsの代表格
内部では R1CS (Rank-1 Constraint System) という回路形式がよく使われる
利点
最小の証明サイズ
証明が非常に小さく、ブロックチェーンに記録する際のコスト(ガス代)を極限まで抑えられる
最速の検証時間
検証が圧倒的に速く、多くのノードが素早く検証を終えることができる
この効率性の高さから、匿名通貨のZcashをはじめ、多くの初期のZK-Rollupプロジェクトで採用された
弱点
回路固有の信頼されたセットアップ (Trusted Setup)
Groth16は、証明したい計算(プログラム)の種類ごとに、個別の初期設定(Trusted Setup) を行う必要がある
この設定は非常に手間がかかる上、もし設定時に生成される「秘密のパラメータ(有毒な秘密パラメータ)」が漏洩すると、偽の証明が作れてしまうリスクがある
このパラメータは「誰にも知られてはいけないマスターキー」のようなもの
新しいプログラムを作るたびに、この大変な初期設定をやり直さなければならないのが課題