SlideShare a Scribd company logo
1 of 37
Download to read offline
Confidential Assets:
概要と応用
DG Lab - Anditto Heristyo
5月12日
© 2017 Digital Garage. All rights reserved. Redistribution or public display not permitted without written permission from Digital Garage.
DG Lab とは
次世代へ続くビジネスのオープン
イノベーションプラットフォーム
■ 5つの重点分野を選定。高い技術力を持つ国内外の投資
先企業、取引企業、アカデミア等と連携。中長期的な事業貢
献を目指す研究開発組織。
■ 専任のエンジニアリソースと投資先技術ベンチャーが、各
分野でプロジェクトを進行。基礎技術や汎用的プロダクトを開
発。
■ 急激な技術進化を事業活用するには、大量の情報を分
析しスピーディに実験・実証を自らおこなう事が必須。
■ 今後、全ての産業の企業は様々な技術活用や異業種と
の関連を余儀なくされ、単独での研究開発では対応困難。コ
ア3社に加え、協賛企業等広く共同開発する「オープンイノ
ベーション型R&D」を実践。
http://www.dglab.com
Blockchain Core Camp (BC2
)
http://bc-2.jp
3日間のワークショップ。
エンジニア向けのイベント
で、コア技術の実装と体験
にフォーカス。
Bitcoinコアエンジニアの登
壇者: Jeremy Rubin,
Thaddeus Dryja, Nicolas
Dorier, 他。
Blockchain Core Camp (BC2
)
目的:
- Blockchainの知識を持って
いるエンジニア人口を増や
す。
- Blockchain / Bitcoin 技術
に貢献する。
なんと!
以下のリンクから全セッションの動画と資料が見れます:
http://bc-2.jp/season1
Season 2 もやる予定です。お楽しみに!
今回の話
1. Bitcoinのプライバシーについて
2. Confidential Transactions (CT)
3. Confidential Assets (CA)
4. DG Lab の CA デモ
Bitcoinのプライバシー
Bitcoinとは
データベースの中から、どのトランザクションに入っている公開鍵が自分の持っている秘
密鍵とペアになっているのかという紐付けを手がかりに新たなトランザクションを作成す
ることで価値の移転を表現するシステム。
自分の秘密鍵
「財布」
Bitcoinのデータベース
単純なビットコインのトランザクション
インプット アウトプット
10 BTC
自分の鍵
インプットは
別の前のTx
のアウトプッ
トから
アウトプットは
後のTxのイン
プットになる
8 BTC
1.999 BTC
手数料
:秘密鍵
:公開鍵
A
B
自分
自分の財布
他の人はこのTxデータを見て:
1. ちゃんと鍵が合ってるか?
2. インプット金額 = アウトプット
金額?
セキュリティに対する大事な条件
1. 関わっている人の承認
→ 公開鍵暗号
2. インプットとアウトプット(合計)は等しい
→ システム内のコインは増えてない?
(パブリック)ブロックチェーンの強み
人 / サーバーを信用しなくても大丈夫
→ データがOKであれば、承認出来る
その効果:全部の情報を公開するべき
→ Bitcoinの場合はトランザクションの流れと金額
でも
誰がどの鍵を持っているか分からないから、なんとなくプラバシー
はありそうだけど、トランザクションを作成するたびに1つずつバ
レてしまう。
→ 実はBitcoinは完全にanonymousというわけではない。
例えば
- 会社からBitcoinで給料をもらう。
- 給料(Bitcoin)を使って、買い物、家賃などを支払う。
- 店と大家さんからはあなたの収入が見えちゃう。
- 会社からもあなたの給料の使い道が見えちゃう。
会社の
アドレス
自分の
アドレス
店の
アドレス
大家さんア
ドレス
収入
買い物
家賃
ビジネスの応用の場合
同じく、色々な情報がバレてしまいます:
- 会社のキャッシュフロー
- クライアント情報
- 営業のボリューム
- とか。。
解決方法 - Mixing / CoinJoin
0.5 BTC
0.5 BTC
0.5 BTC
A
B
C
0.5 BTC
0.5 BTC
0.5 BTC
TxIn TxOut
?
?
?
まだ問題は残っている
全部金額が統一じゃないとだれがどれを持つかの解決ができ
る。
Mixingをする人の信頼性と匿名性。
→ TumbleBit で解決できる
結論:トランザクションの金額を隠したら良い。
Confidential Transactions
最初のアイデア
Adam Back (Blockstream 社) - 2013年
“bitcoins with homomorphic value (validatable but
encrypted)”
準同型金額のBitcoin(検証できるが暗号された)
https://bitcointalk.org/index.php?topic=305791.0
参考:https://ja.wikipedia.org/wiki/準同型暗号
Confidential Transactions (CT)
Greg Maxwell (Blockstream社)によるハイレベルの説明:
https://people.xiph.org/~greg/confidential_values.txt
数学の詳しい説明:
https://github.com/AdamISZ/ConfidentialTransactionsDoc
数学が分からなくても理解しやすい使い方の説明:
https://elementsproject.org/elements/confidential-transactions/
Elements Project
https://elementsproject.org/
オープンソースの Bitcoin のフォークである。
プラス新しい機能:CT、CA、Sidechain、など。
基本の仕組み
Commitment = f(blinding_factor || data)
データを公開せずに、コンテンツを保存する。今の場合「data」は「金額」 そして、特別
な commitment を使って、こういうプロパティーを持つ:
C ( BF_1, data1 ) + C ( BF_2, data2 ) = C ( BF_1+BF_2, data1+data2 )
C ( BF_1, data1 ) - C ( BF_1, data1 ) = 0
参考:https://people.xiph.org/~greg/confidential_values.txt
基本の仕組み
楕円曲線暗号(Elliptical Curve Cryptography)を使って:
Commitment = xG + aH
x:blinding_factor a:金額
GとHは先ほどの条件を満たす関係を持つ。
参考:https://people.xiph.org/~greg/confidential_values.txt
基本の仕組み
一つ問題点:こっそりコインを増やす
10 + 10 = -5 + 25
解決:別の暗号仕組みで範囲を証明する例えば、
Range (0, 1000)
参考:https://people.xiph.org/~greg/confidential_values.txt
効果
1. 金額を公開せずに、トランザクションのバランスを承認でき
る。
→ ブロックチェーンの強みを活かせる
2. 一部公開することができる。
→ 例:社外監査に blinding_key を共有して、支払能力を証明する
3. CoinJoinとTumblebitと同様に使える。
→ プライバシーをもっと強化する
Confidential Address
普段の Bitcoin アドレスの形は変わります。
アドレスの中に「Public Blinding Key」が入っている。
→ アセットの種類と合計は送り先と送り元しか見えない。
参考
:https://elementsproject.org/elements/confidential-transactions/addresses.htm
l
トレードオフ
1. トランザクションのデータサイズが大きくなる
→ 帯域幅が 15x~20x になる
2. 承認にはもっと時間かかる
→ 承認のコストが 30x~60x になる
3. アドレスの長さが長くなる
→ 2x になる
Confidential Assets
Confidential Assets (CA)
Confidential Transactions のアイデアを拡張して、複数の
アセットタイプをブロックチェーンに載せる。
参考:
https://blockstream.com/2017/04/03/blockstream-releases-elements-confident
ial-assets.html
http://fc17.ifca.ai/bitcoin/papers/bitcoin17-final41.pdf
先ほどの考え方
Commitment = xG + aH
H は新しいアセットIDとして考える。
2つアセットのトランザクションはこうなる:
IN_1 = xG + aH, H
IN_2 = yG + bJ, J
OUT_1 = uG + cH, H
OUT_2 = vG + dJ, J
CAのデモ
問題点
ポイントカードのシステム:
マイレージ、ロイヤリティプログラム、など。
例えば:
問題点 - ユーザの視点
- ポイントカードが多すぎて、管理は難しい。
- 残高がバラバラ。
- 使い道がバラバラ、あるいは限られてる / 難しい。
いっぱい持ってるけど、飛行機チケット中心
電車とコンビニ中心
連携サービスにしか使えない
問題点 - ポイント発行会社の視点
- ロイヤリティプログラムに参加しない
- ポイントの価値を高めたい
- ポイントがユーザにいっぱい分配されて、使われてないので
もっと消費して欲しい
解決提案
オープンなブロックチェーンで、アセットの交換は出来るが:
- 会社のトランザクションがバレる
- 金額、ボリューム、など
- ユーザーの情報もバレる
→ Confidential Transactions & Confidential Assets
ポイントエクスチェンジのシナリオ
登場人物:
Alice (A) → ポイントを使いたいユーザー
Bob (B) → 他のユーザー
Charlie (C) → ポイント交換を提供する会社
Dave (D) → コーヒー屋さん
Fred (F) → ポイント発行会社
ポイントエクスチェンジのシナリオ
1. Alice (A) は AIRSKY ポイントをいっぱい持っている。
2. Dave (D) は珈琲屋さんで、コーヒーを売ってる。
3. Dはとあるキャンペーンで MELON ポイントでコーヒー買うことが出来る。
4. Charlie (C) はポイント交換プロバイダーで、AIRSKY→MELONの交換を提供し
ている。
5. Aはアプリで自動的にポイントを交換し、コーヒー代を支払う。
6. Bob (B) は他のユーザであり、これらのトランザクションの詳細が見えない。
7. ポイントの発行者(AIRSKYとMELON)は自分が関わるトランザクションの詳細が
見える。
https://github.com/ElementsProject/confidential-assets-demo
ありがとうございました
anditto.heristyo@garage.co.jp
Twitter: @anditto_h Github: @anditto

