SlideShare a Scribd company logo
1 of 27
Download to read offline
© Hitachi,Ltd. 2019.All rights reserved.
Post-quantum zk-SNARKs on Hyperledger Fabric
株式会社日立製作所
社会システム研究部
長沼健
© Hitachi,Ltd. 2019. All rights reserved. 2
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 3
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 4
ゼロ知識証明とは?
ゼロ知識証明(zero-knowledge proof)とは、証明者(Prover)が検証者(Verifier)に、
自分の持っている命題が真であることを伝えるのに、真であること以外、
何の知識も伝えることなく証明できるような対話(非対話)知識証明プロトコルである。
by Wikipedia
Alice (Prover)は命題Pが真(True)である事を誰かに証明したい
命題P:
私は二十歳以上だ
命題P:
私はある暗号の秘密鍵
を知っている
© Hitachi,Ltd. 2019. All rights reserved. 5
ゼロ知識証明とは?
Alice (Prover)は命題Pが真(True)である事をBob(Verifier)にゼロ知識証明したい
命題P:
私は二十歳以上だ
命題Pの証明(真である証拠)出せ
運転免許証提示
運転免許証提示でAlice (Prover)は命題Pが真(True)である事をBobに証明
できるがゼロ知識ではない。生年月日から年齢などが漏れている。
どんなものがゼロ知識証明と言えるのか?
Alice Bob
© Hitachi,Ltd. 2019. All rights reserved. 6
ゼロ知識証明とは?
Alice (Prover)は命題Pが真(True)である事をBob(Verifier)にゼロ知識証明したい
Enc(pk, r)
乱数[r]を生成
Bob(Verifier)は自分で生成した乱数[r]を貰うだけなので、
対話終了後に秘密鍵に関する知識をゲットしていない⇒ゼロ知識っぽい
命題P:
私は公開鍵[pk]に対する
秘密鍵を知っている
r
秘密鍵を知っているのでEnc(pk, r)
を復号して平文[r]を計算可能
※当然、AliceがBobに秘密鍵を渡せばPが真である事は
証明できるが、ゼロ知識でない(Bobは秘密鍵に関する情報を得ているので)。
© Hitachi,Ltd. 2019. All rights reserved. 7
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 8
プラバシー vs 透明性
Blockchain data
Tx Data
ID:101のbitcoinは
Aliceが持っています
Tx Data
ID:100のbitcoinは
Tomが持っています
Tx Data
ID:101のbitcoinは
AliceからBobに送金
されました
Aliceの署名
Tx Data
ID:101のbitcoinは
BobからTomに送金さ
れました
Bobの署名
参照可能 参照可能 参照可能
透明性 プライバシ
Public Blockchainの台帳データはネットワーク上の誰でも参照可能
⇒透明性maxでプライバシーなし
トランザクションデータを暗号化(or hash化)したら、プライバシーは保たれるが、
マイナーがトランザクションの正当性を確認不能になる
© Hitachi,Ltd. 2019. All rights reserved. 9
もしトランザクションが暗号化されていると・・・
プライバシ保護のためUTXOで送金額が暗号化されたとすると・・・
[inputの金額の合計]=[outputの金額の合計] (手数料は0とする)
また、送金額は0以上の値
BCネットワーク
TX data
[input]
100coin
from: Tom
to: Alice
[output]
Enc(80coin)
from: Alice
to: Bob
[output]
Enc(50coin)
from: Alice
to: Alice
悪いAlice
Aliceは100coin分のunspent transactionのうち80をBobに送金、20をAliceに送金(おつ
り)するが、送金額が暗号化されている事をいいことに、おつりを50に不正に変更。
マイナーは復号化鍵をもっていないので金額不正に気付かない!
Miner or
Endorser
Miner or
Endorser
© Hitachi,Ltd. 2019. All rights reserved. 10
ブロックチェーンとゼロ知識証明の関係
一般的なゼロ知識証明の使い方
トランザクション内のプライバシ情報を秘匿化した際に正当性をゼロ知識で与える
秘匿化されたTx
+ゼロ知識証明
Tx Data
ID:101のbitcoinは
Aliceが持っています
Tx Data
ID:100のbitcoinは
Tomが持っています
Tx Data
From: ???
To: ???
Amount: ???
Aliceの署名
プライバシ情報は秘匿化されているが、
正当性を示すゼロ知識証明が付いている
Miner or
Endorser
不正は無さそうだ
な!!
© Hitachi,Ltd. 2019. All rights reserved. 11
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 12
Secure Smart Contractのイメージ
Blockchain data
Smart Contract
SC logic
deploy
引数
arg1
引数
arg2
戻り値
result
この部分を秘匿化(正確にはアクセス制御)したい!
・Alice(contract owner)はSCをBC上にdeploy
・Tom, BobはそのSCに対してargument txを送信
・Alice(or 誰かが)SCをargに対して実行し、結果をBCに記録
この時、arg, resultを適切にアクセス制御したい
(i.e., argは本人とAlice(contract owner)のみ閲覧可能、resultも関係者のみ閲覧可)
SCのロジック自体は誰でも閲覧可能(open)
Alice Tom
Bob
© Hitachi,Ltd. 2019. All rights reserved. 13
実例:2nd price auction
auction seller
Bidder A
Bidder B
Bidder C
1000円!
2000円!
500円!
Bidder B
落札者
(Winner)
priceは1000円(2nd price)
・各入札者は1度だけ払っても良い最高額を入札する(bidding)
・最高額を入札した人が落札者winnerになる(下の図ではbidder A)
・落札者が支払う金額は入札額2位の人の金額(下の図ではbidder Cの9万円)
※1st priceオークションと違い、払いすぎる心配がない
© Hitachi,Ltd. 2019. All rights reserved. 14
BC上で2nd priceオークションは可能か?
Blockchain data
Smart Contract
hogehoge
deploy
引数
arg1 = 1000円
引数
arg2 = 2000円 引数
arg3 = 500円
戻り値
winner = bidder B
2nd price = 1000円
引数に対してSC実行Bidder A Bidder B Bidder C
【懸念点】引数、戻り値がopenだと・・・
・2nd priceオークションにならない、公開入札(English auction)になる
・Bidder A入札後、Sellerの利得最大化のために、1,999円で入札される(1st price)
・みんなの入札金額、落札者がopenになる(プライバシ問題)
⇒引数、戻り値の暗号化が必要
【懸念点】引数、戻り値を暗号化し、Sellerにのみ開示すると・・・
・Sellerが実行結果を改ざんできる(e.g. 2nd price=1,999円)
Seller
© Hitachi,Ltd. 2019. All rights reserved. 15
2nd priceオークションのロジック
1: winner = 0
2: max = 0
3: 2nd_price = 0
4:
5: // Nは入札者数
6: for i=0;i<N;i++
7:
8: // 勝者判定
9: if bidder[i].price > max
10: winner = i
11: 2nd_price = max
12: max = bidder[i].price
13:
14: return {winner, 2nd_price}
※疑似コード
後でSellerが実行する。
全員の入札金額はSellerしか知らないので、不正改ざんしてもばれない。
© Hitachi,Ltd. 2019. All rights reserved. 16
ゼロ知識証明を使って不正改ざんを防止
Blockchain dataChaincode
hogehoge
pk
Seller
Endorser
Phase 1, 2(initialization & deploy):
Sellerは2nd priceオークションのチェインコードをデプロイ
(Fabric)CAはこのチェインコードに対して以下のzk-SNARKのパラメータを生成する
・ゼロ知識証明生成用の鍵pk⇒Sellerに渡す
・ゼロ知識証明検証用の鍵vk⇒Peerに渡す
vk
© Hitachi,Ltd. 2019. All rights reserved. 17
ゼロ知識証明を使って不正改ざんを防止
Blockchain dataChaincode
hogehoge
pk
Seller
Phase 3(betting):
各Bidderはtemp key(KA,KB,KC)を生成し、入札金額のHmac値を台帳に書く
vk
引数
arg1 =
Hmac(KA, 1000)
引数
arg2 =
Hmac(KB, 2000) 引数
arg3 =
Hmac(KC, 500)
Bidder A Bidder B Bidder C
Endorser
© Hitachi,Ltd. 2019. All rights reserved. 18
ゼロ知識証明を使って不正改ざんを防止
Blockchain dataChaincode
hogehoge
pk
Seller
Phase 4(execution): オフライン処理に注意!!
各Bidderはtemp keyと入札金額をSellerに渡す(Logicの引数たち)
Sellerは2nd priceオークションのロジックを実行し、winnerと2nd priceを算出、
確かにロジックを実行した、という証拠にpkを使ってゼロ知識証明[π]を生成
vk
引数
arg1 =
Hmac(KA, 1000)
引数
arg2 =
Hmac(KB, 2000) 引数
arg3 =
Hmac(KC, 500)
Bidder A Bidder B Bidder C
(KB, 2000)(KA, 1000) (KC, 500)
Endorser
© Hitachi,Ltd. 2019. All rights reserved. 19
ゼロ知識証明を使って不正改ざんを防止
Blockchain dataChaincode
hogehoge
pk
Seller
Phase 5(result):
Sellerは(winner, 2nd price, π)を台帳に書き込む(現状版では戻り値はopen)
が、この際にPeerが[正しい引数(1000, 2000, 500)]で[2nd priceのロジック]が
実行されたかを検証する(invalidならtxは書き込まれない)
この検証は検証鍵[vk]と[π]と台帳上の[HMAC値]のみで可能
vk
引数
arg1 =
Hmac(KA, 1000)
引数
arg2 =
Hmac(KB, 2000) 引数
arg3 =
Hmac(KC, 500)
Bidder A Bidder B Bidder C
戻り値
winner = Bidder B
2nd
price = 1000円
ZKP: π
Check
Endorser
© Hitachi,Ltd. 2019. All rights reserved. 20
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 21
Hyperledger Fabricでの実装アーキテクチャ
・ゼロ知識証明したいコントラクトをユーザが指定
・Fabric CAがコントラクトのロジックに対して、ゼロ知識証明生成鍵/検証鍵を生成
・ゼロ知識証明生成鍵をユーザ、検証鍵をEndorserに配布
・ユーザはendorsementの際に、ゼロ知識証明を生成、txに付与
・Endorserは検証鍵を使ってゼロ知識証明を検証
BCネットワーク
Endorserユーザ
Fabric CA
PK
(証明生成鍵) VK(証明検証鍵)
Chaincode
hogehoge
Chaincode
hogehoge
TX+ZKP: π
© Hitachi,Ltd. 2019. All rights reserved. 22
修正版:2nd priceオークションのロジック
1: winner = 0
2: max = 0
3: 2nd_price = 0
4:
5: // Nは入札者数
6: for i=0;i<N;i++
7:
8: // 入力値の不正チェック
9: if bidder[i].hashed_price != hmac(bidder[i].hash_key, bidder[i].price)
10: abort()
11:
12: // 勝者判定
13: if bidder[i].price > max
14: winner = i
15: 2nd_price = max
16: max = bidder[i].price
17:
18: return {winner, 2nd_price}
※疑似コード
ロジックに入力金額の不正が無いかチェックする機能を追加(8~10行目)
ZKP + verification keyと公開情報のみを用いて、上記のロジックが
確かに実行された事を確認可能(verifiable computation)
© Hitachi,Ltd. 2019. All rights reserved. 23
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 24
性能評価実験
0.0
5.0
10.0
15.0
20.0
25.0
0 5000 10000 15000 20000 25000 30000 35000
0.0000
0.0002
0.0004
0.0006
0.0008
0.0010
0.0012
0 5000 10000 15000 20000 25000 30000 35000
回路サイズ回路サイズ
処
理
時
間
(
秒
)
処
理
時
間
(
秒
)
ユーザ処理
ゼロ知識証明生成
Endorser処理
ゼロ知識証明検証
評価方法
量子計算機への耐性を考慮し、LWE暗号方式をベースに方式設計
zk-SNARKの標準ライブラリlibsnarkの一部機能を利用し実装
様々な回路サイズ(スマートコントラクトのサイズ)に対して評価実験を実施
実験結果(評価PCはIntel(R) Core(TM) i7-9700K CPU @ 3.60GHz ×8)
・ユーザ側の処理時間(ゼロ知識証明生成)は回路サイズに比例して増加
⇒Hash関数の評価には210秒, 300GBのメモリが必要になる計算
・Endorserの処理時間(ゼロ知識証明検証)は回路サイズによらず1msec程度
© Hitachi,Ltd. 2019. All rights reserved. 25
目次
• ゼロ知識証明とは?
• ブロックチェーンでどうやってゼロ知識証明を使うのか?
• セキュアスマートコントラクト
• Hyperledger Fabricでの実装アーキテクチャ
• 評価実験
• まとめ
© Hitachi,Ltd. 2019. All rights reserved. 26
まとめ
やったことのまとめ
1. 量子計算機耐性を有するzk-SNARK方式を設計、libsnarkへ実装
2. Hyperledger Fabric向けの実装アーキテクチャを設計、Endorsement
Peerへゼロ知識証明の検証機能をプラグイン実装
3. ゼロ知識証明初心者向けに、いくつかのガジェット作成
今後の課題
1. ゼロ知識証明生成の処理軽量化
2. Universal Circuitへの対応(Fabric CAの処理軽量化&trustless)
3. 初心者向け&開発効率向上に向けたガジェットの拡充
4. ユーザ証明書の属性、資格情報をゼロ知識証明する機能等
Post-quantum zk-SNARKs on Hyperledger Fabric​

