SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Trading Derivatives on
Hyperledger
Siriwat Kasamwattanarote, Thierry Gibralta, Vsevolod Yugov, Shibo Lin
Hideaki Takei, Fernando Vazquez
LinuxCon + ContainerCon Japan 2016
15 July 2016
We are We use
People
• SBI BITS (Better IT Solution)
• We’re building a next generation trading platforms
Fernando Vazquez
Siriwat Kasamwattanarote Vsevolod Yugov
Thierry Gibralta Shibo Lin
Hideaki Takei
2
Agenda
• What are we doing?
• Trading derivatives
• Hyperledger with container technology.
• Our design
• Performance evaluation
• Next challenges
• Key takeaways
3
A little more about us
4
Trading Derivatives
• What are derivatives?
• Derivatives are securities linked to the other securities.
• E.g. options, futures, and swaps.
• In case of an option
• Option created when
• Client sells their Put/Call option and
other client buys the available Put/Call option.
• Fee is called premium.
• Transaction happen when
• The option is created.
• Existing option is bought/sold/transferred.
• Exercising
• At the maturity time
• Premium < Payout = Profit
Timeline
Price
Make profit?
5
Call
Put
Maturitytime
Trading Derivatives (2)
• Traditional platform
Client FX trader
(broker)
Order
Trading platform
Order
Back office
SQL Transaction
Problems
6
The new approach
7
Blockchain
• A chain of blocks.
• Blockchain is a framework.
• A block may contain code as a smart contract.
• Ideal smart contract examples
• Car insurance activates only when driving.
• Money is transferred from A to B at 11:00 AM 15 July 2016 JST.
• The contract triggers automatically.
• When a contract meets its true conditions.
8
Header/
Contract
Header/
Contract
Header/
Contract
Header/
Contract
Header/
Contract
Data Data Data Data Data
Genesis Block 1 Block 2 Block 3 Block 4
Hyperledger
• A blockchain framework.
• Open standard/source.
• Customizable
• Smart contract
• Namely, chaincode.
• Consensus plugins
• Data payload
• Community driven.
• Written in Go.
• Heavily depends on the container technology.
9
Ref: https://www.hyperledger.org
Container
• Docker is a kind of containerization platform.
• No guest OS.
• Only bin/lib/app.
• We all know : )
Ref: https://www.docker.com
10
+ =
• Becomes a fully distributed blockchain framework.
• Motivated by
• Our benefits
• Simplified back office (BO).
• Shareable BO between holder.
• Less operating expenses (OPEX).
• De-centralized database.
• Contributing a common ledger.
• Increasing transaction volume.
• Customer benefits
• Lower fee
• Expected benefits
• High availability
• Disaster recovery
Client
Distributed
trading platform
Order
11
Client
Order
Order
Client
Our design
12
Use case
• Aims for derivative trading platform
• Trust model
• Trusted nodes
• Know your customer (KYC) procedure (by law)
• Private network
• Permissioned blockchain
• Regulatory oversight
13
Consensus
• Hyperledger’s default consensus plugins:
• Noops
• Trusts everyone.
• No integrity.
• PBFT
• Trusts majorities
• Partially recoverable.
• What could be the optimal consensus algorithm for us?
14
Private
Public
Prototype
• Vanilla github.com/hyperledger/fabric
• Two consensus plugins
• No additional features
• Two simple chaincodes
• Account management
• Option trading
• Two type of nodes
• Validator node – Validating the blocks.
• Non-validator node – Providing the REST API service.
• Tested on the variety of architectures.
15
Account Option
Hyperledger control center - HyperCC
• Currently
• We use our specific node controller script.
• Namely, HyperCC
• Built with
• Docker CLI
• SSH
• ENV variables
• Parameters (port, volume, etc.)
• Programmable
• On-the-fly
• Available functions
• Start – To create the nodes.
• Stop – To terminate the nodes.
• Upgrade – To rolling upgrade the nodes.
• SyncDB – To recovery broken chains (experiment).
…
HyperCC 16
Deployment example
• 1 host machine
• 1 Client
• 1 Validator node
Trusted domain
RESTAPI
17
Client Validator
Host machine
V1
Deployment example (2)
• 1 host machine
• 2 Clients
• 1 Validator node
Trusted domain
18
Client 2
Validator
Client 1
RESTAPI
Host machine
V1
Deployment example (3)
• 1 host machine
• 3 Clients
• 3 Validator nodes
• 1 Non-validator node
Trusted domain
19
Client 2
Validators
Client 1
Client 3
RESTAPI
V4
V3
V2
N1
Host machine
Deployment example (4)
• 4 machines
• 3 Clients
• 3 Validator nodes
• 1 Non-validator nodes
• each!
20
Client 2
Client 1
Client 3
RESTAPI
V
V
V
N
Host machine 3
Trusted domain
Client 2
Client 1
Client 3
RESTAPI
V
V
V
N
Host machine 1
Client 2
Client 1
Client 3
RESTAPI
N
V
V
V
Host machine 2
Client 2
Client 1
Client 3
RESTAPI
N
V
V
V
Host machine 4
Performance evaluation
21
Test protocol and configurations
• What we measure?
• Throughput, CPU, memory, storage, latency , and discrepancy
• How we send the transactions?
• REST API
• What kind of transaction?
• Randomly transfer money between users.
• Docker configuration
• v. 1.11
• --storage-driver=overlay
• Node configurations
• Single VM, multiple VMs, multiple physical servers
• Node size: 1/2/4/5/6/10/15/20
22
Trusted domain
Client 2
Validators
RESTAPI
V
V
V
N
Host machine
= Avg( ) = Avg(Diff( ))
Overall result*
CPU
Storage
Memory
Latency
Discrepancy
Throughput
Multiple configurations (PBFT)
1 VM 4 VMs 4 Servers
23
CPU
Storage
Memory
Latency
Discrepancy
Throughput
Multiple configurations (Noops)
1 VM 4 VMs 4 Servers
*Higher is better, comparing relatively to 1 VM.
Overall result* (2)
• Noops vs. PBFT
CPU
Storage
Memory
Latency
Discrepancy
Throughput
Consensus algorithms comparison
PBFT NOOPS
24*Higher is better, comparing relatively to PBFT.
Throughput result in detail
• Estimated for market hours (7 hours)
• Clients connect directly to validator node.
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Transaction/day(million)
Number of nodes
Throughput
2.92 M 2.91 M
25
Trusted domain
RESTAPI
Client Validator
Host machine
V1
Number of node
defines number of machine.
• With non-validator node enabled
Throughput result in detail (2)
0.0
1.0
2.0
3.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Transaction/day(million)
Number of nodes
Throughput
1 machine, 3 V nodes, 1 N node, 1 Client
4 machines, 3 V nodes, 1 N nodes, 1 Clients, each
4 machines, 4 V nodes, 1 N nodes, 2 Clients, each
4 machines, 3 V nodes, 1 N nodes, 3 Clients, each
4 machines, 1 V node, 1 N nodes, 3 Clients, each
2.6 M
10.75 M
17.98 M
19.2 M
21.17 M
26
Client 2
Client 1
Client 3
RESTAPI
V
V
V
N
Host machine 3
Trusted domain
Client 2
Client 1
Client 3
RESTAPI
V
V
V
N
Host machine 1
Client 2
Client 1
Client 3
RESTAPI
N
V
V
V
Host machine 2
Client 2
Client 1
Client 3
RESTAPI
N
V
V
V
Host machine 4
V = validator
N = non-validator
Result summary
• Noops gives higher performance than PBFT.
• Higher throughput can be achieved with physical servers.
• Better to send transaction through a non-validator node.
27
Trusted domain
RESTAPI
Client Validator
Host machine
V1
Trusted domain
RESTAPI
Client Non-Validator
Host machine
N1 V1
Validator
Recommended!
Next challenges
28
Hyperledger side
1. Backup / Recovery
2. Something in between Noops and PBFT consensus.
• Hybrid consensus?
3. Throttling rather than silent rejection.
4. ROOT discovery node fail?
5. Way to get transaction result on commit (transaction-specific event?).
6. Deprecated HostConfig in Docker 1.12
• go-dockerclient still not support Docker 1.12.
• Chaincode cannot be created.
7. Slow chaincode deployment.
8. Container not recycles automatically.
29
Docker side
1. Image is quite big
2. Make Docker image smaller
3. Might need runC/containerd runC
30
3 things to takeaway
• Hyperledger + Docker provides a powerful blockchain framework.
• Way to deploy a new chaincode without creating a new image.
• Hybrid consensus, fast, adjustable level of trust.
31
Talk with us
•Our leader:
Fernando Luis Vázquez Cao
fernando.vazquez@sbibits.com
•Me:
Siriwat Kasamwattanarote
siriwat.k@sbibits.com
32

