ZoKrates
概要
任意の算術回路を高級言語っぽく書くだけでいい
必要なパーツ(R1CS、QAP)に変換してくれる
検証するためのスマコンコードを出力してくれる
デプロイするだけで、自分専用のゼロ知識証明コントラクトができる
19/11/22現在はなぜか証明が生成できないが。。。
α版なので仕方なし
Dockerでツールが提供されている
CLIで操作可能
独自の記述方法で任意の算術回路を生成できる
ファイル名は .zok
詳細
ユーザーの操作できるコマンドの説明
https://gyazo.com/5b20e87039641a0c997fca2779915765
Compile
独自の高級言語から算術回路を生成
Compute-witness
Witnessを計算
Setup
証明鍵と検証鍵を生成
export-verifier
検証用のコントラクトコードを生成
generate-proof
証明を生成
内部の処理
https://gyazo.com/87a307692a89f09b52a2911f276d3547
コードのパース
フラット化
インタプリタで入力を受けてwitness生成
R1CSに変換する
libsnarkライブラリを使ってコントラクトを生成する
参考文献
公式
Zokrates
ZoKrates - zkSNARKs On Ethereum (made easy)
動画
https://www.youtube.com/watch?v=sSlrywb5J_0