SlideShare a Scribd company logo
zk-SNARKs
九州工業大学 情報工学部
情報・通信工学科 荒木研究室
津田 匠貴
目次
1. zk-SNARKsの概要
2. 数学的準備
3. Flatting→R1CS
4. R1CS→QAP
5. Trusted Setup
6. 証明
7. 検証
8. まとめ
2
zk-SNARKsの概要
3
zk-SNARKs(Zero Knowledge – Succinct Non-interactive
Argument of Knowledge)
• Zero-Knowledge:ゼロ知識証明を用いたスキームであること
• Succint:実際に実行する計算量よりメッセージのサイズがとても小さいこと
• Non-interactive:証明者と承認者がリアルタイムで非対話な証明を行えること
• Argument of knowledge :計算による知識の証明のこと
SNARKとは、「承認者が証明者に問いを出すことなく承認作業を短時間かつ少ない計算量
で行うことができる」という概念
証明者Aliceは関数𝑓と秘密の入力𝑤,秘密でない入力𝑥に対して𝑦 = 𝑓(𝑥, 𝑤)を計算する
検証者BobはAliceの計算を確認したい
→𝑓を𝑓 − 𝑦に置き換えると、Bobは「Aliceに対して𝑓(𝑥, 𝑤) = 0となる𝑤を知っている」こと
を確認することになるここに数式を入力します。
4
何ができるのか?
1. 分散した情報の存在証明
2. 秘匿化したまま情報を送受信する
3. Txやブロックを集約し、メインチェーンに刻む
Layer 2 Solutionと呼ばれる
→これらが発展するとブロックチェーンの諸問題の解決に役立つ
• スケーラビリティ
• インターオペラビリティ
• プライバシー
5
例:zk-Rollup
6
https://ethereum.org/ja/developers/docs/scaling/layer-2-rollups/ より
• Ethereum上のスマートコントラクトが多数のトランザクションを集約し、その
証明を一つのトランザクションでオンチェーンに記録し、検証をゼロ知識証明
で行う
• これによってオンチェーンでのステートの書き換えが少ない回数で済み、取引
情報はオフチェーンストレージに格納される
zk-SNARKsの歴史
• 2011年:ゼロ知識証明の研究からzk-SNARKsが派生する
• 「 From extractable collision resistance to succinct non-interactive arguments of
knowledge, and back again: 」Bitansky,Canettiら
• 2014年:暗号資産の秘匿送金に応用されはじめる
• Zcashに利用されたのがはじまり
• 2016年:Ethereumにおける応用方法が検討され始める
• vitalikによる解説記事がはじまり
• 2018年:zk-SNARKsのデメリット(後述)を改善したzk-STARKsが提案される
• trusted setupが必要なく証明時間を短縮できるうえ、量子コンピュータ耐性がある
• 2021年:Ethereum2.0の一部に組み込まれて実装予定
7
zk-SNARKs以外の方法はないのか?
8
LayerX社 Anonifyの資料より
プライバシー保護の観点から見れば
代替手段が存在するがスケーラビリティや
インターオペラビリティの向上には向かない
zk-SNARKsのメリット・デメリット
メリット
• 証明のサイズが小さい
デメリット
• trusted setupが必要
• 計算量が大きい
9
数学的準備
10
数学的準備
• 行列計算
• 簡単な四則演算ができればokなので割愛
• ラグランジェの補間公式
• KEA1 (knowledge-of-exponent assumption)
• 便宜上、後半で説明
• 楕円曲線暗号
• BLS署名、ペアリング
• 充足可能性問題(SAT: Satisfiability Problem)
• 回路の充足性問題(Circuit-SAT)
• QAP(Quadratic Arithmetic Problem)
• クロネッカーのデルタ
• Schwartz-Zippleの補題
11
ラグランジェの補間公式
• 関数𝑓(𝑥)上の𝑛 + 1個の点
(𝑥0, 𝑓(𝑥0)), (𝑥1, 𝑓(𝑥1)), ・・・,(𝑥𝑛, 𝑓(𝑥𝑛))
を通る𝑛次関数𝑝(𝑥)は
𝑝 𝑥 =
𝑗=0
𝑛
𝑓(𝑥𝑗)𝐿𝑗(𝑥)
である。ここで𝐿𝑗(𝑥)は𝑛次関数
𝐿𝑗 𝑥 =
(𝑥 − 𝑥0) ⋯ (𝑥 − 𝑥𝑗−1)(𝑥 − 𝑥𝑗+1) ⋯ )(𝑥 − 𝑥𝑛)
(𝑥𝑗 − 𝑥0) ⋯ (𝑥𝑗 − 𝑥𝑗−1)(𝑥𝑗 − 𝑥𝑗+1) ⋯ )(𝑥𝑗 − 𝑥𝑛)
= 𝑖≠𝑗
(𝑥−𝑥𝑖)
(𝑥𝑗−𝑥𝑖)
𝑝(𝑥)をラグランジェの補間公式という
12
ペアリング
• 「楕円曲線の世界から有限体の世界へつなぐ架け橋」
• 楕円曲線𝐺上の2個の点の組みからある有限体𝐺𝑡への写像𝑒として作用する
𝑒: 𝐺 × 𝐺 → 𝐺𝑡
• 楕円曲線𝐺上の点をそれぞれ𝑃,𝑄とし2倍、3倍すると有限体上の値が2乗、3乗される
性質があり、これをペアリングの双線形性と言う
𝑒(2𝑃, 𝑄) = 𝑒(𝑃, 𝑄)²
𝑒(3𝑃, 2𝑄) = 𝑒(𝑃, 𝑄)⁶
• このペアリングの双線形性が検証に用いられる。
13
充足可能性問題(SAT)
• NP完全問題のひとつ
• 「与えられた多項式の出力が1になる入力の組み合わせが存在するか?」という問題
例「(𝑥1 ∨ 𝑥2) ∧ (𝑥1 ∨⇁ 𝑥2) ∧ (⇁ 𝑥1 ∨⇁ 𝑥2)の出力を1とする入力𝑥1,𝑥2 ∈ {0,1}が存在する」
• 𝑥1 = 1, 𝑥2 = 0のとき1となるので命題を満たす入力が存在する
• この仕組みを利用し、命題を満たす入力を持っていることを他人に対し証明する手法
を考えることができる。
• 証明者がSATに対する証拠𝑤: 𝑤𝑖𝑡𝑡𝑛𝑒𝑠𝑠を検証者に渡すことで、検証者はそれが関数𝑓の
出力が1となるかどうかを多項式時間で判定することができるようになる
• 𝑥をステートメント,𝑤を証拠としたとき関係ℛ: = {(𝑥, 𝑤) ∈ 𝔽𝑛
× 𝔽ℎ
}と定義する
ℛは演算回路Cで検証できるので(𝑥, 𝑤) ∈ ℛとなるとき𝑓(𝑥, 𝑤) = 1となる算術関数𝑓が存在
し入力が関数𝑓を満たす場合には演算回路の出力が1,そうでない場合には0となることを
意味する
14
算術回路に変換する
15
𝑓(𝑥1, 𝑥2) = (𝑥1 ∨ 𝑥2) ∧ (𝑥1 ∨⇁ 𝑥2) ∧ (⇁ 𝑥1 ∨⇁ 𝑥2)
∧
∧
∨
∨ ∨
𝑥1 𝑥2 ¬𝑥1 ¬𝑥2
𝑓(𝑥1, 𝑥2)
各乗算ノードの左辺、右辺の入力と出力に
多項式𝐿𝑖, 𝑅𝑖, 𝑂𝑖を割り当てる
・𝑔𝑖上で𝐿𝑖𝑅𝑖 = 𝑂𝑖
Circuit-SAT
• 対象が命題論理式から加算や乗算ゲートから成る回路へと変換されたSAT
• 「演算回路Cが与えられたとき、回路の出力を1とする入力が存在するか」という問題
16
QAP(Quadratic Arithmetic Program)
• SATの入出力が正しいかどうかを「ある多項式の入出力を知っている」ということに
変換する
制約
• ある式を掛け算ひとつで表現するために、変数を増やして表現する
• 各乗算ノードの左辺、右辺の入力と出力に多項式𝐿𝑖, 𝑅𝑖, 𝑂𝑖を割り当てる
基本的な流れ
証明者Alice;
• 多項式𝐿, 𝑅, 𝑂, 𝐻を選ぶ(Tは公開されている)
検証者Bob;
• 任意の𝑠を選び、𝐿(𝑠)𝑅(𝑠) − 𝑂(𝑠) = 𝑇(𝑠)𝐻(𝑠)を確認できればAliceが正しい計算
をしたと受理する
17
クロネッカーのデルタ
𝛿𝑖𝑗 =
0 (𝑖 = 𝑗)
1 (𝑖 ≠ 𝑗)
𝛿𝑖𝑗; 𝑇 × 𝑇 → 0,1
• 集合𝑇の元𝑖, 𝑗に対して上式によって定義される2変数関数
• 乗算ノード𝑔𝑖上で𝑏𝑖 𝑔𝑖 = 𝛿𝑖𝑗とする
• 算術回路の入出力を0/1を使った多項式に変換する役割を果たす
18
算術回路をクロネッカーのデルタを使って
多項式に変形する
• 例:𝑓 𝑐1, 𝑐2, 𝑐3 = 𝑐1 𝑐1 + 𝑐3
• 𝑐4 = 𝑐1𝑐2, 𝑐5 = 𝑐4 𝑐1 + 𝑐3
• 𝑏1 𝑥 = 2 − 𝑥, 𝑏2 𝑥 = 𝑥 − 1
• 𝐿 𝑥 ≔ 𝑖 𝑐𝑖𝐿𝑖 𝑥 = 𝑐1𝑏1 𝑥 + 𝑐4𝑏2 𝑥
• 𝑅 𝑥 ≔ 𝑖 𝑐𝑖𝑅𝑖 𝑥 = 𝑐2𝑏1 𝑥 + (𝑐1+𝑐3)𝑏2 𝑥
• 𝑂 𝑥 ≔ 𝑖 𝑐𝑖𝑂𝑖 𝑥 = 𝑐4𝑏1 𝑥 + 𝑐5𝑏2 𝑥
• 𝑉 𝑥 ≔ 𝐿 𝑥 𝑅 𝑥 − 𝑂(𝑥)
19
𝑐1 𝑐2 𝑐3 𝑐4 𝑐5
𝐿𝑖 𝑏1 0 0 𝑏2 0
𝑅𝑖 𝑏2 𝑏1 𝑏2 0 0
𝑂𝑖 0 0 0 𝑏1 𝑏2
𝑔1
𝑐1 𝑐2
𝑐4
𝑔2
𝑐4 𝑐1 + 𝑐3
𝑐5
多項式の検証
𝑔𝑖上で𝑏𝑖 𝑔𝑖 = 𝛿𝑖𝑗なので
• 𝑉 1 = 𝑐1𝑐2 − 𝑐4
• 𝑉 2 = 𝑐4 𝑐1 + 𝑐3 − 𝑐5
このとき𝑉 1 = 𝑉 2 =0なら𝑐1𝑐2 = 𝑐4, 𝑐4 𝑐1 + 𝑐3 = 𝑐5
→もとの式を正しく計算していることになる
𝑓 𝑐1, 𝑐2, 𝑐3 = 𝑐1
𝑐4 = 𝑐1𝑐2, 𝑐5 = 𝑐4 𝑐1 + 𝑐3
しかし、全ての多項式についてチェックする必要があるうえ
証明者は検証者に生成した多項式自体を渡さなければならない
20
多項式を割り算で検証する
ターゲット多項式
• 𝑇 𝑥 ≔ 𝑖 𝑥 − 𝑔𝑖 (この例では𝑇 𝑥 = 𝑥 − 1 𝑥 − 2 )
𝑽 𝒈𝒊 = 𝟎 ⟺ 𝑽(𝒙)が𝐓(𝐱)で割り切れる
𝐻(𝑥) = 𝑉(𝑥)/𝑇(𝑥)とすると、もし𝑤が正しければ𝐻(𝑥)𝑇(𝑥) − 𝑉(𝑥) = 0
が常に成り立つ
以下の多項式P(𝑥)が恒等的にゼロであることを検証すれば良い
𝑃(𝑥) = 𝐻(𝑥)𝑇(𝑥) − 𝑉(𝑥)
送信する複数の多項式を一つに集約できた
→それでも、検証コストがかかる
21
ある一点のみチェックする
Schwartz-Zippleの補題
多項式が正しくない場合、ランダムに選択した点𝑠で多項式を評価すると、高い確率で
誤った答えが出現することを示したもの
• 𝑑次多項式𝑓は高々𝑑個の解しか持たない
• 任意の点sに対して𝑓(𝑠) = 0となる確率は極めて低い
• 𝑓(𝑠) = 0ならば𝑓 ≡ 0
• この補題に依拠し、検証者はランダムに選んだ評価点𝑠を証明者に送り、それを受け
取った証明者はその点で多項式評価し、検証者に渡す
→秘密にしたい多項式のチェックを1点で代用できる
任意の一点で検証不可能ならば、証明者の証拠𝒘が正しくない
証明者は検証者に1つの多項式𝑷(𝒙) を送るだけで良い
22
QAPの定義について
定義:
多項式𝑅𝑖, 𝐿𝑖, 𝑂𝑖, 𝑇の組をQAPと呼ぶ.𝑉が𝑇で割り切れるとき(𝑐𝑖)はQAP
を満たすという.
QAPを満たすことを検証者が確認できれば証明者が答えを知ってい
ることを判定できる
証明者Alice;
• 多項式𝑃 𝑠 = 𝐻(𝑠)𝑇(𝑠) − 𝑉(𝑠)をBobへ送る
検証者Bob;
• 任意の𝑠を選び、𝑃 𝑠 = 0を確認できればAliceが正しい計算をしたと判断する
23
算術回路→多項式
24
𝑅 = {𝑟𝑘 𝑥 }𝑘∈{𝑚}
𝐿 = {𝑙𝑘 𝑥 }𝑘∈{𝑚}
𝑂 = {𝑜𝑘 𝑥 }𝑘∈{𝑚}
𝑇 𝑥 =
𝑖
𝑥 − 𝑔𝑖
𝑉 𝑥 = 𝑟0 +
𝑘=1
𝑚
𝑐𝑘. 𝑟𝑘 𝑥 ∙ 𝑙0 +
𝑘=1
𝑚
𝑐𝑘. 𝑙𝑘 𝑥 − 𝑜0 +
𝑘=1
𝑚
𝑐𝑘. 𝑜𝑘 𝑥
{𝐶𝑖} 𝑖∈{𝑚}
H 𝑥 𝑇 𝑥 = 𝑉(𝑥)
・𝑅, 𝐿, 𝑂は各ゲートの左入力、右入力、出力を表す多項式
・{𝐶𝑖} 𝑖∈{𝑚}
は回路への入力によって得られる各乗算ゲートの出力
Circuit-SAT→QAP
25
𝑃 𝑠 = 𝐻(𝑠)𝑇(𝑠) − 𝑉(𝑠)
Flatting→R1CS
26
承認までのながれ
27
R1CS
QAP
Trusted setup
証明
検証
Flatting
・複雑なコード(関数)を多項式に変換する一連の作業
・非対話型ゼロ知識証明を応用したプロトコル
・QAPから証明鍵/検証鍵を自動生成するスキーム
zk-SNARKsをEthereumで使う場合
28
Flatteningされたgate
29
sym_1 = x*x
y = sym_1*x
sym_2 = y*x
out = sym_2+5
例) 𝑥3
+ 𝑥 + 5 == 35の解(𝑥 = 3)を知っていることをZKPする
これらの制限のもと、𝑆𝐴 ∗ 𝑆𝐵 − 𝑆𝐶 = 0を満たす𝐴, 𝐵, 𝐶ベクトルを探す
また、𝑥 = 3なので𝑆 = (1,3,35,9,27,30)
コンパイルしたコード(qeval()関数)を𝑥 = 𝑦 か 𝑥 = 𝑦 (𝑜𝑝) 𝑧 の形に直すと以下の演算(gate)が定義できる
def qeval(x):
y = x**3
return x + y + 5
R1CS(rank-1 constraint system.)
R1CSは任意のコード(関数)を算術回路に落とし込み、配列に変形させるシステム
𝑎, 𝑏, 𝑐 , 𝑎𝑖 𝑥 , 𝑠 ∗ 𝑎 ∗ 𝑠 ∗ 𝑏 = 𝑠 ∗ 𝑐
𝑆 = 𝑠1, 𝑠2, 𝑠3
𝐴1 =
𝑎1,1
𝑎1.2
𝑎1.3
としたときに𝑆𝐴 ∗ 𝑆𝐵 − 𝑆𝐶 = 0になる(𝑎, 𝑏, 𝑐)を見つけることがゴール
このとき、𝑆𝐴や𝑆𝐵, 𝑆𝐶はスカラ値であり、𝑆は数字、変数、入力、出力のベクトルになる
30
gates→R1CS
𝑆 = (𝑜𝑛𝑒, 𝑥, 𝑜𝑢𝑡, 𝑠𝑦𝑚1, 𝑦, 𝑠𝑦𝑚2) のとき𝑆𝐴 ∗ 𝑆𝐵 − 𝑆𝐶 = 0でsym_1 = x * xを満たす
ベクトル(a,b,c)を計算すると
𝑥1 ∗ 𝑥1 − 𝑠𝑦𝑚11 = 0
𝑠𝑦𝑚1 = 𝑥 ∗ 𝑥
よって
𝑎 = 0,1,0,0,0,0
𝑏 = 0,1,0,0,0,0
𝑐 = 0,0,0,1,0,0
つまり、入力𝑥の値によって、 𝑆,𝐴, 𝐵, 𝐶の要素は一意に決定する
31
それぞれの演算結果
• sym_1 = x*x
𝑎 = 0,1,0,0,0,0
𝑏 = 0,1,0,0,0,0
𝑐 = 0,0,0,1,0,0
• y = sym_1*x
𝑎 = 0,0,0,1,0,0
𝑏 = 0,1,0,0,0,0
𝑐 = 0,0,0,0,1,0
• sym_2 = y*x
𝑎 = 0,1,0,0,1,0
𝑏 = 1,0,0,0,0,0
𝑐 = 0,0,0,0,0,1
• out = sym_2+5
𝑎 = 5,0,0,0,0,1
𝑏 = 1,0,0,0,0,0
𝑐 = 0,0,1,0,0,0
32
結果的にR1CSは長さが6(変数数+1)の3つのベクトル(A,B,C)からなる
4つの集合(gate数)から構成される
(0, 1, 0, 0, 0, 0)
(0, 0, 0, 1, 0, 0)
(0, 1, 0, 0, 1, 0)
(5, 0, 0, 0, 0, 1)
(0, 1, 0, 0, 0, 0)
(0, 1, 0, 0, 0, 0)
(1, 0, 0, 0, 0, 0)
(1, 0, 0, 0, 0, 0)
(0, 0, 0, 1, 0, 0)
(0, 0, 0, 0, 1, 0)
(0, 0, 0, 0, 0, 1)
(0, 0, 1, 0, 0, 0)
33
縦じゃなくて横に並べてます
𝐴 =
𝐵 =
𝐶 =
最終的にoutの演算𝑆𝐴 ∗ 𝑆𝐵 − 𝑆𝐶 = 0の結果もゼロになればok
34
R1CS→QAP
35
R1CS→QAP
R1CSからQAPの変換も、GatesからR1CSへの変換と同じように行うが
ドット積の代わりに多項式を利用する
例)𝐴について
36
同様に𝐵, 𝐶も変形させる
ベクトルを縦向きに取る
多項式化する
Aをラグランジェの補間公式に当てはめ、多項式にすると
𝐴1 𝑥 = −5.0 + 9.16 … 𝑥 − 5.0𝑥2
+ 0.83 … 𝑥3
𝐴2 𝑥 = 8.0 − 11.33 … 𝑥 + 5.0𝑥2
− 0.66 … 𝑥3
⋮
となる.
検算
𝐴1 1 = −5 + 9.16 … − 5 + 0.83 … = 0
𝐴1 4 = −5 + 9.16 … ∗ 4 − 5 ∗ 5 ∗ 16 + 0.83 … ∗ 64 = 5
37
一致している
𝐴2以降についても同様の結果が得られる(もちろん𝐵𝑖, 𝐶𝑖についても)
多項式の係数を昇順に並べてみる
38
A polynomials
[-5.0, 9.166, -5.0, 0.833]
[8.0, -11.333, 5.0, -0.666]
[0.0, 0.0, 0.0, 0.0]
[-6.0, 9.5, -4.0, 0.5]
[4.0, -7.0, 3.5, -0.5]
[-1.0, 1.833, -1.0, 0.166]
B polynomials
[3.0, -5.166, 2.5, -0.333]
[-2.0, 5.166, -2.5, 0.333]
[0.0, 0.0, 0.0, 0.0]
[0.0, 0.0, 0.0, 0.0]
[0.0, 0.0, 0.0, 0.0]
[0.0, 0.0, 0.0, 0.0]
C polynomials
[0.0, 0.0, 0.0, 0.0]
[0.0, 0.0, 0.0, 0.0]
[-1.0, 1.833, -1.0, 0.166]
[4.0, -4.333, 1.5, -0.166]
[-6.0, 9.5, -4.0, 0.5]
[4.0, -7.0, 3.5, -0.5]
R1CS→QAPのまとめ
39
4つの「長さ6の3つのベクトルからなるグループ」のR1CS
↓
3つの「6つの3次多項式からなるグループ」
R1CS 多項式(係数)
そもそもなんで多項式に変換するんだっけ?
• 今回のR1CSは4回ドット積をチェックする必要があるが、さらに複雑な関数になると
R1CSのままでは、数千~数万ものgatesをチェックすることになる
• gatesに対応するそれぞれのR1CSではなく、多項式のドット積をチェックすることで
全てのgatesを同時にチェックできるのがzk-SNARKsのメリット
• しかし、で多項式化するためのラグランジェの補間公式アルゴリズムは𝑂(𝑛3
)なので
多項式化の計算量がzk-SNARKsのデメリット
• zk-SNARKsを用いる関数は数千のgatesになるのでこのような最適化は超重要
→高速フーリエ変換を用いた最適化やzk-STARKsの登場につながる
40
実際に𝑆との積を計算する
• 𝐴 . 𝑠 = [43.0, −73.333, 38.5, −5.166] (= 𝐴(𝑥))
• 𝐵 . 𝑠 = [−3.0, 10.333, −5.0, 0.666] (= 𝐵(𝑥))
• 𝐶 . 𝑠 = [−41.0, 71.666, −24.5, 2.833] (= 𝐶(𝑥))
例えば、 1 ∗ (−5) + 3 ∗ 8 + 35 ∗ 0 + 9 ∗ (−5) + 27 ∗ 4 + 30 ∗ (−1) = 43.0
𝑡 = 𝐴 . 𝑠 ∗ 𝐵 . 𝑠 − 𝐶 . 𝑠 とすると
𝑡 = [−88.0, 592.666, −1063.777, 805.833, −294.777, 51.5, −3.444]
このとき、𝑡自体はゼロにならず、gate数に対応する𝑥 = 1,2,3,4について評価するのでは
なく
最小多項式𝑍で除算し、余りがないことをチェックする
41
計算の解釈を変更する
𝑍 = 𝑥 − 1 ∗ 𝑥 − 2 ∗ 𝑥 − 3 ∗ 𝑥 − 4 = 𝑥4
− 10𝑥3
+ 35𝑥2
− 50𝑥 + 24
係数ベクトルは[24, −50,35, −10,1](係数昇順)
よって、ℎ = 𝑡/𝑍 = [−3.666,17.055, −3.444] ,ℎ 𝑥 = −3.66 + 17.05𝑥 − 3.44𝑥2
つまり𝑥 = 1,2,3,4が解であるということ.
もし、間違った𝑠(つまり入力𝑥! = 3)だと𝑡多項式の𝑥 = 1,2,3,4を入力した結果がゼロ
にならない.
これはつまり、𝑃 = 𝐴𝐵 − Cが𝑍で因数分解できるときに
𝑃: = 𝐻𝑍であるということなので
𝐴 𝑥 ∗ 𝐵 𝑥 − 𝐶 𝑥 = 𝐻 𝑥 ∗ 𝑍(𝑥)
42
QAPのの最終形態
43
ここまでのおさらい
44
R1CS
QAP
Trusted setup
証明
検証
Flatting
・複雑なコード(関数)を多項式に変換する一連の作業
・非対話型ゼロ知識証明を応用したプロトコル
・QAPから証明鍵/検証鍵を自動生成するスキーム
Trusted Setup
45
Trusted Setupのながれ
46
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴1 𝑡 ∗ 𝑘𝑎
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴2 𝑡 ∗ 𝑘𝑎
・ …
・𝐺 ∗ 𝐵1 𝑡 , 𝐺 ∗ 𝐵1 𝑡 ∗ 𝑘𝑏
・𝐺 ∗ 𝐵2 𝑡 , 𝐺 ∗ 𝐵2 𝑡 ∗ 𝑘𝑏
・ …
・𝐺 ∗ 𝐶1 𝑡 , 𝐺 ∗ 𝐶1 𝑡 ∗ 𝑘𝑐
・𝐺 ∗ 𝐶2 𝑡 , 𝐺 ∗ 𝐶2 𝑡 ∗ 𝑘𝑐
・ …
Proving Key
𝑡,𝑘𝑎, 𝑘𝑏, 𝑘𝑐
toxic waste
QAPとtoxic wasteを使ってProving Keyとproofsを作成する作業
QAP
𝐴 𝑥 ∗ 𝐵 𝑥 − 𝐶 𝑥 = 𝐻 𝑥 ∗ 𝑍(𝑥)
KEA (knowledge-of-exponent assumption)
「情報𝒓を知っていることをゼロ知識証明できる仕組み」
• 楕円曲線上の点𝑃, 𝑄, 𝑅, 𝑆において 𝑃 ∗ 𝑘 = 𝑄の時、𝑅, 𝑆がそれぞれ
𝑃, 𝑄から計算できない場合は 𝑅 ∗ 𝑘は計算することができない。
• 逆に、𝑅 = 𝑟𝑃, 𝑆 = 𝑟𝑄となるような𝑟を知っている場合は𝑆=𝑘𝑅を
得ることができる。
例)
証明者アリスが(𝑅, 𝑆) = (𝑟𝑃, 𝑟𝑄)となる𝑟を知っているとすると
𝑆 = 𝑟𝑄 = 𝑟(𝑘𝑃) = 𝑘(𝑟𝑃) = 𝑅𝑘と確かに得ることができる
47
ベクトルで考えてみる
48
P
Q
R
S
𝑃 ∗ 𝑘 = 𝑄
𝑃から𝑅への写像が定義できなければ𝑅をスカラ倍した𝑅 ∗ 𝑘も定義できない
?
?
?
𝑟がわかれば定義できるベクトルが広がる
49
P
Q
R
S
逆に、𝑅 = 𝑟𝑃, 𝑆 = 𝑟𝑄となるような𝑟を知っていれば𝑆 = 𝑘𝑅を得ることができる
𝑅 = 𝑟𝑃
𝑆 = 𝑟𝑄
𝑃 ∗ 𝑘 = 𝑄 𝑆 = 𝑘𝑅
秘匿性の根拠
50
P
Q
R
S
𝑅 ∗ 𝑘 = 𝑆である(𝑅, 𝑆)を作るにはKEAより、𝑃, 𝑄に対して秘匿な値𝑟を
乗算して作るしかない
𝑅 = 𝑟𝑃
𝑆 = 𝑟𝑄
𝑃 ∗ 𝑘 = 𝑄 𝑆 = 𝑘𝑅
高速な検証が可能
51
P
Q
R
S
𝑅 = 𝑟𝑃
𝑆 = 𝑟𝑄
𝑃 ∗ 𝑘 = 𝑄 𝑆 = 𝑘𝑅
ただし、ペアリングの性質により𝑅 ∗ 𝐾 = 𝑆を検証するために
𝑘を知る必要はなく、𝑒(𝑅, 𝑄) = 𝑒(𝑃, 𝑆)を検証すればよい
𝑃 ∗ 𝑘 = 𝑄を線形和へ
• 楕円曲線上で𝑃𝑖 ∗ 𝑘 = 𝑄𝑖が成立する10個の点
𝑃1, 𝑄1 , 𝑃2, 𝑄2 … 𝑃10, 𝑄10 を考える
• 𝑘を知らない状況で、𝑅 ∗ 𝑘=𝑆となる楕円曲線上の点(𝑅, 𝑆)を作る
には、係数𝑖1, 𝑖2, … 𝑖10を用いて𝑃1 ∗ 𝑖1 + 𝑃2 ∗ 𝑖2+… 𝑃10 ∗ 𝑖10という線
形和から𝑅を知る必要がある。(𝑄についても同様)
• つまり、秘匿化したい情報𝒓 を 係数𝒊𝟏, 𝒊𝟐, … 𝒊𝟏𝟎 に置き換える
• zk-SNARKsにおいてこれら係数はQAPの多項式の係数に一致する
52
𝑃 ∗ 𝑘 = 𝑄を線形和へ(続き)
• 例えば(𝑃1, 𝑄1) (𝑃2, 𝑄2)で考えると𝑖1, 𝑖2を𝐹𝑞
∗の元として
𝑆 = 𝑖1𝑄1 + 𝑖2𝑄2 = 𝑖1𝑘𝑃1 + 𝑖2𝑘𝑃2 = 𝑘 𝑖1𝑃1 + 𝑖2𝑃2 = 𝑘𝑅
確かに、検証者は𝑆 = 𝑅 ∗ 𝑘を得ることができる
• つまり、線形和の検証を行いたい10個の𝑃に対して、𝑘を知らずに
対応する𝑄を作ることができない.(スカラ倍にできない)
53
toxic wasteについて
• KEAを実現するには秘匿化したい情報𝒓とスカラ𝒌の存在が重要
• もしもTrusted Setup後も𝑘が存在したら線形和を作ることなく任
意の𝑅に対して𝑅 ∗ 𝑘 = 𝑆となる(𝑅, 𝑆)のペアを作ることができてし
まいKEAが成り立たない
• つまり、信頼できる主体が10個の点(𝑃, 𝑄)を作ったら
𝒌を消去する必要がある
• 𝑘はMPC(Multi-party Computation Ceremonies)などを用いて
誰も値を知らない方法で計算される
54
Trusted Setupのデメリット
そもそも…
• Trusted Setupで(𝑃, 𝑄)が与えられ、KEAにより(𝑅, 𝑆)が生成できるこ
とがゼロ知識証明になっている。
「Pの線形和を生成することが可能か」という命題
しかし…
• Trusted Setupで𝒌を生成する必要がある
• 𝑘 の値を知られてしまうと安全性が損なわれる
• このTrusted Setupを使わない方法も研究されている
• zk-STARKs, Bulletproofsなど
55
KEAとQAPから証明を生成する
• 証明者はpublic inputと計算したwitness(private inputより)から
secretベクトルを計算でき、これを用いて証明を生成する。
• 𝐴(𝑥) ∗ 𝐵(𝑥) − 𝐶(𝑥) = 𝐻(𝑥) ∗ 𝑍(𝑥)なる多項式セット(𝐴, 𝐵, 𝐶, 𝑍)
が𝑄𝐴𝑃により与えられる
56
Proving Keyの作成
• ある点𝑡を多項式評価するsecret point 𝐺をgenerator pointとしてQAPの多項式より
以下の値をtrusted setupに加える
• このうち、𝑡,𝑘𝑎, 𝑘𝑏, 𝑘𝑐はtoxic wasteでtrusted setupが完了したら捨てなければならない
57
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴1 𝑡 ∗ 𝑘𝑎
・𝐺 ∗ 𝐴2 𝑡 , 𝐺 ∗ 𝐴2 𝑡 ∗ 𝑘𝑎
・ …
・𝐺 ∗ 𝐵1 𝑡 , 𝐺 ∗ 𝐵1 𝑡 ∗ 𝑘𝑏
・𝐺 ∗ 𝐵2 𝑡 , 𝐺 ∗ 𝐵2 𝑡 ∗ 𝑘𝑏
・ …
・𝐺 ∗ 𝐶1 𝑡 , 𝐺 ∗ 𝐶1 𝑡 ∗ 𝑘𝑐
・𝐺 ∗ 𝐶2 𝑡 , 𝐺 ∗ 𝐶2 𝑡 ∗ 𝑘𝑐
・ …
Proofsの作成
• 𝑃 ∗ 𝑘𝑎 = 𝑄となる𝑃, 𝑄が与えられたら、ある点𝑡で評価された𝐴𝑖の多項式の
線形和で分かる
• よって、証明者はt,𝑘𝑎, 𝑘𝑏, 𝑘𝑐を知ることなくtrusted setupで追加された点から以下
の点を計算し、proofsとして提供することが可能
• 証明者のみが知っているsolutionベクトルを𝑠 = (𝑠1, 𝑠2, 𝑠3)とすると
𝐴 𝑡 = 𝑠1𝐴1 𝑡 + 𝑠2𝐴2 𝑡 + 𝑠3𝐴3 𝑡
𝐵 𝑡 , 𝐶 𝑡 も同様
58
𝜋𝑎 = 𝐺 ∗ 𝐴 𝑡 , 𝜋′
𝑎 = 𝐺 ∗ 𝐴 𝑡 ∗ 𝑘𝑎
𝜋𝑏 = 𝐺 ∗ 𝐵 𝑡 , 𝜋′
𝑏 = 𝐺 ∗ 𝐵 𝑡 ∗ 𝑘𝑏
𝜋𝑐 = 𝐺 ∗ 𝐶 𝑡 , 𝜋′
𝑐 = 𝐺 ∗ 𝐶 𝑡 ∗ 𝑘𝑐
proofs
ここまでのながれ
59
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴1 𝑡 ∗ 𝑘𝑎
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴2 𝑡 ∗ 𝑘𝑎
・ …
・𝐺 ∗ 𝐵1 𝑡 , 𝐺 ∗ 𝐵1 𝑡 ∗ 𝑘𝑏
・𝐺 ∗ 𝐵2 𝑡 , 𝐺 ∗ 𝐵2 𝑡 ∗ 𝑘𝑏
・ …
・𝐺 ∗ 𝐶1 𝑡 , 𝐺 ∗ 𝐶1 𝑡 ∗ 𝑘𝑐
・𝐺 ∗ 𝐶2 𝑡 , 𝐺 ∗ 𝐶2 𝑡 ∗ 𝑘𝑐
・ …
Proving Key
𝑡,𝑘𝑎, 𝑘𝑏, 𝑘𝑐
toxic waste
QAPとtoxic wasteを使ってProving Keyとproofsを作成する作業
(EVerification KeyもTrusted Setupの段階で作られている)
QAP
𝐴 𝑥 ∗ 𝐵 𝑥 − 𝐶 𝑥 = 𝐻 𝑥 ∗ 𝑍(𝑥)
𝜋𝑎 = 𝐺 ∗ 𝐴 𝑡 , 𝜋′
𝑎 = 𝐺 ∗ 𝐴 𝑡 ∗ 𝑘𝑎
𝜋𝑏 = 𝐺 ∗ 𝐵 𝑡 , 𝜋′
𝑏 = 𝐺 ∗ 𝐵 𝑡 ∗ 𝑘𝑏
𝜋𝑐 = 𝐺 ∗ 𝐶 𝑡 , 𝜋′
𝑐 = 𝐺 ∗ 𝐶 𝑡 ∗ 𝑘𝑐
proofs
証明
60
同じ係数が使われていることの証明
• 3つの線形和全てが同じ係数であることを証明するために
𝑮 ∗ 𝑨𝒊 𝒕 + 𝑩𝒊 𝒕 + 𝑪𝒊 𝒕 ∗ 𝒌𝒅
をTrusted Setupに追加する
• 𝒌𝒅もtoxic wasteなので捨てる必要がある
• これにより、証明者はペアリングを使って𝐴 + 𝐵 + 𝐶がセットアップの値と同じか
検証することで同じ係数の線形和を作ることが可能になる
しかし、A, B, Cそれぞれ互いの線形和の係数が一致しているかは証明できていない
61
QAPが𝑍で割り切れることの証明
• また、𝑒(𝜋_𝑎, 𝜋_𝑏) / 𝑒(𝜋_𝑐, 𝐺) ? = 𝑒(𝜋_ℎ, 𝐺 ∗ 𝑍(𝑡))が成り立つか検証できるように
するために、𝐴 ∗ 𝐵 − 𝐶 = 𝐻 ∗ 𝑍であることも証明する必要がある。
• 𝜋ℎ = 𝐺 ∗ 𝐻(𝑡)
• 𝐻を楕円曲線上の点にすることは難しい。
• 𝐻はただの多項式であり、それぞれのQAPにおける係数をあらかじめ知っておく
ための時間はほとんどないので、Trusted Setupに以下のデータを加えておく
𝑮, 𝑮 ∗ 𝒕, 𝑮 ∗ 𝒕𝟐
, 𝑮 ∗ 𝒕𝟑
, 𝑮 ∗ 𝒕𝟒
• これにより、𝐻のそれぞれの項を楕円曲線上の点として扱うことができるので
それらを加算しているの𝐻も楕円曲線上の点となる
• 証明者が検証者に対して全てのデータを提供できるように、あるQAP において
𝐻(𝑡)がいつでも確実に計算できるようにしておく必要がある。
62
最終的なTrusted Setup
63
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴1 𝑡 ∗ 𝑘𝑎
・𝐺 ∗ 𝐴1 𝑡 , 𝐺 ∗ 𝐴2 𝑡 ∗ 𝑘𝑎
・ …
・𝐺 ∗ 𝐵1 𝑡 , 𝐺 ∗ 𝐵1 𝑡 ∗ 𝑘𝑏
・𝐺 ∗ 𝐵2 𝑡 , 𝐺 ∗ 𝐵2 𝑡 ∗ 𝑘𝑏
・ …
・𝐺 ∗ 𝐶1 𝑡 , 𝐺 ∗ 𝐶1 𝑡 ∗ 𝑘𝑐
・𝐺 ∗ 𝐶2 𝑡 , 𝐺 ∗ 𝐶2 𝑡 ∗ 𝑘𝑐
・ …
Proving Key
𝐺 ∗ 𝐴𝑖 𝑡 + 𝐵𝑖 𝑡 + 𝐶𝑖 𝑡 ∗ 𝑘𝑑
𝐺, 𝐺 ∗ 𝑡, 𝐺 ∗ 𝑡2
, 𝐺 ∗ 𝑡3
, 𝐺 ∗ 𝑡4
追加データ
最終的なproofs
• proofs(pk)は8つの楕円曲線上の点を含む(𝜋𝑘だけ𝐺2の要素)
• これらのうち𝜋𝑏以外は𝐹𝑝カーブ上の点であり、それぞれ32byte
• 𝜋𝑏は 𝐹𝑏2カーブ上にあり64byteなので証明サイズは288byte
64
𝜋𝑎 = 𝐺 ∗ 𝐴 𝑡
𝜋′𝑎 = 𝐺 ∗ 𝐴 𝑡 ∗ 𝑘𝑎
𝜋𝑏 = 𝐺 ∗ 𝐵 𝑡
𝜋′𝑏 = 𝐺 ∗ 𝐵 𝑡 ∗ 𝑘𝑏
𝜋𝑐 = 𝐺 ∗ 𝐶 𝑡
𝜋′𝑐 = 𝐺 ∗ 𝐶 𝑡 ∗ 𝑘𝑐
𝜋𝑑(= 𝐺 ∗ 𝐴 𝑡 + 𝐵 𝑡 + 𝐶(𝑡)) ∗ 𝑘𝑑
𝜋ℎ(= 𝐺 ∗ 𝐻(𝑡))
証明者のassignmentに対する追加保護
• 正しいassignmentが𝑠1 ⋯ 𝑠𝑚だとして(例えば、つまり𝐴 = 𝑠1𝐴1 + ⋯ + 𝑠𝑚𝐴𝑚)
対応する𝐴, 𝐵, 𝐶, 𝐻が存在するとする。
• ここで他の人が𝑠′1 ⋯ 𝑠′𝑚をassignmentとして対応する𝐴′, 𝐵′, 𝐶′, 𝐻′を計算できたと
すると𝑠′1 ⋯ 𝑠′𝑚は証明者のassignmentではないことを推定できてしまう
• そこで証明者は自身のassignmentを秘匿化するためにランダム値をそれぞれの
多項式に加える
𝐴𝑧 = 𝐴 + 𝛿1 ∗ 𝑍
𝐵𝑧 = 𝐵 + 𝛿2 ∗ 𝑍
𝐶𝑧 = 𝐶 + 𝛿3 ∗ 𝑍
• ここで、𝐴 ∗ 𝐵 − 𝐶 = 𝐻 ∗ 𝑍を想定指定いるのでそれぞれのランダム値に𝑍を掛け合
わせるとで𝐻を再定義し、以下の式で表すことができる
𝐴𝑧 ∗ 𝐵𝑧 − 𝐶𝑧 = 𝐻𝑥 ∗ 𝑇
65
検証
66
やること
前のステップで作成した証明をもとに
1. A, B, Cそれぞれに対して線形和が一致しているか検証
2. 線形和が同じ係数を持っているか検証
3. 𝑨 ∗ 𝑩 − 𝑪 = 𝑯 ∗ 𝒁の検証
これらについて、ペアリングを用いて検証し、全てokの場合のみ承認する
67
ココの部分
Verification Keyについて
• Trusted Setupの段階でVerification Keyも作成される
• 証明者が作成したproofsに対してVerification Keyを用いてペアリン
グをチェックする
68
𝑣𝑘𝑎 = 𝐺 ∗ 𝑘𝑎
𝑣𝑘𝑏 = 𝐺 ∗ 𝑘𝑏
𝑣𝑘𝑐 = 𝐺 ∗ 𝑘𝑐
𝑣𝑘𝑧 = 𝐺 ∗ 𝑍(𝑡)
𝑣𝑘𝑒 = 𝐺 ∗ 𝑘𝑒
𝑣𝑘𝑑𝑒 = 𝐺 ∗ 𝑘𝑑 ∗ 𝑘𝑒
特定のパラメータに対する”custom vertification key”
の生成を行う関数の処理
• ほとんどの場合、ゼロ知識証明を行いたいケースでは関数の挙動を抽象的にゼロ
知識証明するのではなく、特定の関数に対して指定したパラメーターを与えた時
のoutputに対してゼロ知識証明したい。
𝑑𝑒𝑐𝑟𝑦𝑝𝑡 𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑜𝑙𝑑, 𝑘 − 𝑑𝑒𝑐𝑟𝑦𝑝𝑡 𝑡𝑥𝑉𝑎𝑙𝑢𝑒, 𝑘 = 𝑑𝑒𝑐𝑟𝑦𝑝𝑡(𝑏𝑎𝑙𝑎𝑛𝑐𝑒𝑛𝑒𝑤, 𝑘)
• 例えば、𝑏𝑎𝑙𝑎𝑛𝑐𝑒_𝑜𝑙𝑑, 𝑡𝑥𝑉𝑎𝑙𝑢𝑒, 𝑏𝑎𝑙𝑎𝑛𝑐𝑒_𝑛𝑒𝑤の3つの変数は公開されており、これ
らのinputに制限した検証鍵を生成する必要がある。
69
A, B, Cそれぞれに対して線形和が一致しているか検証
左のproofsについて、右のペアリングが成立すればok
70
𝜋𝑎 = 𝐺 ∗ 𝐴 𝑡
𝜋′𝑎 = 𝐺 ∗ 𝐴 𝑡 ∗ 𝑘𝑎
𝜋𝑏 = 𝐺 ∗ 𝐵 𝑡
𝜋′𝑏 = 𝐺 ∗ 𝐵 𝑡 ∗ 𝑘𝑏
𝜋𝑐 = 𝐺 ∗ 𝐶 𝑡
𝜋′𝑐 = 𝐺 ∗ 𝐶 𝑡 ∗ 𝑘𝑐
𝑒 𝜋𝑎, 𝐺 ∗ 𝑘𝑎 = 𝑒(𝜋′
𝑎, 𝐺)
𝑒 𝜋𝑏, 𝐺 ∗ 𝑘𝑏 = 𝑒(𝜋′
𝑏, 𝐺)
𝑒 𝜋𝑐, 𝐺 ∗ 𝑘𝑐 = 𝑒(𝜋′
𝑐, 𝐺)
どういうことだっけ?
71
• 例えば、署名鍵により 𝑃𝑖, 𝑄𝑖 = (𝐴𝑖 𝑡 𝐺, 𝑘𝑎 ∗ 𝑡 𝐺)として𝑄𝑖 = 𝑘𝑎 ∗ 𝑃𝑖が与えられている
• 𝜋′
𝑎=𝑘𝑎 ∗ 𝜋𝑎となるようなproofを与えるためにはKEAより
𝜋𝑎 = 𝑎1 ∗ 𝐴1 𝑡 𝐺 + 𝑎2 ∗ 𝐴2 𝑡 𝐺 + ⋯
• となるような係数𝑎𝑖を知っている必要がある。(𝜋′
𝑎についても同様)
• この𝑎𝑖がQAPにwittnessをinputすることにより得られる多項式ベクトルであり、
𝜋𝑎を𝑃𝑖の線形和で表せていることになる。
• つまり、 𝑎𝑖を知らないと証明𝜋𝑎を証明鍵𝐴𝑖 𝑡 𝐺で表すことができず、
ペアリングが機能しない
線形和が同じ係数を持っているか検証
左のproofについて右のペアリングが成立すればok
72
𝜋𝑑 = 𝐺 ∗ 𝐴 𝑡 + 𝐵 𝑡 + 𝐶 𝑡 ∗ 𝑘𝑑
𝑒 𝜋𝑑, 𝑣𝑘𝑒 = 𝑒(𝜋𝑎 + 𝜋𝑏 + 𝜋𝑐, 𝑣𝑘𝑑𝑒)
(𝐴𝑖+𝐵𝑖 + 𝐶𝑖)𝐺に対応するasignmentの線形和が𝜋𝑎 + 𝜋𝑏 + 𝜋𝑐からの(𝐴 + 𝐵 + 𝐶)𝐺と一致
すれば、確かにそれぞれのA,B,Cに対してassignmentがかけられていることが分かる
𝐴 ∗ 𝐵 − 𝐶 = 𝐻 ∗ 𝑍の検証
左のproofについて右のペアリングが成立すればok
73
𝜋ℎ(= 𝐺 ∗ 𝐻(𝑡))
𝑒 𝜋𝑎, 𝜋𝑏 = 𝑒 𝜋ℎ, 𝑍 𝑡 𝐺 𝑒(𝜋𝑒, 𝐺)
zk-SNARKs早見表
74
まとめ
75
zk-SNARKsのメリット
メリット
• Zero-Knowledge:ゼロ知識証明を用いたスキームであること
• Succint:実際に実行する計算量よりメッセージのサイズがとても小さいこと
• Non-interactive:証明者と承認者がリアルタイムで非対話な証明を行えること
• Argument of knowledge :計算による知識の証明のこと
承認者が証明者に問いを出すことなく承認作業を短時間かつ少ない計算量で行う
デメリット
• Trusted Setupが必要
• 計算コストがかかる
• 証明時間:150~200kのconstraintsでlaptopで20~60sくらい
76
zk-STARKsの紹介
メリット
• Trusted Setupが必要ない
• 量子コンピューター耐性
• 証明の計算複雑性が低い(オーダー的にはsnarksの1/10くらい)
デメリット
• 証明サイズが大きい(~250kB: aurora)
• 検証複雑性はsnarksのsetup後よりは高い。
77
https://scrapbox.io/layerx/zk-SNARKsとzk-STARKsの比較 より
Circuit-SAT→QAP
78
𝑃 𝑠 = 𝐻(𝑠)𝑇(𝑠) − 𝑉(𝑠)
全体のながれ
79
ライブラリ
• libsnark : C++
• ZoKrates : rust
• zcash: rust
• snarkjs:JavaScript&WASM
what is WASM (WebAssembly) ?
• C・Rustなど様々なプログラミング言語からコンパイルされたバイナリをウェブブ
ラウザを含む様々な環境内仮想マシンで実行できるようになる
• 様々なブロックチェーンのアーキテクチャに採用されている
80
参考文献
• https://speakerdeck.com/layerx/anonify?slide=13 LayerX Reseach
• Japanese explanation of zksnarks. Cryptoeconomics Lab
• Quadratic Arithmetic Programs: from Zero to Hero Vitalik Buterin 2018
• Parameter Generation Zcash 2016
• ブロックチェーン系プロジェクトで着目される暗号技術 サイボウズ・ラボ 2018
81