Weitere ähnliche Inhalte

Was ist angesagt?

Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Arnaud Le Hors
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricBenjamin Fuentes
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricAraf Karsh Hamid
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsDuncan Johnston-Watt
 
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseHyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseRobert Tochman-Szewc
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning TalkAndrew Kennedy
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528Arnaud Le Hors
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger applicationEric Cattoir
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Dr. Ketan Parmar
 
Hyperledger Composer architecture
Hyperledger Composer architectureHyperledger Composer architecture
Hyperledger Composer architectureSimon Stone
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and ToolsRihusoft
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Arnaud Le Hors
 
IBM Blockchain PoV: Hyperledger genesis block
IBM Blockchain PoV: Hyperledger genesis blockIBM Blockchain PoV: Hyperledger genesis block
IBM Blockchain PoV: Hyperledger genesis blockLuca Comparini
 
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyBitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyJollen Chen
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger LabDev_Events
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerDev_Events
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528Arnaud Le Hors
 

Was ist angesagt? (20)

Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger Fabric
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
 
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate UseHyperledger Fabric: A Custom Blockchain Solution for Corporate Use
Hyperledger Fabric: A Custom Blockchain Solution for Corporate Use
 
Hyperledger fabric 3
Hyperledger fabric 3Hyperledger fabric 3
Hyperledger fabric 3
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger application
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Hyperledger Composer architecture
Hyperledger Composer architectureHyperledger Composer architecture
Hyperledger Composer architecture
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618
 
