Más contenido relacionado
La actualidad más candente (20)
Similar a Orb dlt technical_overview(特許情報なし) (20)
Más de Wataru Fukatsu (6)
Orb dlt technical_overview(特許情報なし)
- 2. © 2017 orb, inc.
自己紹介
• ⼭⽥浩之 (情報理⼯学博⼠ 東京⼤学)
• 専⾨:データベースシステム、並列分散システム
• 東京⼤学⽣産技術研究所
– ⾼性能・スケーラブルな次世代並列分散データ管理システムの研究開発
• 経産省未踏ソフトウェア クリエータ
– 次世代分散データベースシステムの研究開発
– (スーパークリエータに認定)
• Yahoo! Japan, IBM Japan
– 分散検索エンジン、⾼性能データベースカーネルの研究開発
2
- 3. © 2017 orb, inc.
Orbの事業内容の紹介
お客様の通貨や契約アプリケーションにおけるトランザクション処理・管理を担う専門部隊
3
- 4. 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
- 5. © 2017 orb, inc.
Orb DLT : Orb Distributed Ledger Technology
分散トランザクション技術とブロックチェーン技術の
融合
独自の非中央管理型分散トランザクションシステム
独自の高い耐改ざん機構
通貨、契約のための汎用ミドルウェア
コンソーシアム型、プライベート型のユースケースに
フォーカス
5
Orb
DLT
Orb
DLT
Orb
DLT
Orb
DLT
NodeData Center
高い改ざん耐性を有する非中央管理型分散トランザクションシステム
- 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
- 9. © 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Finality, Consistency
不特定多数のノードにおける過半数合意
=> 合意不可能(No Finality)
特定多数のノードにおける過半数合意
Blockchain Orb DLT
9
- 10. © 2017 orb, inc.
FYI : Blockchain is a Probablistic State Machine [ICDCS workshop’16]
10
- 11. © 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
11
A
B
C
D
TX
始点または終点が衝突したときにデータが衝突
t
- 12. © 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
12
- 13. © 2017 orb, inc.
ブロックチェーンの課題とOrb DLTでの解決方法:Availability
13
1ノードで検証後にクライアントに応答
伝播する前にノード群に障害が発生した場合は
データ消失の危険性あり
Quorum(定足数)への書き込み完了後に
クライアントに応答
(実際には2では複数回のコンセンサスおよび永続化を実施)
TX
TX
TX
TXTX
TX
TX
TX
TXTX
Blockchain Orb DLT
1
2
3
1
2
3
- 14. © 2017 orb, inc.
統合されたストレージと解析エンジン
14
トランザクションデータとアプリ
ケーションデータをApolloで統合的
に管理
トランザクション処理だけでなく、
当該処理において作成されたデータ
の柔軟な解析が可能
様々なアプリケーションにおける実
用的なプラットフォームを志向
Analytics
QueryCore
Application
Storage
Transaction
CoinCore
Ledger Application-specific
data
- 15. © 2017 orb, inc.
Core - 通貨や契約における処理の振る舞いを柔軟に定義可能なミドルウェア群
• アプリケーション共通の機能を汎用化
• Apolloの複雑性を隠蔽
• 複雑なことを簡単に実現
15
Driver
Transaction Analytics
Coin
Account Query
Storage
Apollo
Core
Model your client’s
organization
Design and deploy your
client’s economy
Aggregate your client’s
data as you like
- 16. © 2017 orb, inc.
CoinCore - 通貨におけるトランザクションの振る舞いを柔軟に定義可能なミドルウェア
地域通貨の例
• Regularコイン、Bonusコイン、Merchantコ
イン
• チャージ
– A銀行がユーザに指定額のRegularコ
インを付与
– チャージしたRegularコインの5%分
のBonusコインをチャージボーナス
消費者に付与
• 支払い
– 消費者はRegularコインもしくは
Bonusコインから必要な額のコイン
を加盟店に支払い
– A銀行は手数料として支払額の2%
を加盟店から徴収
[
{
"ID": "charge",
"Modifiers": [
{
"Type": "basic",
"Order": 0,
"Config": {
"DecreaseTarget": "issuer",
"IncreaseTarget": "consumer",
"AvailableCoins": [
"regular"
],
"UnavailableCoins": null,
"Amount": null,
"Percentage": 100
}
},
{
"Type": "basic",
"Order": 1,
"Config": {
"DecreaseTarget": "issuer",
"IncreaseTarget": "consumer",
"AvailableCoins": [
"bonus"
],
"UnavailableCoins": null,
"Amount": null,
"Percentage": 5
}
}
]
},
16
{
"ID": "payment",
"Modifiers": [
{
"Type": "basic_fee",
"Order": 0,
"Config": {
"DecreaseTarget": "consumer",
"IncreaseTarget": "merchant",
"AvailableCoins": [
"regular",
"bonus"
],
"UnavailableCoins": null,
"FeeTarget": "issuer",
"CoinID": null,
"Amount": null,
"Percentage": 100,
"FeePercentage": 2
}
}
]
}
]
Predefined Modifiers :
basic
basic_fee
max_use
dependent
tiered
tiered_dependent
time_tiered
- 17. © 2017 orb, inc.
ウェブベースのツールにより開発効率の大幅な向上を実現
17
Web-based Configuration Tool Transaction-behavior Test Tool
- 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で性能が律速.
CPU資源の増加により数万TPSは容易に実現可能)
0
500
1000
1500
2000
2500
3000
3500
0 12 24 36 48
TPS
# of nodes
Multi-DCによる若干
の性能低下を確認
- 21. © 2017 orb, inc.
補足:Orb DLT の研究開発における検証方針
• トランザクション整合性検証
– 独自の分散破壊的テストツールにより最悪ケースの検証を長期間
実施
– Jepsen(整合性検証フレームワーク)も活用
• 性能検証
– ハードウェア性能と処理内容から想定される論理限界との比較を
重視
21
- 22. © 2017 orb, inc.
まとめ
• Orbでは独自の分散型台帳技術Orb DLTに基づくプラットフォームソ
フトウェアを鋭意研究開発中
• 高い革新性と高い実用性の両立を志向
– Apollo:非中央管理型でデータを統合的に扱うデータOS
– Core:複雑なユースケースを簡潔・柔軟に解決するミドルウェア
– Toolbox:ドメイン特化型のソリューションを提供するツール群
• オラクルクラウドを用いた実験により高いスケーラビリティを実証
22
- 23. © 2017 orb, inc.
マイクロベンチマーク
23
CPU Storage
0
500
1000
1500
2000
2500
single process parallel process
Index Score from UnixBench
Oracle AWS
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
100000
Oracle AWS
IOPS
- 24. © 2017 orb, inc.
Amazon EC2との比較
24
Oracle Cloudにおける高いスケーラビリティを確認
0
500
1000
1500
2000
2500
3000
3500
0 12 24 36 48
TPS
# of nodes
Oracle AWS