More Related Content

What's hot

楕円曲線と暗号
楕円曲線と暗号楕円曲線と暗号
楕円曲線と暗号
MITSUNARI Shigeo
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
MITSUNARI Shigeo
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
MITSUNARI Shigeo
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
MITSUNARI Shigeo
 
暗号技術入門
暗号技術入門暗号技術入門
暗号技術入門
MITSUNARI Shigeo
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
Tetsuyuki Oishi
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
MITSUNARI Shigeo
 
公開鍵暗号8: 有限体上の楕円曲線の位数計算
公開鍵暗号8: 有限体上の楕円曲線の位数計算公開鍵暗号8: 有限体上の楕円曲線の位数計算
公開鍵暗号8: 有限体上の楕円曲線の位数計算Joe Suzuki
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
Akito Tabira
 
暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
MITSUNARI Shigeo
 
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
T. Suwa
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
MITSUNARI Shigeo
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
 
BLS Based Discreet Log Contracts
BLS Based Discreet Log ContractsBLS Based Discreet Log Contracts
BLS Based Discreet Log Contracts
Ichiro Kuwahara
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
MITSUNARI Shigeo
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
MITSUNARI Shigeo
 

What's hot (20)

楕円曲線と暗号
楕円曲線と暗号楕円曲線と暗号
楕円曲線と暗号
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
暗号技術入門
暗号技術入門暗号技術入門
暗号技術入門
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
公開鍵暗号8: 有限体上の楕円曲線の位数計算
公開鍵暗号8: 有限体上の楕円曲線の位数計算公開鍵暗号8: 有限体上の楕円曲線の位数計算
公開鍵暗号8: 有限体上の楕円曲線の位数計算
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
 
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
BLS Based Discreet Log Contracts
BLS Based Discreet Log ContractsBLS Based Discreet Log Contracts
BLS Based Discreet Log Contracts
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 