Hyperledger Fabric and Tools
Hyperledger Fabric and ToolsHyperledger Fabric and Tools
Hyperledger Fabric and Tools
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024
 
IBM Blockchain PoV: Hyperledger genesis block
IBM Blockchain PoV: Hyperledger genesis blockIBM Blockchain PoV: Hyperledger genesis block
IBM Blockchain PoV: Hyperledger genesis block
 
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyBitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and Property
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528
 

Andere mochten auch

How to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedHow to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedAltoros
 
Smart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesSmart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesCasey Kuhlman
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger ComposerSimon Stone
 
Edcon - Hardware wallets and smart contracts
Edcon -  Hardware wallets and smart contractsEdcon -  Hardware wallets and smart contracts
Edcon - Hardware wallets and smart contractsEric Larcheveque
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Altoros
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Simon Stone
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Romeo Kienzler
 

Andere mochten auch (10)

IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
 
How to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment UnattendedHow to Never Leave Your Deployment Unattended
How to Never Leave Your Deployment Unattended
 
Smart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and ChallengesSmart Contracts: Opportunities and Challenges
Smart Contracts: Opportunities and Challenges
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
Edcon - Hardware wallets and smart contracts
Edcon -  Hardware wallets and smart contractsEdcon -  Hardware wallets and smart contracts
Edcon - Hardware wallets and smart contracts
 
Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17Excelian hyperledger walkthrough-feb17
Excelian hyperledger walkthrough-feb17
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 
Code is not law
Code is not lawCode is not law
Code is not law
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017
 
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
Architecture of the Hyperledger Blockchain Fabric - Christian Cachin - IBM Re...
 

Ähnlich wie Trading Derivatives on Hyperledger

A Glance at the P2P Cryptocurrency Exchange Development Company.pptx
A Glance at the P2P Cryptocurrency Exchange Development Company.pptxA Glance at the P2P Cryptocurrency Exchange Development Company.pptx
A Glance at the P2P Cryptocurrency Exchange Development Company.pptxChrisL55
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsMichael Chi
 
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...Frank Lyaruu
 
Using Event Streams in Serverless Applications
Using Event Streams in Serverless ApplicationsUsing Event Streams in Serverless Applications
Using Event Streams in Serverless ApplicationsJonathan Dee
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...R3
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021DanielBohnemann
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesShivji Kumar Jha
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Mydbops
 
20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle framework20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle frameworkHu Kenneth
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAlejandro Hernández
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsRonny López
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceEvan McGee
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2Antonio Peric-Mazar
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous DeliveryChristian Deger
 
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...Opris Exchange
 