More Related Content

What's hot

データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたHyperleger Tokyo Meetup
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)Naohiro Fujie
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介Hyperleger Tokyo Meetup
 
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向Naohiro Fujie
 
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )Akira Kanaoka
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPFShuji Yamada
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT deviceKentaro Mitsuyasu
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術MITSUNARI Shigeo
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要Naohiro Fujie
 
FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法fisuda
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景Tatsuo Kudo
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介新プロジェクト Hyperledger Cactus のご紹介
新プロジェクト Hyperledger Cactus のご紹介
 
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向
 
Hyperledger Aries 101
Hyperledger Aries 101Hyperledger Aries 101
Hyperledger Aries 101
 
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
 
「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
FIDOのキホン
FIDOのキホンFIDOのキホン
FIDOのキホン
 
Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観Hyperledgerプロジェクト概観
Hyperledgerプロジェクト概観
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
 
FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法FIWARE IoTデバイスを保護する方法
FIWARE IoTデバイスを保護する方法
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 

Similar to Post-quantum zk-SNARKs on Hyperledger Fabric​

Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...blockchainexe
 
エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎Hyperleger Tokyo Meetup
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)dcubeio
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現UnityTechnologiesJapan002
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法SmartNews, Inc.
 
ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版YamashitaKatsushi
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602Masashi Sato
 