Similar to zk-SNARKsの仕組みについて

ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)
Alex Pruden
 
Quarks zk study-club
Quarks zk study-clubQuarks zk study-club
Quarks zk study-club
Alex Pruden
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
MITSUNARI Shigeo
 
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
Alex Pruden
 
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
Alex Pruden
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
JorgeVillamarin5
 
Randomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmRandomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced Algorithm
Mahbubur Rahman
 
Efficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketchingEfficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketching
Hsing-chuan Hsieh
 
Approximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative MethodApproximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative Method
Nischal Lal Shrestha
 
lesson 2.pptx
lesson 2.pptxlesson 2.pptx
lesson 2.pptx
khaledahmed316
 
Seminar9
Seminar9Seminar9
Seminar9
kim taegong
 
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
zkStudy Club: Subquadratic SNARGs in the Random Oracle ModelzkStudy Club: Subquadratic SNARGs in the Random Oracle Model
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
Alex Pruden
 
Isaac stream cipher
Isaac stream cipherIsaac stream cipher
Isaac stream cipher
Anoop Betigeri
 
Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis
Anantha Ramu
 
Intro to Quant Trading Strategies (Lecture 2 of 10)
Intro to Quant Trading Strategies (Lecture 2 of 10)Intro to Quant Trading Strategies (Lecture 2 of 10)
Intro to Quant Trading Strategies (Lecture 2 of 10)
Adrian Aley
 