Ähnlich wie Trading Derivatives on Hyperledger (20)

A Glance at the P2P Cryptocurrency Exchange Development Company.pptx
A Glance at the P2P Cryptocurrency Exchange Development Company.pptxA Glance at the P2P Cryptocurrency Exchange Development Company.pptx
A Glance at the P2P Cryptocurrency Exchange Development Company.pptx
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and Designs
 
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...
ApacheCon Core: Service Discovery in OSGi: Beyond the JVM using Docker and Co...
 
Using Event Streams in Serverless Applications
Using Event Streams in Serverless ApplicationsUsing Event Streams in Serverless Applications
Using Event Streams in Serverless Applications
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
DevDay: Integrating HQLAx on Corda into the Financial Markets Infrastructure,...
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Navigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern DatabasesNavigating Transactions: ACID Complexity in Modern Databases
Navigating Transactions: ACID Complexity in Modern Databases
 
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...
 
20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle framework20180714 workshop - Ethereum decentralized application with truffle framework
20180714 workshop - Ethereum decentralized application with truffle framework
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
 
Cloud native Continuous Delivery
Cloud native Continuous DeliveryCloud native Continuous Delivery
Cloud native Continuous Delivery
 
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...
Enhance Your Business Revenue with an Effective Binance Clone Script - Opris ...
 

Mehr von LF Events

Feature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionFeature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionLF Events
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor LF Events
 
Efficient kernel backporting
Efficient kernel backportingEfficient kernel backporting
Efficient kernel backportingLF Events
 
Raspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTRaspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTLF Events
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-OLF Events
 
CNCF and Fujitsu
CNCF and FujitsuCNCF and Fujitsu
CNCF and FujitsuLF Events
 
SR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementSR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementLF Events
 
NVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxNVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxLF Events
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
Taking over to the Next Generation
Taking over to the Next GenerationTaking over to the Next Generation
Taking over to the Next GenerationLF Events
 
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...LF Events
 
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...LF Events
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT GatewayLF Events
 
Introducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceIntroducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceLF Events
 
Boost UDP Transaction Performance
Boost UDP Transaction PerformanceBoost UDP Transaction Performance
Boost UDP Transaction PerformanceLF Events
 
Containers: Don't Skeu Them Up, Use Microservices Instead
Containers: Don't Skeu Them Up, Use Microservices InsteadContainers: Don't Skeu Them Up, Use Microservices Instead
Containers: Don't Skeu Them Up, Use Microservices InsteadLF Events
 

Mehr von LF Events (16)

Feature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with EncryptionFeature rich BTRFS is Getting Richer with Encryption
Feature rich BTRFS is Getting Richer with Encryption
 
KASan in a Bare-Metal Hypervisor
 KASan in a Bare-Metal Hypervisor  KASan in a Bare-Metal Hypervisor
KASan in a Bare-Metal Hypervisor
 
Efficient kernel backporting
Efficient kernel backportingEfficient kernel backporting
Efficient kernel backporting
 
Raspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOTRaspberry pi Update - Encourage your IOT
Raspberry pi Update - Encourage your IOT
 
Introduction to Open-O
Introduction to Open-OIntroduction to Open-O
Introduction to Open-O
 
CNCF and Fujitsu
CNCF and FujitsuCNCF and Fujitsu
CNCF and Fujitsu
 
SR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and ImprovementSR-IOV ixgbe Driver Limitations and Improvement
SR-IOV ixgbe Driver Limitations and Improvement
 
NVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in LinuxNVMe Over Fabrics Support in Linux
NVMe Over Fabrics Support in Linux
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
Taking over to the Next Generation
Taking over to the Next GenerationTaking over to the Next Generation
Taking over to the Next Generation
 
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
Learning From Real Practice of Providing Highly Available Hybrid Cloud Servic...
 
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...
 
Secure IOT Gateway
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
 
Introducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With kspliceIntroducing Oracle Linux and Securing It With ksplice
Introducing Oracle Linux and Securing It With ksplice
 
Boost UDP Transaction Performance
Boost UDP Transaction PerformanceBoost UDP Transaction Performance
Boost UDP Transaction Performance
 
Containers: Don't Skeu Them Up, Use Microservices Instead
Containers: Don't Skeu Them Up, Use Microservices InsteadContainers: Don't Skeu Them Up, Use Microservices Instead
Containers: Don't Skeu Them Up, Use Microservices Instead
 