図解で理解するvetKD
図解で理解するvetKD図解で理解するvetKD
図解で理解するvetKDryoo toku
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…Drecom Co., Ltd.
 
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6Hironobu Isoda
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)blockchainexe
 
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン健一 茂木
 
AWS IoT EduKit ワークショップのご紹介
AWS IoT EduKit ワークショップのご紹介AWS IoT EduKit ワークショップのご紹介
AWS IoT EduKit ワークショップのご紹介Yukinobu Mine
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key TokenYuichi Nakamura
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)シスコシステムズ合同会社
 

Similar to Post-quantum zk-SNARKs on Hyperledger Fabric​ (20)

Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
 
エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎エンタープライズブロックチェーン構築の基礎
エンタープライズブロックチェーン構築の基礎
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
 
ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版ブロックチェーンを学ぶ 公開版
ブロックチェーンを学ぶ 公開版
 
Bluetooth meshの基礎
Bluetooth meshの基礎Bluetooth meshの基礎
Bluetooth meshの基礎
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
図解で理解するvetKD
図解で理解するvetKD図解で理解するvetKD
図解で理解するvetKD
 
5jCup WebRTC賞
5jCup WebRTC賞5jCup WebRTC賞
5jCup WebRTC賞
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
 
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
 
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
 
AWS IoT EduKit ワークショップのご紹介
AWS IoT EduKit ワークショップのご紹介AWS IoT EduKit ワークショップのご紹介
AWS IoT EduKit ワークショップのご紹介
 