More Related Content

Similar to Confidential assets 概要と応用

グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介ippei_suzuki
 
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Yuji Kanemoto
 
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探るNISSHO USA
 
データからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とはデータからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とはMiho Yamamoto
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Takeshi Hirosue
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting StartedAyumu Aizawa
 
共有、自動化、計測 - DevOps ツール考察 -
共有、自動化、計測 - DevOps ツール考察 -共有、自動化、計測 - DevOps ツール考察 -
共有、自動化、計測 - DevOps ツール考察 -Chie Sasaki
 
DX戦略策定
DX戦略策定DX戦略策定
DX戦略策定Flyke1
 
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜kusami
 
プロダクトアップデートセミナー資料(2020年10月29日開催)
プロダクトアップデートセミナー資料(2020年10月29日開催)プロダクトアップデートセミナー資料(2020年10月29日開催)
プロダクトアップデートセミナー資料(2020年10月29日開催)Rescale Japan株式会社
 
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること日本マイクロソフト株式会社
 
Expectations and reality of hybrid cloud
Expectations and reality of hybrid cloudExpectations and reality of hybrid cloud
Expectations and reality of hybrid cloudNaoki Yonezu
 
KYC and identity on blockchain
KYC and identity on blockchainKYC and identity on blockchain
KYC and identity on blockchainmosa siru
 