Kürzlich hochgeladen

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Trading Derivatives on Hyperledger

  • 1. Trading Derivatives on Hyperledger Siriwat Kasamwattanarote, Thierry Gibralta, Vsevolod Yugov, Shibo Lin Hideaki Takei, Fernando Vazquez LinuxCon + ContainerCon Japan 2016 15 July 2016 We are We use
  • 2. People • SBI BITS (Better IT Solution) • We’re building a next generation trading platforms Fernando Vazquez Siriwat Kasamwattanarote Vsevolod Yugov Thierry Gibralta Shibo Lin Hideaki Takei 2
  • 3. Agenda • What are we doing? • Trading derivatives • Hyperledger with container technology. • Our design • Performance evaluation • Next challenges • Key takeaways 3
  • 4. A little more about us 4
  • 5. Trading Derivatives • What are derivatives? • Derivatives are securities linked to the other securities. • E.g. options, futures, and swaps. • In case of an option • Option created when • Client sells their Put/Call option and other client buys the available Put/Call option. • Fee is called premium. • Transaction happen when • The option is created. • Existing option is bought/sold/transferred. • Exercising • At the maturity time • Premium < Payout = Profit Timeline Price Make profit? 5 Call Put Maturitytime
  • 6. Trading Derivatives (2) • Traditional platform Client FX trader (broker) Order Trading platform Order Back office SQL Transaction Problems 6
  • 8. Blockchain • A chain of blocks. • Blockchain is a framework. • A block may contain code as a smart contract. • Ideal smart contract examples • Car insurance activates only when driving. • Money is transferred from A to B at 11:00 AM 15 July 2016 JST. • The contract triggers automatically. • When a contract meets its true conditions. 8 Header/ Contract Header/ Contract Header/ Contract Header/ Contract Header/ Contract Data Data Data Data Data Genesis Block 1 Block 2 Block 3 Block 4
  • 9. Hyperledger • A blockchain framework. • Open standard/source. • Customizable • Smart contract • Namely, chaincode. • Consensus plugins • Data payload • Community driven. • Written in Go. • Heavily depends on the container technology. 9 Ref: https://www.hyperledger.org
  • 10. Container • Docker is a kind of containerization platform. • No guest OS. • Only bin/lib/app. • We all know : ) Ref: https://www.docker.com 10
  • 11. + = • Becomes a fully distributed blockchain framework. • Motivated by • Our benefits • Simplified back office (BO). • Shareable BO between holder. • Less operating expenses (OPEX). • De-centralized database. • Contributing a common ledger. • Increasing transaction volume. • Customer benefits • Lower fee • Expected benefits • High availability • Disaster recovery Client Distributed trading platform Order 11 Client Order Order Client
  • 13. Use case • Aims for derivative trading platform • Trust model • Trusted nodes • Know your customer (KYC) procedure (by law) • Private network • Permissioned blockchain • Regulatory oversight 13
  • 14. Consensus • Hyperledger’s default consensus plugins: • Noops • Trusts everyone. • No integrity. • PBFT • Trusts majorities • Partially recoverable. • What could be the optimal consensus algorithm for us? 14 Private Public
  • 15. Prototype • Vanilla github.com/hyperledger/fabric • Two consensus plugins • No additional features • Two simple chaincodes • Account management • Option trading • Two type of nodes • Validator node – Validating the blocks. • Non-validator node – Providing the REST API service. • Tested on the variety of architectures. 15 Account Option
  • 16. Hyperledger control center - HyperCC • Currently • We use our specific node controller script. • Namely, HyperCC • Built with • Docker CLI • SSH • ENV variables • Parameters (port, volume, etc.) • Programmable • On-the-fly • Available functions • Start – To create the nodes. • Stop – To terminate the nodes. • Upgrade – To rolling upgrade the nodes. • SyncDB – To recovery broken chains (experiment). … HyperCC 16
  • 17. Deployment example • 1 host machine • 1 Client • 1 Validator node Trusted domain RESTAPI 17 Client Validator Host machine V1
  • 18. Deployment example (2) • 1 host machine • 2 Clients • 1 Validator node Trusted domain 18 Client 2 Validator Client 1 RESTAPI Host machine V1
  • 19. Deployment example (3) • 1 host machine • 3 Clients • 3 Validator nodes • 1 Non-validator node Trusted domain 19 Client 2 Validators Client 1 Client 3 RESTAPI V4 V3 V2 N1 Host machine
  • 20. Deployment example (4) • 4 machines • 3 Clients • 3 Validator nodes • 1 Non-validator nodes • each! 20 Client 2 Client 1 Client 3 RESTAPI V V V N Host machine 3 Trusted domain Client 2 Client 1 Client 3 RESTAPI V V V N Host machine 1 Client 2 Client 1 Client 3 RESTAPI N V V V Host machine 2 Client 2 Client 1 Client 3 RESTAPI N V V V Host machine 4
  • 22. Test protocol and configurations • What we measure? • Throughput, CPU, memory, storage, latency , and discrepancy • How we send the transactions? • REST API • What kind of transaction? • Randomly transfer money between users. • Docker configuration • v. 1.11 • --storage-driver=overlay • Node configurations • Single VM, multiple VMs, multiple physical servers • Node size: 1/2/4/5/6/10/15/20 22 Trusted domain Client 2 Validators RESTAPI V V V N Host machine = Avg( ) = Avg(Diff( ))
  • 23. Overall result* CPU Storage Memory Latency Discrepancy Throughput Multiple configurations (PBFT) 1 VM 4 VMs 4 Servers 23 CPU Storage Memory Latency Discrepancy Throughput Multiple configurations (Noops) 1 VM 4 VMs 4 Servers *Higher is better, comparing relatively to 1 VM.
  • 24. Overall result* (2) • Noops vs. PBFT CPU Storage Memory Latency Discrepancy Throughput Consensus algorithms comparison PBFT NOOPS 24*Higher is better, comparing relatively to PBFT.
  • 25. Throughput result in detail • Estimated for market hours (7 hours) • Clients connect directly to validator node. 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Transaction/day(million) Number of nodes Throughput 2.92 M 2.91 M 25 Trusted domain RESTAPI Client Validator Host machine V1 Number of node defines number of machine.
  • 26. • With non-validator node enabled Throughput result in detail (2) 0.0 1.0 2.0 3.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Transaction/day(million) Number of nodes Throughput 1 machine, 3 V nodes, 1 N node, 1 Client 4 machines, 3 V nodes, 1 N nodes, 1 Clients, each 4 machines, 4 V nodes, 1 N nodes, 2 Clients, each 4 machines, 3 V nodes, 1 N nodes, 3 Clients, each 4 machines, 1 V node, 1 N nodes, 3 Clients, each 2.6 M 10.75 M 17.98 M 19.2 M 21.17 M 26 Client 2 Client 1 Client 3 RESTAPI V V V N Host machine 3 Trusted domain Client 2 Client 1 Client 3 RESTAPI V V V N Host machine 1 Client 2 Client 1 Client 3 RESTAPI N V V V Host machine 2 Client 2 Client 1 Client 3 RESTAPI N V V V Host machine 4 V = validator N = non-validator
  • 27. Result summary • Noops gives higher performance than PBFT. • Higher throughput can be achieved with physical servers. • Better to send transaction through a non-validator node. 27 Trusted domain RESTAPI Client Validator Host machine V1 Trusted domain RESTAPI Client Non-Validator Host machine N1 V1 Validator Recommended!
  • 29. Hyperledger side 1. Backup / Recovery 2. Something in between Noops and PBFT consensus. • Hybrid consensus? 3. Throttling rather than silent rejection. 4. ROOT discovery node fail? 5. Way to get transaction result on commit (transaction-specific event?). 6. Deprecated HostConfig in Docker 1.12 • go-dockerclient still not support Docker 1.12. • Chaincode cannot be created. 7. Slow chaincode deployment. 8. Container not recycles automatically. 29
  • 30. Docker side 1. Image is quite big 2. Make Docker image smaller 3. Might need runC/containerd runC 30
  • 31. 3 things to takeaway • Hyperledger + Docker provides a powerful blockchain framework. • Way to deploy a new chaincode without creating a new image. • Hybrid consensus, fast, adjustable level of trust. 31
  • 32. Talk with us •Our leader: Fernando Luis Vázquez Cao fernando.vazquez@sbibits.com •Me: Siriwat Kasamwattanarote siriwat.k@sbibits.com 32