OAuthのHolder of Key Token
OAuthのHolder of Key TokenOAuthのHolder of Key Token
OAuthのHolder of Key Token
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
 

More from Hyperleger Tokyo Meetup

Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperleger Tokyo Meetup
 
Hyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebXHyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebXHyperleger Tokyo Meetup
 
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperleger Tokyo Meetup
 
ファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private Chainsファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private ChainsHyperleger Tokyo Meetup
 
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出すTrusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出すHyperleger Tokyo Meetup
 
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論Hyperleger Tokyo Meetup
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待Hyperleger Tokyo Meetup
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperleger Tokyo Meetup
 
Hyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperleger Tokyo Meetup
 
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltzHyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltzHyperleger Tokyo Meetup
 
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料Hyperleger Tokyo Meetup
 
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜Hyperleger Tokyo Meetup
 
いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始Hyperleger Tokyo Meetup
 
パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例Hyperleger Tokyo Meetup
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperleger Tokyo Meetup
 
ブロックチェーンの実用化に向けたネットワーク・スケーリング
ブロックチェーンの実用化に向けたネットワーク・スケーリングブロックチェーンの実用化に向けたネットワーク・スケーリング
ブロックチェーンの実用化に向けたネットワーク・スケーリングHyperleger Tokyo Meetup
 