SAP Inside Track Tokyo 2022 Deep Learning版Cash Applicationをやってみた
SAP Inside Track Tokyo 2022 Deep Learning版Cash ApplicationをやってみたSAP Inside Track Tokyo 2022 Deep Learning版Cash Applicationをやってみた
SAP Inside Track Tokyo 2022 Deep Learning版Cash ApplicationをやってみたShuntaro Oguri
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~terahide
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリングInnova Inc.
 
The way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationThe way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationDataWorks Summit
 
事業と組織をマネジメントして成果を最短で得る方法
事業と組織をマネジメントして成果を最短で得る方法事業と組織をマネジメントして成果を最短で得る方法
事業と組織をマネジメントして成果を最短で得る方法Growth Hack Studio Inc.
 

Similar to Confidential assets 概要と応用 (20)

グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
グラフデータベース:Neo4j、そしてRDBからの移行手順の紹介
 
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
Alteryxの空間分析で学ぶ、最寄りの指定緊急避難場所と低水位地帯 Developers.IO Tokyo 2019
 
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る
【日商USA】Fyuz 通信革命の舞台裏~ OpenRANの未来を探る
 
データからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とはデータからビジネス変革をもたらすマイクロソフトの AI とは
データからビジネス変革をもたらすマイクロソフトの AI とは
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
 
Heroku Getting Started
Heroku Getting StartedHeroku Getting Started
Heroku Getting Started
 
共有、自動化、計測 - DevOps ツール考察 -
共有、自動化、計測 - DevOps ツール考察 -共有、自動化、計測 - DevOps ツール考察 -
共有、自動化、計測 - DevOps ツール考察 -
 
DX戦略策定
DX戦略策定DX戦略策定
DX戦略策定
 
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜
PagerDuty会社概要・インシデント管理ソリューション紹介資料 〜インシデントをより早く・少ないリソースで解決し、 将来のインシデントを未然に防ぐには〜
 
プロダクトアップデートセミナー資料(2020年10月29日開催)
プロダクトアップデートセミナー資料(2020年10月29日開催)プロダクトアップデートセミナー資料(2020年10月29日開催)
プロダクトアップデートセミナー資料(2020年10月29日開催)
 
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
【de:code 2020】 Development from anywhere! 全ての開発者が生産性を維持するためにマイクロソフトが貢献できること
 
Expectations and reality of hybrid cloud
Expectations and reality of hybrid cloudExpectations and reality of hybrid cloud
Expectations and reality of hybrid cloud
 
KYC and identity on blockchain
KYC and identity on blockchainKYC and identity on blockchain
KYC and identity on blockchain
 
SAP Inside Track Tokyo 2022 Deep Learning版Cash Applicationをやってみた
SAP Inside Track Tokyo 2022 Deep Learning版Cash ApplicationをやってみたSAP Inside Track Tokyo 2022 Deep Learning版Cash Applicationをやってみた
SAP Inside Track Tokyo 2022 Deep Learning版Cash Applicationをやってみた
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
 
大企業の経営改革とベンチャーの活性化で日本を再び元気に
大企業の経営改革とベンチャーの活性化で日本を再び元気に大企業の経営改革とベンチャーの活性化で日本を再び元気に
大企業の経営改革とベンチャーの活性化で日本を再び元気に
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
 
The way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationThe way to a smart factory armed with data utilization
The way to a smart factory armed with data utilization
 
Hyperledger Projectの概要
Hyperledger Projectの概要Hyperledger Projectの概要
Hyperledger Projectの概要
 
事業と組織をマネジメントして成果を最短で得る方法
事業と組織をマネジメントして成果を最短で得る方法事業と組織をマネジメントして成果を最短で得る方法
事業と組織をマネジメントして成果を最短で得る方法
 

Confidential assets 概要と応用