Shors'algorithm simplified.pptx
Shors'algorithm simplified.pptxShors'algorithm simplified.pptx
Shors'algorithm simplified.pptx
SundarappanKathiresa
 
Algorithm analysis.pptx
Algorithm analysis.pptxAlgorithm analysis.pptx
Algorithm analysis.pptx
DrBashirMSaad
 
LeetCode Solutions In Java .pdf
LeetCode Solutions In Java .pdfLeetCode Solutions In Java .pdf
LeetCode Solutions In Java .pdf
zupsezekno
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
Jun Young Park
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacesbutest
 

Similar to zk-SNARKsの仕組みについて (20)

ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)
 
Quarks zk study-club
Quarks zk study-clubQuarks zk study-club
Quarks zk study-club
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
 
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
 
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
Randomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmRandomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced Algorithm
 
Efficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketchingEfficient anomaly detection via matrix sketching
Efficient anomaly detection via matrix sketching
 
Approximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative MethodApproximating Value of pi(Π) using Monte Carlo Iterative Method
Approximating Value of pi(Π) using Monte Carlo Iterative Method
 
lesson 2.pptx
lesson 2.pptxlesson 2.pptx
lesson 2.pptx
 
Seminar9
Seminar9Seminar9
Seminar9
 
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
zkStudy Club: Subquadratic SNARGs in the Random Oracle ModelzkStudy Club: Subquadratic SNARGs in the Random Oracle Model
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
 
