分散型台帳技術Orb DLTの紹介
30 May, 2017 @ JBA
Hiroyuki Yamada
CTO at Orb
1
© 2017 orb, inc.
自己紹介
• 山田浩之 (情報理工学博士 東京大学)
• 専門:データベースシステム、並列分散システム
• 東京大学生産技術研究所
– 高性能・スケーラブルな次世代並列分散データ管理システムの研究開発
• 経産省未踏ソフトウェア クリエータ
– 次世代分散データベースシステムの研究開発
– (スーパークリエータに認定)
• Yahoo! Japan, IBM Japan
– 分散検索エンジン、高性能データベースカーネルの研究開発
2
© 2017 orb, inc.
Orbの事業内容の紹介
お客様の通貨や契約アプリケーションにおけるトランザクション処理・管理を担う専門部隊
3
Orb DLTの技術的な方向性
4
(Distributed)
Transaction
19801970 1990 2000 2010 2020
Blockchain
Nakamoto論文 Ethereum Sidechain
Transaction
(Jim Gray –
Turing Award
Winner)
Paxos Consensus
(Lamport –
Turing Award Winner)
Distributed
Transaction
Spanner
(Google)
Raft
Orb1
Orb DLT
Private
CP
Public
A(P)
Secure
Decentralized
Transaction
P2P
File Sharing PIER, PeerDB
(Non-transactional Query Processing)
X
Decentralization
Tamper Evidence
Private/Consortium
CP
No Finality
No Scalability
No Availability
Oracle
Performance
Scalability
Availability
© 2017 orb, inc.
Orb DLT : Orb Distributed Ledger Technology
ブロックチェーン技術と分散トランザクション技術
を融合
非中央管理型アーキテクチャ
高い改ざん耐性
ファイナリティ、強い一貫性
高いスケーラビリティ
高い可用性
コンソーシアム型、プライベート型のユースケース
にフォーカス
5
Orb
DLT
Orb
DLT
Orb
DLT
Orb
DLT
NodeData Center
高い改ざん耐性を有する非中央管理型分散トランザクションシステム
From Blockchain
From
Distributed
Transaction
ユースケース例:Visaネットワーク
分散型台帳技術による非中央集権的な決済の実現
会員(カード利用者) 加盟店
イシュア
(カード発行会社)
アクワイアラ
(加盟店契約会社)
利用代金請求
代金支払い
売上データ
支払い 売上データ 代金支払い
会員(カード利用者) 加盟店
決済履歴台帳
カード会社の台
帳をもとに伝票
を取り回す
地域通貨発行事業体
(地方銀行、商店街、商
工会議所など)
地域通貨精算業
(地方銀行)
Wallet App POS/CCT
台帳台帳
台帳 台帳
決済情報 売上明細
6
© 2017 orb, inc.
Orb DLT アーキテクチャ
TOOLBOX for domain-specific solutions :
入金、決済、クリアリング、清算等のライブラリ/SDK群
CORE for complex use cases :
通貨および契約等におけるトランザクションを管理するミ
ドルウェア
APOLLO for platform innovation :
データの管理・処理を特定の計算機に依らずに実行す
る非中央管理型のデータオペレーティングシステム
7
Oracle
Cloud, @Customer, On-Premise
Apollo : Decentralized Data Operating System
CoinCore ContractCore
Wallet
App
Smart
Coin Custom App Custom App
Storage
Transaction Analytics
Toolbox
OrbDLT
QueryCore
Orb DLTとその他の分散型台帳技術との比較
8
コンソーシアム・プレイベート型トランザクション技術における比較
Blockchain
(Ethereum)
HyperLedger
(Fabric)
Orb1
(2015)
Orb DLT
Enterprise
In-memory DB
Decentralized
Control
○ ○ (→ ?) △ ○ -
Tamper
Evidence
○ ○ ○ ○ -
Consistency X ○ △ ○ ○
Finality
(Atomicity)
X ○ ○ ○ ○
Performance X X (→ ?) X ○ ◎
Scalability X X (→ ?) X ○ ○
Availability X ○ △ ○ ○
Integrated Storage and
Analytics X X X ○ ○
Ease of Use
(for Coin/Contract apps)
X X X ○ -
© 2017 orb, inc.
Decentralized Transaction (patent pending)
9
特許出願中の技術であるため
公開は控えさせていただきます。
© 2017 orb, inc.
Decentralized Tamper-Evident Network (Patent-pending)
10
特許出願中の技術であるため
公開は控えさせていただきます。
© 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Finality, Consistency
不特定多数のノードにおける過半数合意
=> 合意不可能(No Finality)
特定多数のノードにおける過半数合意
Blockchain Orb DLT
11
© 2017 orb, inc.
FYI : Blockchain is a Probablistic State Machine [ICDCS
workshop’16]
12
© 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Performance
TX TX
TX TX
TX TX
TX TX
TX TX
TX TX
TX TX
TX TX
TX TX
TX TX
ブロックの単一リスト構造による原理的に低い並列性
(加えて、性能とノード数(計算資源)は直交 : P = c)
TXレコードのDAG構造による高い並列性
Blockchain Orb DLT
13
A
B
C
D
TX
始点または終点が衝突したときにデータが衝突
t
© 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Scalability
全データを全ノードに複製
DVi = DV (DV: Total amount of data)
データを複数のノードに複製
DVi = DV / N・RF (RF: Replication Factor << N)
TX
TX
TX
TXTX
TX
TX
TX
TXTX
Blockchain Orb DLT
14
© 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Availability
15
1ノードで検証後にクライアントに応答
伝播する前にノード群に障害が発生した場合は
データ消失の危険性あり
Quorum(定足数)への書き込み完了後に
クライアントに応答
(実際には2では複数回のコンセンサスおよび永続化を実施)
TX
TX
TX
TXTX
TX
TX
TX
TXTX
Blockchain Orb DLT
1
2
3
1
2
3
© 2017 orb, inc.
統合されたストレージと解析エンジン
16
トランザクションデータとアプリケーションデー
タをApolloで統合的に管理
トランザクション処理だけでなく、当該処理
において作成されたデータの柔軟な解析が
可能
様々なアプリケーションにおける実用的なプ
ラットフォームを志向
Analytics
QueryCore
Application
Storage
Transaction
CoinCore
Ledger Application-specific
data
© 2017 orb, inc.
CoinCore - 通貨におけるトランザクションの振る舞いを柔軟に定義可能なミドルウェア
• 地域通貨の例
• Regularコイン、Bonusコイン、Merchantコイン
• チャージ
– A銀行がユーザに指定額のRegularコインを付与
– チャージしたRegularコインの5%分のBonusコインをチャージボーナス消費者に付与
• 支払い
– 消費者はRegularコインもしくはBonusコインから必要な額のコインを加盟店に支払い
– A銀行は手数料として支払額の2%を加盟店から徴収
{"ID":"regular","Label":"regular
coin"}
{"ID":"bonus","Label":"bonus coin"}
{"ID":"merchant","Label":"merchant
coin"}
{"ID":"charge","CoinID":"reg
ular”}
{"ID":"payment","CoinID":nu
ll}
{"EventGroupID":"charge_0","ID":"charge_0_0","Type":1,"Target":0,"Percenta
ge":5}
{"EventGroupID":"charge_0","ID":"charge_0_1","Type":0,"Target":1,"Percenta
ge":null}
{"EventGroupID":"charge_1","ID":"charge_1_0","Type":1,"Target":0,"Percenta
ge":100}
{"EventGroupID":"charge_1","ID":"charge_1_1","Type":0,"Target":1,"Percenta
ge":null}
{"EventGroupID":"payment_0","ID":"payment_0_0","Type":1,"Target":1,"Perce
ntage":100}
Coinの定義
Eventの定義
EventGroupActionの定義
17
© 2017 orb, inc.
Orb DLTの性能評価システム@Oracle Cloud
• 48 x Oracle Compute Cloud (OC3 w/ Oracle Linux)
– 2 vCPU (H/W thread), 7.5 GB DRAM
– 128GB (-1TB) SSD
– Cost : 15000 yen/month
18
SSD Storage
Orb
DLT
Orb
DLT
Orb
DLT
・・・
SSD Storage
Orb
DLT
Orb
DLT
Orb
DLT
・・・
SSD Storage
Orb
DLT
Orb
DLT
Orb
DLT
・・・
16 node 16 node 16 node
© 2017 orb, inc.
支払いトランザクション処理を用いたベンチマーク
• データ
– 6千万ユーザレコード / ノード(データ量:約10GB/ノード)
– ユーザID、残高等からなるレコード
– 事前に十分な残高をチャージ
– レプリケーション数:3
• 支払いトランザクション処理(Apolloレベル)
– ユーザから別のユーザへの支払い(ユーザは一様乱数で選択)
– ACIDを保証して実行
19
© 2017 orb, inc.
トランザクションスループット
20
Orb DLTの高い性能とスケーラビリティを実証
(I/O性能に対してCPU性能が低いため、各ノードのCPUで性能が律速)
0
500
1000
1500
2000
2500
3000
3500
0 12 24 36 48
TPS
# of nodes
Multi-DCによる若干
の性能低下を確認
© 2017 orb, inc.
まとめ
• Orbでは独自の分散型台帳技術Orb DLTに基づくプラットフォームソフトウェア
を鋭意研究開発中
• 高い革新性と高い実用性の両立を志向
– Apollo:非中央管理型でデータを統合的に扱うデータOS
– Core:複雑なユースケースを簡潔・柔軟に解決するミドルウェア
– Toolbox:ドメイン特化型のソリューションを提供するツール群
• オラクルクラウドを用いた実験により高いスケーラビリティを実証
21

分散型台帳技術Orb DLTの紹介

  • 1.
    分散型台帳技術Orb DLTの紹介 30 May,2017 @ JBA Hiroyuki Yamada CTO at Orb 1
  • 2.
    © 2017 orb,inc. 自己紹介 • 山田浩之 (情報理工学博士 東京大学) • 専門:データベースシステム、並列分散システム • 東京大学生産技術研究所 – 高性能・スケーラブルな次世代並列分散データ管理システムの研究開発 • 経産省未踏ソフトウェア クリエータ – 次世代分散データベースシステムの研究開発 – (スーパークリエータに認定) • Yahoo! Japan, IBM Japan – 分散検索エンジン、高性能データベースカーネルの研究開発 2
  • 3.
    © 2017 orb,inc. Orbの事業内容の紹介 お客様の通貨や契約アプリケーションにおけるトランザクション処理・管理を担う専門部隊 3
  • 4.
    Orb DLTの技術的な方向性 4 (Distributed) Transaction 19801970 19902000 2010 2020 Blockchain Nakamoto論文 Ethereum Sidechain Transaction (Jim Gray – Turing Award Winner) Paxos Consensus (Lamport – Turing Award Winner) Distributed Transaction Spanner (Google) Raft Orb1 Orb DLT Private CP Public A(P) Secure Decentralized Transaction P2P File Sharing PIER, PeerDB (Non-transactional Query Processing) X Decentralization Tamper Evidence Private/Consortium CP No Finality No Scalability No Availability Oracle Performance Scalability Availability
  • 5.
    © 2017 orb,inc. Orb DLT : Orb Distributed Ledger Technology ブロックチェーン技術と分散トランザクション技術 を融合 非中央管理型アーキテクチャ 高い改ざん耐性 ファイナリティ、強い一貫性 高いスケーラビリティ 高い可用性 コンソーシアム型、プライベート型のユースケース にフォーカス 5 Orb DLT Orb DLT Orb DLT Orb DLT NodeData Center 高い改ざん耐性を有する非中央管理型分散トランザクションシステム From Blockchain From Distributed Transaction
  • 6.
    ユースケース例:Visaネットワーク 分散型台帳技術による非中央集権的な決済の実現 会員(カード利用者) 加盟店 イシュア (カード発行会社) アクワイアラ (加盟店契約会社) 利用代金請求 代金支払い 売上データ 支払い 売上データ代金支払い 会員(カード利用者) 加盟店 決済履歴台帳 カード会社の台 帳をもとに伝票 を取り回す 地域通貨発行事業体 (地方銀行、商店街、商 工会議所など) 地域通貨精算業 (地方銀行) Wallet App POS/CCT 台帳台帳 台帳 台帳 決済情報 売上明細 6
  • 7.
    © 2017 orb,inc. Orb DLT アーキテクチャ TOOLBOX for domain-specific solutions : 入金、決済、クリアリング、清算等のライブラリ/SDK群 CORE for complex use cases : 通貨および契約等におけるトランザクションを管理するミ ドルウェア APOLLO for platform innovation : データの管理・処理を特定の計算機に依らずに実行す る非中央管理型のデータオペレーティングシステム 7 Oracle Cloud, @Customer, On-Premise Apollo : Decentralized Data Operating System CoinCore ContractCore Wallet App Smart Coin Custom App Custom App Storage Transaction Analytics Toolbox OrbDLT QueryCore
  • 8.
    Orb DLTとその他の分散型台帳技術との比較 8 コンソーシアム・プレイベート型トランザクション技術における比較 Blockchain (Ethereum) HyperLedger (Fabric) Orb1 (2015) Orb DLT Enterprise In-memoryDB Decentralized Control ○ ○ (→ ?) △ ○ - Tamper Evidence ○ ○ ○ ○ - Consistency X ○ △ ○ ○ Finality (Atomicity) X ○ ○ ○ ○ Performance X X (→ ?) X ○ ◎ Scalability X X (→ ?) X ○ ○ Availability X ○ △ ○ ○ Integrated Storage and Analytics X X X ○ ○ Ease of Use (for Coin/Contract apps) X X X ○ -
  • 9.
    © 2017 orb,inc. Decentralized Transaction (patent pending) 9 特許出願中の技術であるため 公開は控えさせていただきます。
  • 10.
    © 2017 orb,inc. Decentralized Tamper-Evident Network (Patent-pending) 10 特許出願中の技術であるため 公開は控えさせていただきます。
  • 11.
    © 2017 orb,inc. ブロックチェーンの課題とOrb DLTでの解決方法:Finality, Consistency 不特定多数のノードにおける過半数合意 => 合意不可能(No Finality) 特定多数のノードにおける過半数合意 Blockchain Orb DLT 11
  • 12.
    © 2017 orb,inc. FYI : Blockchain is a Probablistic State Machine [ICDCS workshop’16] 12
  • 13.
    © 2017 orb,inc. ブロックチェーンの課題とOrb DLTでの解決方法:Performance TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX TX ブロックの単一リスト構造による原理的に低い並列性 (加えて、性能とノード数(計算資源)は直交 : P = c) TXレコードのDAG構造による高い並列性 Blockchain Orb DLT 13 A B C D TX 始点または終点が衝突したときにデータが衝突 t
  • 14.
    © 2017 orb,inc. ブロックチェーンの課題とOrb DLTでの解決方法:Scalability 全データを全ノードに複製 DVi = DV (DV: Total amount of data) データを複数のノードに複製 DVi = DV / N・RF (RF: Replication Factor << N) TX TX TX TXTX TX TX TX TXTX Blockchain Orb DLT 14
  • 15.
    © 2017 orb,inc. ブロックチェーンの課題とOrb DLTでの解決方法:Availability 15 1ノードで検証後にクライアントに応答 伝播する前にノード群に障害が発生した場合は データ消失の危険性あり Quorum(定足数)への書き込み完了後に クライアントに応答 (実際には2では複数回のコンセンサスおよび永続化を実施) TX TX TX TXTX TX TX TX TXTX Blockchain Orb DLT 1 2 3 1 2 3
  • 16.
    © 2017 orb,inc. 統合されたストレージと解析エンジン 16 トランザクションデータとアプリケーションデー タをApolloで統合的に管理 トランザクション処理だけでなく、当該処理 において作成されたデータの柔軟な解析が 可能 様々なアプリケーションにおける実用的なプ ラットフォームを志向 Analytics QueryCore Application Storage Transaction CoinCore Ledger Application-specific data
  • 17.
    © 2017 orb,inc. CoinCore - 通貨におけるトランザクションの振る舞いを柔軟に定義可能なミドルウェア • 地域通貨の例 • Regularコイン、Bonusコイン、Merchantコイン • チャージ – A銀行がユーザに指定額のRegularコインを付与 – チャージしたRegularコインの5%分のBonusコインをチャージボーナス消費者に付与 • 支払い – 消費者はRegularコインもしくはBonusコインから必要な額のコインを加盟店に支払い – A銀行は手数料として支払額の2%を加盟店から徴収 {"ID":"regular","Label":"regular coin"} {"ID":"bonus","Label":"bonus coin"} {"ID":"merchant","Label":"merchant coin"} {"ID":"charge","CoinID":"reg ular”} {"ID":"payment","CoinID":nu ll} {"EventGroupID":"charge_0","ID":"charge_0_0","Type":1,"Target":0,"Percenta ge":5} {"EventGroupID":"charge_0","ID":"charge_0_1","Type":0,"Target":1,"Percenta ge":null} {"EventGroupID":"charge_1","ID":"charge_1_0","Type":1,"Target":0,"Percenta ge":100} {"EventGroupID":"charge_1","ID":"charge_1_1","Type":0,"Target":1,"Percenta ge":null} {"EventGroupID":"payment_0","ID":"payment_0_0","Type":1,"Target":1,"Perce ntage":100} Coinの定義 Eventの定義 EventGroupActionの定義 17
  • 18.
    © 2017 orb,inc. Orb DLTの性能評価システム@Oracle Cloud • 48 x Oracle Compute Cloud (OC3 w/ Oracle Linux) – 2 vCPU (H/W thread), 7.5 GB DRAM – 128GB (-1TB) SSD – Cost : 15000 yen/month 18 SSD Storage Orb DLT Orb DLT Orb DLT ・・・ SSD Storage Orb DLT Orb DLT Orb DLT ・・・ SSD Storage Orb DLT Orb DLT Orb DLT ・・・ 16 node 16 node 16 node
  • 19.
    © 2017 orb,inc. 支払いトランザクション処理を用いたベンチマーク • データ – 6千万ユーザレコード / ノード(データ量:約10GB/ノード) – ユーザID、残高等からなるレコード – 事前に十分な残高をチャージ – レプリケーション数:3 • 支払いトランザクション処理(Apolloレベル) – ユーザから別のユーザへの支払い(ユーザは一様乱数で選択) – ACIDを保証して実行 19
  • 20.
    © 2017 orb,inc. トランザクションスループット 20 Orb DLTの高い性能とスケーラビリティを実証 (I/O性能に対してCPU性能が低いため、各ノードのCPUで性能が律速) 0 500 1000 1500 2000 2500 3000 3500 0 12 24 36 48 TPS # of nodes Multi-DCによる若干 の性能低下を確認
  • 21.
    © 2017 orb,inc. まとめ • Orbでは独自の分散型台帳技術Orb DLTに基づくプラットフォームソフトウェア を鋭意研究開発中 • 高い革新性と高い実用性の両立を志向 – Apollo:非中央管理型でデータを統合的に扱うデータOS – Core:複雑なユースケースを簡潔・柔軟に解決するミドルウェア – Toolbox:ドメイン特化型のソリューションを提供するツール群 • オラクルクラウドを用いた実験により高いスケーラビリティを実証 21

Editor's Notes

  • #8 コンポーネント、ネーミング修正 要件はここに
  • #9 HLはKafka(+Zookeeper)なので、可用性、Decentralizedはどうなの?
  • #19 ネットワーク太く