Contenu connexe
Similaire à R3 Cordaの活用事例紹介と技術解説 (20)
R3 Cordaの活用事例紹介と技術解説
- 1. Copyright © 2019 TIS Inc. All rights reserved.
0
Blockchain推進室
R3 Cordaの活用事例紹介と技術解説
0
- 2. Copyright © 2019 TIS Inc. All rights reserved.
TIS株式会社 Blockchain推進室
尾鷲達也
2010年 TIS株式会社に入社。
クレジットカードの決済システム開発に従事した後、
先端技術研究のために米国シリコンバレーに駐在し、
ブロックチェーン・AI・Fintechなどを中心にリサーチ。
2018年7月より現職にて、エンタープライズ向けブロックチェーンの
リサーチ・導入支援・新規事業開発などを担当。
自己紹介
1
- 3. Copyright © 2019 TIS Inc. All rights reserved.
R3
ブロックチェーンプラットフォームであるCordaを開発するスタートアップ。
元々は金融取引に特化したプラットフォームとして開発していたが、
現在では非金融を含むエンタープライズ全般で利用されている。
SBI R3 Japan
日本では、2019年1月にSBI Holdingsとの合弁会社として
SBI R3 Japanを設立。日本市場向けの導入支援や、
Cordaの技術トレーニングなどを実施している。
R3について
2
- 4. Copyright © 2019 TIS Inc. All rights reserved.
Corda
R3が開発したオープンソースのDLTプラットフォーム
Corda Enterprise
エンタープライズ向けの機能を追加した有償版
Cordaについて
3
高可用性(HA)、災害復旧(DR)
ノードの冗長構成やDR構成をサポート
データベース
複数の商用RDBMSをサポート(CordaではH2DBのみ)
Cordaファイアウォール
各企業のファイアウォール内でCordaノードを運用可能
性能改善
トランザクションのマルチスレッド処理に対応
Corda Enterpriseの追加機能の一部
- 5. Copyright © 2019 TIS Inc. All rights reserved.
B3i (Blockchain Insurance Industry Initiative)
• 世界の大手保険会社が参加するコンソーシアム
• 2018年7月に、Hyperledger FabricからR3 Cordaへの乗り換えを発表
Corda事例紹介
4
「自社のFWの内側でCordaを運用でき、データベースの統合に頭を悩ませなくてよいというのは、B3iのメン
バーにとっては必要不可欠なことだ。」
“For our members, the ability to deploy Corda in a scalable way behind corporate firewalls and remove the headache of
database integration was vital.”
- Markus Tradt, CTO
“
- 6. Copyright © 2019 TIS Inc. All rights reserved.
MonetaGo
• 金融機関向けに、ブロックチェーンベースの不正防止ソリューションを提供
• 2019年2月に、Hyperledger FabricからR3 Cordaへの乗り換えを発表
Corda事例紹介
5
「CordaはFabricと違って取引の当事者しかデータを入手できない。これによりネットワークの参加者間にデー
タ保護の層が形成されており、これがCordaを選んだ主な理由である。」
“The way that data is shared on Corda is fairly distinct from Fabric in that only the parties to transactions are able to obtain
related data. This adds a significant layer of protection to the information of participants and is the core reason behind the
selection of the platform going forward.”
- Jesse Chenard, CEO
“
- 7. Copyright © 2019 TIS Inc. All rights reserved.
Marco Polo
• 世界の大手金融機関が参加する貿易金融のプロジェクト
• イギリスのTradeIX社がCordaで開発
Corda事例紹介
6
「自社のFWの内側でノードを運用できることに加え、Cordaの追加開発やサポートサービスが提供されること
によって、相互運用性・セキュリティ・プライバシーといったCordaの強みを作り出している。これらの機能は、
エコシステムの成長に伴うネットワーク拡大の助けになる。」
“The ability to host nodes behind corporate firewalls, combined with the additional deployment and support services build on
the platform’s current strength in delivering interoperability, security and privacy. These new features will help to scale up
the network as the ecosystem grows.”
- Robert Barnes, CEO of TradeIX
“
- 9. Copyright © 2019 TIS Inc. All rights reserved.
8
TIS株式会社 Blockchain推進室
山崎清貴
エネルギー業界におけるポータルサイト、CMSなどの情報基盤アプリケーション開発を経験後、
エンタープライズ向けブロックチェーン(主にCorda)の技術調査-非機能部分を担当。
自己紹介
- 10. Copyright © 2019 TIS Inc. All rights reserved.
Why ? ~本日お伝えしたいこと~
9
①プライバシーが確保できる
②Bitcoinの技術を使って耐改竄性を確保できる
③2重支払いを防止できる
④Enterpriseレベルで運用できる
⑤インタオペラビリティ
- 11. Copyright © 2019 TIS Inc. All rights reserved.
Why ? ~本日お伝えしたいこと~
10
①プライバシーが確保できる
②Bitcoinの技術を使って耐改竄性を確保できる
③2重支払いを防止できる
④Enterpriseレベルで運用できる
⑤インタオペラビリティ
- 12. Copyright © 2019 TIS Inc. All rights reserved.
CARL ={ }
ALICE={ }
BOB ={ }
DEMI ={ }
ED ={ }
11
の特徴
【プライバシーの確保】
一般的なブロックチェーン製品は全てのNodeが同一の情報を持つが、Cordaの場合はトラ
ンザクションごとにデータの検証と共有先を動的に指定できる。
1
2 3 4
5 6
7
8 9
5 6 9
2 3 8
3 4
1 7
- 13. Copyright © 2019 TIS Inc. All rights reserved.
Bitcoinのブロックの持ち方
12
全てのトランザクション/ブロックに依存性を持たせた
ハッシュの連鎖構造をつくることで改竄耐性を実現
- 15. Copyright © 2019 TIS Inc. All rights reserved.
14
各ブロック=トランザクションのハッシュが次のトランザクションに
取り込まれる
⇒ 改竄耐性を実現
の基本的な構造
- 17. Copyright © 2019 TIS Inc. All rights reserved.
16
の基本的な構造
取引ごとに情報が独立 ⇒ 必要な人だけで共有
⇒ プライバシーの確保
- 18. Copyright © 2019 TIS Inc. All rights reserved.
Why ? ~本日お伝えしたいこと~
17
①プライバシーが確保できる
②Bitcoinの技術を使って耐改竄性を確保できる
③2重支払いを防止できる
④Enterpriseレベルで運用できる
⑤インタオペラビリティ
- 19. Copyright © 2019 TIS Inc. All rights reserved.
18
Bitcoinの2重支払い
Bitcoinでは、一旦トランザクションプールに入り、マイナーによって
承認されてから書き込まれるが見切り発車的なゼロ承認や強力なハッシングパワーにより
ブロックを無かったことにする2重支払いができてしまう。
Tx1 Tx2 Tx3 Tx4
マイニング
Tx5
トランザクションプール
=未承認状態
Tx5
Tx5
Tx5
トランザクションを
不正にコピー
Tx1 Tx2 Tx3 Tx4
ゼロ承認によりブロックチェーンに書き込
まれてなくても支払われたものとみなす
不正に商品ゲット
- 20. Copyright © 2019 TIS Inc. All rights reserved.
19
の基本的な構造
【2重支払いを防止できる】
NotaryがOutputを使用済みかどうかをチェックする
- 21. Copyright © 2019 TIS Inc. All rights reserved.
20
の基本的な構造
すでに使用済みで
あればエラーを返す
【2重支払いを防止できる】
NotaryがOutputを使用済みかどうかをチェックする
- 22. Copyright © 2019 TIS Inc. All rights reserved.
21
Key: (Transaction ID, Output Index)
Value: (Transaction ID, Input Index, Requesting Peer)
の基本的な構造
Notaryの仕組み
Notaryに検証依頼した際
-マップの中になければ追加し、署名し返す
-マップの中にあれば、エラーを返す
NotaryはKeyとValueをマップとして管理している
- 23. Copyright © 2019 TIS Inc. All rights reserved.
検証コンセンサス
トランザクション処理フロー
22
Alice Bob
トランザクションを受信
トランザクションをチェック
署名(Alice、Bob)
トランザクションを受信
トランザクションをコミット
トランザクションをコミット
トランザクションを返す
送るためデータを用意する
トランザクションを作成
署名(Alice)
トランザクションを送信
Notary
トランザクションをチェック
トランザクションの署名
トランザクションを送信
ユニークネス
コンセンサス
トランザクションを送信
- 24. Copyright © 2019 TIS Inc. All rights reserved.
トランザクション処理フロー
23
Alice Bob
トランザクションを受信
トランザクションをチェック
署名(Alice、Bob)
トランザクションを受信
トランザクションをコミット
トランザクションをコミット
トランザクションを返す
送るためデータを用意する
トランザクションを作成
署名(Alice)
トランザクションを送信
Notary
トランザクションをチェック
トランザクションの署名
トランザクションを送信
トランザクションを送信
各ノードが停止するとトランザクションが停止する
運用するには各ノードでHA構成が必要
- 25. Copyright © 2019 TIS Inc. All rights reserved.
Why ? ~本日お伝えしたいこと~
24
①プライバシーが確保できる
②Bitcoinの技術を使って耐改竄性を確保できる
③2重支払いを防止できる
④Enterpriseレベルで運用できる
⑤インタオペラビリティ
- 26. Copyright © 2019 TIS Inc. All rights reserved.
25
Enterpriseについて
• 高可用構成を実現
• HSMをサポート(Azure Key Vault、Gemalto Luna、Utimaco)
• DMZ環境でのF/W機能を実現
• Performance Test Suite
• バックアップリカバリ
• OSS版との互換性担保
etc…TISは高可用性について様々な検証をしています。
詳しくはmedium.com/@TIS_BC_Prom 迄
- 28. Copyright © 2019 TIS Inc. All rights reserved.
Why ? ~本日お伝えしたいこと~
27
①プライバシーが確保できる
②Bitcoinの技術を使って耐改竄性を確保できる
③2重支払いを防止できる
④Enterpriseレベルで運用できる
⑤インタオペラビリティ
- 30. Copyright © 2019 TIS Inc. All rights reserved.
インタオペラビリティ
29
Hyperledger Fabricの場合
チャネル A
チャネル B
チャネル C
××
個別開発が必要
- 31. Copyright © 2019 TIS Inc. All rights reserved.
ネットワーク
インタオペラビリティ
30
サプライチェーンマネジメント
発受注システム
売掛金担保融資
の場合
〇 〇
- 32. Copyright © 2019 TIS Inc. All rights reserved.
31
インタオペラビリティ
R3では以下のように紹介されています
- 33. Copyright © 2019 TIS Inc. All rights reserved.
32
やはり各ノードに伝播しやすいように「ブロック」で考える?
でも拡張性や柔軟性で考えると「ブロック」は阻害要因では???
Ex. ・ハッシュ値が一方向で連鎖し、ループできない構造さえ維持できればよいのでは?
・柔軟性/拡張性があるブロックを考えて作ればよいのでは?
余談ですが・・・考えてみよう!
「新しい分散型台帳を作ってください」
・安全性 ・透明性 ・不可逆性
・対改ざん性 ・拡張性
・自由なデータ構造(柔軟性)
・第三者機関を利用しない
(ほんとはプライバシーも守りたい)
- 34. Copyright © 2019 TIS Inc. All rights reserved.
その他の 特徴
• 任意の情報を含むことが出来るステート
• データベースは馴染みのあるRDB(Oracle、PostgreSQL、SQLServer)
• メッセージブローカーによるノード内のトランザクション全順序性の担保
• CorDapps開発言語はJava、Kotlin
• ネットワークサイズに依存しない処理速度
• (個人的)要望を受け入れるスピードが速い
(4半期に1度のメジャーバージョンアップ)
etc…
33