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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takeharu-K
November 22, 2019
Technology
780
0
Share
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
280
秘密計算勉強会#1資料/TEE・マルチパーティ計算・完全準同型暗号
takeharuk
0
1.8k
ブロックチェーンで変わる未来 基礎知識編
takeharuk
0
120
Schnorr署名を10分で理解@blockchain.nagoya
takeharuk
0
510
ECDSAを10分で理解/名古屋LT会
takeharuk
0
710
Other Decks in Technology
See All in Technology
Forget technical debt
ufried
0
190
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
130
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
420
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
雑談は、センサーだった
bitkey
PRO
2
230
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.5k
マンション備え付けのネットワークとLTE回線を組み合わせた ネットワークの安定化の考案
harutiro
1
120
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.7k
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
310
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.5k
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
3
220
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
A Tale of Four Properties
chriscoyier
163
24k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Automating Front-end Workflow
addyosmani
1370
200k
Statistics for Hackers
jakevdp
799
230k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
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 !