Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ZoKrates - zk-SNARKをEthereumで使おう -
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takeharu-K
November 22, 2019
Technology
790
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ZoKrates - zk-SNARKをEthereumで使おう -
Blockchain Nagoya LT会で発表したスライドです。
zk-SNARK
ZoKrates
ゼロ知識証明
Takeharu-K
November 22, 2019
More Decks by Takeharu-K
See All by Takeharu-K
【Lightning Acompany #4】秘密計算のお気持ちを理解する
takeharuk
0
290
秘密計算勉強会#1資料/TEE・マルチパーティ計算・完全準同型暗号
takeharuk
0
1.8k
ブロックチェーンで変わる未来 基礎知識編
takeharuk
0
120
Schnorr署名を10分で理解@blockchain.nagoya
takeharuk
0
520
ECDSAを10分で理解/名古屋LT会
takeharuk
0
730
Other Decks in Technology
See All in Technology
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
290
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
290
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
900
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
670
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
440
全員がリーダーである世界へ キリマンジャロ登頂とシェアド・リーダー
jinwatanabe
0
100
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
590
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
290
キャリアLT会#3
beli68
0
110
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
360
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
120
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
420
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
660
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Talk to Developers About Accessibility
jct
2
410
The World Runs on Bad Software
bkeepers
PRO
72
12k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Transcript
ZoKrates zk-SNARKをEthereumで使う 191122 Acompany CTO 近藤岳晴
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. Ethereumにおけるトランザクション処理 コントラクトの実⾏と検証を⾏う
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. オフチェーンで計算 実⾏結果の検証だけを⾏う
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. オフチェーン計算のメリット • ノードの負荷が下がる •
スケーラビリティが上がる • TPSが上がる • 情報を秘密にすることができる • 残⾼情報を秘密にできる • コントラクトで秘密にしたい情報を扱うことができる
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. 実現⽅法 ゼロ知識証明を⽤いる
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. ゼロ知識証明 「秘密の情報を知っていることを、秘密の情 報を開⽰することなく証明すること」 例
• 洞窟の奥の扉の秘密の合⾔葉を知っている ことを証明したい • 検証する⼈が証明する⼈にAかBどちらかの ⽅から出てくることを要求する • 証明する⼈は指定された⽅から出てくる • 以上を何度も繰り返す • 秘密を知っている⼈は全て正しく出てくる
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. ゼロ知識証明の問題点 証明に何度もやり取りをする必要がある
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. 解決策 zk-SNARKを使う
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. zk-SNARK • Zero-Knowledge Succinct
Non-interactive Arguments of Knowledge • ⼀回のメッセージのやりとりで完了 • ゼロ知識性を持つ • 秘密情報を漏らすことがない • 検証者は証明が正しければ承認する • 証明が正しくなければ承認しない • デメリット • 信頼できる第三者による準備が必要
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. zk-SNARK概観 ⼊⼒ 出⼒ X
計算回路作成 Setup 信頼された第三者が実⾏ 検証 証明鍵 検証鍵 証明者 検証者 証明 + X
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. Ethereumで簡単に使うには ZoKrates ゾクラテス
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. ZoKrates • Ethereumでzk-SNARKを使うためのCLIツール •
機能 • 計算回路作成 • Setup処理 • 証明作成 • 検証⽤コントラクト作成
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. ZoKrates概観 • 独⾃の⾼級⾔語で計算回路作成 •
Setupの実⾏ • 証明の作成 • 検証⽤コントラクトコード作成
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. 内部の仕組み ZoKrates のコード パース
フラット化 CLI ⼊⼒ Witness R1CSに変換 libsnark コントラクト コード⽣成
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. 計算回路のコード例 def main(private field
a, field b) -> (field): field result = if a * a == b then 1 else 0 fi return result
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. Remixで使える
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. ZoKratesでzk-SNARKをEthereumで使ってみよう
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. 詳しくはこちらで https://hackernoon.com/zokrates-zksnarks-on-ethereum-made- easy-ql5oc3638
Strictly Confiden8al Copyright©株式会社Acompany All right reserved. Happy Hacking !