More from Hyperleger Tokyo Meetup (20)

Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
 
Hyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebXHyperledger FireFly - HYPERLEDGER Workshop, WebX
Hyperledger FireFly - HYPERLEDGER Workshop, WebX
 
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
Hyperledger Irohaを活用した海外におけるCBDCとクロスボーダー送金
 
ファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private Chainsファイアフライ「蛍」FireFly to Public and Private Chains
ファイアフライ「蛍」FireFly to Public and Private Chains
 
Hyperledger Fabric 概説
Hyperledger Fabric 概説Hyperledger Fabric 概説
Hyperledger Fabric 概説
 
Hyperledger Besuの動向
Hyperledger Besuの動向Hyperledger Besuの動向
Hyperledger Besuの動向
 
Hyperledger Iroha
Hyperledger IrohaHyperledger Iroha
Hyperledger Iroha
 
Introduction; Blockchain 101
Introduction; Blockchain 101Introduction; Blockchain 101
Introduction; Blockchain 101
 
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出すTrusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
Trusted Data Ecosystems(信頼できるデータエコシステム):アイデンティティに価値を見出す
 
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
 
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
ブロックチェーン統合ツールCactusとトークンエコノミー実現への期待
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
 
Hyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private ChaincodeについてHyperledger Fabric Private Chaincodeについて
Hyperledger Fabric Private Chaincodeについて
 
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltzHyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
Hyperledger Fabric活用事例:貿易プラットフォームTradeWaltz
 
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
パネルディスカッション : エンタープライズブロックチェーンの活用例 オラクル資料
 
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
ソラミツのご紹介 〜Hyperledger Irohaを活用した導入事例〜
 
いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始いろはを活用したデジタル地域通貨の運用開始
いろはを活用したデジタル地域通貨の運用開始
 
パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例パネルディスカッション : エンタープライズブロックチェーンの活用例
パネルディスカッション : エンタープライズブロックチェーンの活用例
 
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
 
ブロックチェーンの実用化に向けたネットワーク・スケーリング
ブロックチェーンの実用化に向けたネットワーク・スケーリングブロックチェーンの実用化に向けたネットワーク・スケーリング
ブロックチェーンの実用化に向けたネットワーク・スケーリング
 