Isaac stream cipher
Isaac stream cipherIsaac stream cipher
Isaac stream cipher
 
Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis Brief introduction to Algorithm analysis
Brief introduction to Algorithm analysis
 
Intro to Quant Trading Strategies (Lecture 2 of 10)
Intro to Quant Trading Strategies (Lecture 2 of 10)Intro to Quant Trading Strategies (Lecture 2 of 10)
Intro to Quant Trading Strategies (Lecture 2 of 10)
 
Shors'algorithm simplified.pptx
Shors'algorithm simplified.pptxShors'algorithm simplified.pptx
Shors'algorithm simplified.pptx
 
Algorithm analysis.pptx
Algorithm analysis.pptxAlgorithm analysis.pptx
Algorithm analysis.pptx
 
LeetCode Solutions In Java .pdf
LeetCode Solutions In Java .pdfLeetCode Solutions In Java .pdf
LeetCode Solutions In Java .pdf
 
Introduction to PyTorch
Introduction to PyTorchIntroduction to PyTorch
Introduction to PyTorch
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 

Recently uploaded

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 

Recently uploaded (20)

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 

zk-SNARKsの仕組みについて

Editor's Notes

  1. この時の関数はEthereumではスマートコントラクトだったり、
  2. ブロックチェーン領域における秘匿化の分類
  3. 有限体とは四則演算に対して閉じている有限の集合のことを言い、群は加法と乗法が閉じているより抽象的な集合のことを言います。