Recently uploaded

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Recently uploaded (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Post-quantum zk-SNARKs on Hyperledger Fabric​

  • 1. © Hitachi,Ltd. 2019.All rights reserved. Post-quantum zk-SNARKs on Hyperledger Fabric 株式会社日立製作所 社会システム研究部 長沼健
  • 2. © Hitachi,Ltd. 2019. All rights reserved. 2 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 3. © Hitachi,Ltd. 2019. All rights reserved. 3 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 4. © Hitachi,Ltd. 2019. All rights reserved. 4 ゼロ知識証明とは? ゼロ知識証明(zero-knowledge proof)とは、証明者(Prover)が検証者(Verifier)に、 自分の持っている命題が真であることを伝えるのに、真であること以外、 何の知識も伝えることなく証明できるような対話(非対話)知識証明プロトコルである。 by Wikipedia Alice (Prover)は命題Pが真(True)である事を誰かに証明したい 命題P: 私は二十歳以上だ 命題P: 私はある暗号の秘密鍵 を知っている
  • 5. © Hitachi,Ltd. 2019. All rights reserved. 5 ゼロ知識証明とは? Alice (Prover)は命題Pが真(True)である事をBob(Verifier)にゼロ知識証明したい 命題P: 私は二十歳以上だ 命題Pの証明(真である証拠)出せ 運転免許証提示 運転免許証提示でAlice (Prover)は命題Pが真(True)である事をBobに証明 できるがゼロ知識ではない。生年月日から年齢などが漏れている。 どんなものがゼロ知識証明と言えるのか? Alice Bob
  • 6. © Hitachi,Ltd. 2019. All rights reserved. 6 ゼロ知識証明とは? Alice (Prover)は命題Pが真(True)である事をBob(Verifier)にゼロ知識証明したい Enc(pk, r) 乱数[r]を生成 Bob(Verifier)は自分で生成した乱数[r]を貰うだけなので、 対話終了後に秘密鍵に関する知識をゲットしていない⇒ゼロ知識っぽい 命題P: 私は公開鍵[pk]に対する 秘密鍵を知っている r 秘密鍵を知っているのでEnc(pk, r) を復号して平文[r]を計算可能 ※当然、AliceがBobに秘密鍵を渡せばPが真である事は 証明できるが、ゼロ知識でない(Bobは秘密鍵に関する情報を得ているので)。
  • 7. © Hitachi,Ltd. 2019. All rights reserved. 7 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 8. © Hitachi,Ltd. 2019. All rights reserved. 8 プラバシー vs 透明性 Blockchain data Tx Data ID:101のbitcoinは Aliceが持っています Tx Data ID:100のbitcoinは Tomが持っています Tx Data ID:101のbitcoinは AliceからBobに送金 されました Aliceの署名 Tx Data ID:101のbitcoinは BobからTomに送金さ れました Bobの署名 参照可能 参照可能 参照可能 透明性 プライバシ Public Blockchainの台帳データはネットワーク上の誰でも参照可能 ⇒透明性maxでプライバシーなし トランザクションデータを暗号化(or hash化)したら、プライバシーは保たれるが、 マイナーがトランザクションの正当性を確認不能になる
  • 9. © Hitachi,Ltd. 2019. All rights reserved. 9 もしトランザクションが暗号化されていると・・・ プライバシ保護のためUTXOで送金額が暗号化されたとすると・・・ [inputの金額の合計]=[outputの金額の合計] (手数料は0とする) また、送金額は0以上の値 BCネットワーク TX data [input] 100coin from: Tom to: Alice [output] Enc(80coin) from: Alice to: Bob [output] Enc(50coin) from: Alice to: Alice 悪いAlice Aliceは100coin分のunspent transactionのうち80をBobに送金、20をAliceに送金(おつ り)するが、送金額が暗号化されている事をいいことに、おつりを50に不正に変更。 マイナーは復号化鍵をもっていないので金額不正に気付かない! Miner or Endorser Miner or Endorser
  • 10. © Hitachi,Ltd. 2019. All rights reserved. 10 ブロックチェーンとゼロ知識証明の関係 一般的なゼロ知識証明の使い方 トランザクション内のプライバシ情報を秘匿化した際に正当性をゼロ知識で与える 秘匿化されたTx +ゼロ知識証明 Tx Data ID:101のbitcoinは Aliceが持っています Tx Data ID:100のbitcoinは Tomが持っています Tx Data From: ??? To: ??? Amount: ??? Aliceの署名 プライバシ情報は秘匿化されているが、 正当性を示すゼロ知識証明が付いている Miner or Endorser 不正は無さそうだ な!!
  • 11. © Hitachi,Ltd. 2019. All rights reserved. 11 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 12. © Hitachi,Ltd. 2019. All rights reserved. 12 Secure Smart Contractのイメージ Blockchain data Smart Contract SC logic deploy 引数 arg1 引数 arg2 戻り値 result この部分を秘匿化(正確にはアクセス制御)したい! ・Alice(contract owner)はSCをBC上にdeploy ・Tom, BobはそのSCに対してargument txを送信 ・Alice(or 誰かが)SCをargに対して実行し、結果をBCに記録 この時、arg, resultを適切にアクセス制御したい (i.e., argは本人とAlice(contract owner)のみ閲覧可能、resultも関係者のみ閲覧可) SCのロジック自体は誰でも閲覧可能(open) Alice Tom Bob
  • 13. © Hitachi,Ltd. 2019. All rights reserved. 13 実例:2nd price auction auction seller Bidder A Bidder B Bidder C 1000円! 2000円! 500円! Bidder B 落札者 (Winner) priceは1000円(2nd price) ・各入札者は1度だけ払っても良い最高額を入札する(bidding) ・最高額を入札した人が落札者winnerになる(下の図ではbidder A) ・落札者が支払う金額は入札額2位の人の金額(下の図ではbidder Cの9万円) ※1st priceオークションと違い、払いすぎる心配がない
  • 14. © Hitachi,Ltd. 2019. All rights reserved. 14 BC上で2nd priceオークションは可能か? Blockchain data Smart Contract hogehoge deploy 引数 arg1 = 1000円 引数 arg2 = 2000円 引数 arg3 = 500円 戻り値 winner = bidder B 2nd price = 1000円 引数に対してSC実行Bidder A Bidder B Bidder C 【懸念点】引数、戻り値がopenだと・・・ ・2nd priceオークションにならない、公開入札(English auction)になる ・Bidder A入札後、Sellerの利得最大化のために、1,999円で入札される(1st price) ・みんなの入札金額、落札者がopenになる(プライバシ問題) ⇒引数、戻り値の暗号化が必要 【懸念点】引数、戻り値を暗号化し、Sellerにのみ開示すると・・・ ・Sellerが実行結果を改ざんできる(e.g. 2nd price=1,999円) Seller
  • 15. © Hitachi,Ltd. 2019. All rights reserved. 15 2nd priceオークションのロジック 1: winner = 0 2: max = 0 3: 2nd_price = 0 4: 5: // Nは入札者数 6: for i=0;i<N;i++ 7: 8: // 勝者判定 9: if bidder[i].price > max 10: winner = i 11: 2nd_price = max 12: max = bidder[i].price 13: 14: return {winner, 2nd_price} ※疑似コード 後でSellerが実行する。 全員の入札金額はSellerしか知らないので、不正改ざんしてもばれない。
  • 16. © Hitachi,Ltd. 2019. All rights reserved. 16 ゼロ知識証明を使って不正改ざんを防止 Blockchain dataChaincode hogehoge pk Seller Endorser Phase 1, 2(initialization & deploy): Sellerは2nd priceオークションのチェインコードをデプロイ (Fabric)CAはこのチェインコードに対して以下のzk-SNARKのパラメータを生成する ・ゼロ知識証明生成用の鍵pk⇒Sellerに渡す ・ゼロ知識証明検証用の鍵vk⇒Peerに渡す vk
  • 17. © Hitachi,Ltd. 2019. All rights reserved. 17 ゼロ知識証明を使って不正改ざんを防止 Blockchain dataChaincode hogehoge pk Seller Phase 3(betting): 各Bidderはtemp key(KA,KB,KC)を生成し、入札金額のHmac値を台帳に書く vk 引数 arg1 = Hmac(KA, 1000) 引数 arg2 = Hmac(KB, 2000) 引数 arg3 = Hmac(KC, 500) Bidder A Bidder B Bidder C Endorser
  • 18. © Hitachi,Ltd. 2019. All rights reserved. 18 ゼロ知識証明を使って不正改ざんを防止 Blockchain dataChaincode hogehoge pk Seller Phase 4(execution): オフライン処理に注意!! 各Bidderはtemp keyと入札金額をSellerに渡す(Logicの引数たち) Sellerは2nd priceオークションのロジックを実行し、winnerと2nd priceを算出、 確かにロジックを実行した、という証拠にpkを使ってゼロ知識証明[π]を生成 vk 引数 arg1 = Hmac(KA, 1000) 引数 arg2 = Hmac(KB, 2000) 引数 arg3 = Hmac(KC, 500) Bidder A Bidder B Bidder C (KB, 2000)(KA, 1000) (KC, 500) Endorser
  • 19. © Hitachi,Ltd. 2019. All rights reserved. 19 ゼロ知識証明を使って不正改ざんを防止 Blockchain dataChaincode hogehoge pk Seller Phase 5(result): Sellerは(winner, 2nd price, π)を台帳に書き込む(現状版では戻り値はopen) が、この際にPeerが[正しい引数(1000, 2000, 500)]で[2nd priceのロジック]が 実行されたかを検証する(invalidならtxは書き込まれない) この検証は検証鍵[vk]と[π]と台帳上の[HMAC値]のみで可能 vk 引数 arg1 = Hmac(KA, 1000) 引数 arg2 = Hmac(KB, 2000) 引数 arg3 = Hmac(KC, 500) Bidder A Bidder B Bidder C 戻り値 winner = Bidder B 2nd price = 1000円 ZKP: π Check Endorser
  • 20. © Hitachi,Ltd. 2019. All rights reserved. 20 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 21. © Hitachi,Ltd. 2019. All rights reserved. 21 Hyperledger Fabricでの実装アーキテクチャ ・ゼロ知識証明したいコントラクトをユーザが指定 ・Fabric CAがコントラクトのロジックに対して、ゼロ知識証明生成鍵/検証鍵を生成 ・ゼロ知識証明生成鍵をユーザ、検証鍵をEndorserに配布 ・ユーザはendorsementの際に、ゼロ知識証明を生成、txに付与 ・Endorserは検証鍵を使ってゼロ知識証明を検証 BCネットワーク Endorserユーザ Fabric CA PK (証明生成鍵) VK(証明検証鍵) Chaincode hogehoge Chaincode hogehoge TX+ZKP: π
  • 22. © Hitachi,Ltd. 2019. All rights reserved. 22 修正版:2nd priceオークションのロジック 1: winner = 0 2: max = 0 3: 2nd_price = 0 4: 5: // Nは入札者数 6: for i=0;i<N;i++ 7: 8: // 入力値の不正チェック 9: if bidder[i].hashed_price != hmac(bidder[i].hash_key, bidder[i].price) 10: abort() 11: 12: // 勝者判定 13: if bidder[i].price > max 14: winner = i 15: 2nd_price = max 16: max = bidder[i].price 17: 18: return {winner, 2nd_price} ※疑似コード ロジックに入力金額の不正が無いかチェックする機能を追加(8~10行目) ZKP + verification keyと公開情報のみを用いて、上記のロジックが 確かに実行された事を確認可能(verifiable computation)
  • 23. © Hitachi,Ltd. 2019. All rights reserved. 23 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 24. © Hitachi,Ltd. 2019. All rights reserved. 24 性能評価実験 0.0 5.0 10.0 15.0 20.0 25.0 0 5000 10000 15000 20000 25000 30000 35000 0.0000 0.0002 0.0004 0.0006 0.0008 0.0010 0.0012 0 5000 10000 15000 20000 25000 30000 35000 回路サイズ回路サイズ 処 理 時 間 ( 秒 ) 処 理 時 間 ( 秒 ) ユーザ処理 ゼロ知識証明生成 Endorser処理 ゼロ知識証明検証 評価方法 量子計算機への耐性を考慮し、LWE暗号方式をベースに方式設計 zk-SNARKの標準ライブラリlibsnarkの一部機能を利用し実装 様々な回路サイズ(スマートコントラクトのサイズ)に対して評価実験を実施 実験結果(評価PCはIntel(R) Core(TM) i7-9700K CPU @ 3.60GHz ×8) ・ユーザ側の処理時間(ゼロ知識証明生成)は回路サイズに比例して増加 ⇒Hash関数の評価には210秒, 300GBのメモリが必要になる計算 ・Endorserの処理時間(ゼロ知識証明検証)は回路サイズによらず1msec程度
  • 25. © Hitachi,Ltd. 2019. All rights reserved. 25 目次 • ゼロ知識証明とは? • ブロックチェーンでどうやってゼロ知識証明を使うのか? • セキュアスマートコントラクト • Hyperledger Fabricでの実装アーキテクチャ • 評価実験 • まとめ
  • 26. © Hitachi,Ltd. 2019. All rights reserved. 26 まとめ やったことのまとめ 1. 量子計算機耐性を有するzk-SNARK方式を設計、libsnarkへ実装 2. Hyperledger Fabric向けの実装アーキテクチャを設計、Endorsement Peerへゼロ知識証明の検証機能をプラグイン実装 3. ゼロ知識証明初心者向けに、いくつかのガジェット作成 今後の課題 1. ゼロ知識証明生成の処理軽量化 2. Universal Circuitへの対応(Fabric CAの処理軽量化&trustless) 3. 初心者向け&開発効率向上に向けたガジェットの拡充 4. ユーザ証明書の属性、資格情報をゼロ知識証明する機能等