SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Software Engineer, Ground X
- 서비스 체인 개발
- 카카오톡 디지털 지갑 Klip backend 개발
Division Manager, TmaxData
- RDBMS backend 개발
- Deep learning 기반 data center 관리
시스템 개발
● 올해 3월부터 Ground X에서 Klaytn 개발에
참여하고 있습니다.
● 서비스 체인 개발을 담당하고 있고
최근에는 카카오톡에 들어갈 디지털 지갑
Klip의 backend도 개발하고 있습니다
나정호, Albert
∙Service Chain Overview
∙Problems To Solve
∙Multi-Bridge Architecture
∙Recovery
∙Test Results
∙Future Work
Service Chain Overview
CN : Consensus Node
SCN: Service Chain Consensus Node
PN: Proxy Node
SPN: Service Chain Proxy Node
EN: Endpoint Node
SEN: Service Chain Endpoint Node
P2P Network
(Anchoring/Value Transfer)
Service Chain Overview
Service chainMain chain
SENEN
P2P Network
(Anchoring/Value Transfer)
Bridge
contract
Bridge
contract
Main-Bridge Sub-Bridge
Service chainMain chain
SENEN
P2P Network
Bridge
contract
Bridge
contract
TX 1: 10 KLAY to Bob
Alice
emit
RequestValue
Transfer()
TX 2: 10 KLAY to Bob
Operator
Value Transfer Example
Problems To Solve - Network Failure
P2P Network
(Anchoring/Value Transfer)
Problems To Solve - Node Failure
P2P Network
(Anchoring/Value Transfer)
Problems To Solve - Security of Operator Key
Operator
P2P Network
(Anchoring/Value Transfer)
Multi-Bridge Architecture
Main chain Service chain
Bridge
Contract
Sub-Bridge
Operator
Main-Bridge
Bridge
Contract
P2P Network
(Anchoring/Value Transfer)
Main-Bridge
Main-Bridge
Sub-Bridge
Operator
Sub-Bridge
Operator
Multi-Bridge Architecture
P2P network
(Anchoring/Value Transfer)
Main chain Service chain
Bridge
Contract
Bridge Contract
Sub-Bridge
Operator
Sub-Bridge
Operator
Sub-Bridge
Operator
Main-Bridge
Main-Bridge
Main-Bridge
OwnerConfiguration Configuration
Voting
Multi-Bridge Architecture
Start (handling event)
Not closed?
End
key = keccak256(msg.data)
count[key]++
count[key] >=
threshold?
close vote
transfer
emit HandleVT
NY
Y
N
Voting
Multi-Bridge Scenarios
Key: 0xABC
From : Bob
To: Alice
Value: 50 KLAY
Tx by
Operator
#1
Tx by
Operator
#2
Tx by
Operator
#3
Case 1: Normal transfer
Key: 0xABC
From : Bob
To: Alice
Value: 50 KLAY
Tx by
Operator
#1
Tx by
Operator
#2
Tx by
Operator
#3
Key: 0xBBC
From: Bob
To: Albert
Value: 100 KLAY
Case 3: Invalid attempt
Key: 0xABC
From : Bob
To: Alice
Value: 50 KLAY
Tx by
Operator
#1
Tx by
Operator
#2
Tx by
Operator
#3
Failure node
can’t send a
transaction.
Case 2: Node failure
Service chainMain chain
SENEN P2P Network
Bridge
contract
Bridge
contract
TX 1: 10 KLAY to Bob
Alice
emit
RequestValue
Transfer()
TX 2: 10 KLAY to Bob
Operator
Recovery
Recovery
Recovery
Update hint from
Bridge Contract
Retrieve pending
events
Recover the pending
events
Every 60s
● requestNonce
● handleNonce
● blkNum
● Check recovery condition
○ requestNonce != handleNonce
○ prevHandleNonce == handleNonce
● Get pending events
○ FilterRequestVT(blkNum, current)
● Re-send the pending transactions
○ Duplicated tx is reverted by checking
nonce
Recovery
Recovery
Service chainMain chain
SENEN
P2P Network
Bridge
contract
reqNonce
99
blkNum
11
Bridge
contract
handleNonce
99
TX 1: 10 KLAY to Bob
Alice
emit
RequestValue
Transfer()
Recovery
Service chainMain chain
SENEN
P2P Network
Bridge
contract
reqNonce
99 ⇒ 100
blkNum
11 ⇒ 20
Bridge
contract
handleNonce
99
emit
RequestValue
Transfer()
Recovery
Service chainMain chain
SENEN
P2P Network
Bridge
contract
reqNonce
100
blkNum
20
Bridge
contract
handleNonce
99
Recovery
reqNonce
100
handleNonce
99
Recovery
Service chainMain chain
SENEN
P2P Network
Bridge
contract
reqNonce
100
blkNum
20
Bridge
contract
handleNonce
99 ⇒ 100
Recovery
FilterLogs(20, current)
blkNum 20
event log
RequestValueT
ransfer()
Recovery
Service chainMain chain
SENEN
P2P Network
Bridge
contract
reqNonce
100
blkNum
11
Bridge
contract
handleNonce
99 ⇒ 100
Recovery
Recover the pending event
TX 2: 10 KLAY from Alice
to Bob
Operator
Test Results
Killed SEN 3
Killed SEN 0, 1, 2
continuously
∙Multi-bridge
- EN 4 (main-bridge 4), SEN 4 (sub-bridge 4),
threshold 1
- Value transfer (Main Chain ↔ Service Chain)
Test Results
Stop #1
Start #1
Stop #2
Start #2
∙Recovery
- Value transfer (Main Chain → Service Chain)
- Repeatedly stop and start all SENs
Future Work
P2P network
(Anchoring/Value Transfer)
Main chain Service chain
Bridge
Contract
Bridge
Contract
Sub-Bridge
Operator
Sub-Bridge
Operator
Sub-Bridge
Operator
Main-Bridge
Main-Bridge
Main-Bridge
Owner
Ground X
27F, 521, Teheran-ro,
Gangnam-gu, Seoul, Republic of Korea
THANK YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Performance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and CassandraPerformance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and CassandraDave Bechberger
 
Samza at LinkedIn
Samza at LinkedInSamza at LinkedIn
Samza at LinkedInVenu Ryali
 
WebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST MicroserviceWebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST MicroserviceRick Hightower
 
Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup  Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup Eran Gampel
 
Microservices summit talk 1/31
Microservices summit talk   1/31Microservices summit talk   1/31
Microservices summit talk 1/31Varun Talwar
 
V sphere vds_poc_primer
V sphere vds_poc_primerV sphere vds_poc_primer
V sphere vds_poc_primerVino Alex
 
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021StreamNative
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperMark West
 
Architectural Commandments for Building & Running Microservices at Scale
Architectural Commandments for Building & Running Microservices at ScaleArchitectural Commandments for Building & Running Microservices at Scale
Architectural Commandments for Building & Running Microservices at ScaleBrian Wilson
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsRick Hightower
 
Dragon flow neutron lightning talk
Dragon flow neutron lightning talkDragon flow neutron lightning talk
Dragon flow neutron lightning talkEran Gampel
 
Weaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DBWeaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DBInterledger
 
OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodesclayton_oneill
 
High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017Rick Hightower
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Routercarlbaldwin
 
Qo s routing
Qo s  routingQo s  routing
Qo s routingrajib_
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesApcera
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Inhye Park
 
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)Rick Hightower
 

Was ist angesagt? (20)

Performance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and CassandraPerformance is not an Option - gRPC and Cassandra
Performance is not an Option - gRPC and Cassandra
 
Samza at LinkedIn
Samza at LinkedInSamza at LinkedIn
Samza at LinkedIn
 
WebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST MicroserviceWebSocket MicroService vs. REST Microservice
WebSocket MicroService vs. REST Microservice
 
Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup  Dragonflow 01 2016 TLV meetup
Dragonflow 01 2016 TLV meetup
 
Microservices summit talk 1/31
Microservices summit talk   1/31Microservices summit talk   1/31
Microservices summit talk 1/31
 
V sphere vds_poc_primer
V sphere vds_poc_primerV sphere vds_poc_primer
V sphere vds_poc_primer
 
STUN protocol
STUN protocolSTUN protocol
STUN protocol
 
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
Deep Dive into the Pulsar Binary Protocol - Pulsar Virtual Summit Europe 2021
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
 
Architectural Commandments for Building & Running Microservices at Scale
Architectural Commandments for Building & Running Microservices at ScaleArchitectural Commandments for Building & Running Microservices at Scale
Architectural Commandments for Building & Running Microservices at Scale
 
High-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulationsHigh-Speed Reactive Microservices - trials and tribulations
High-Speed Reactive Microservices - trials and tribulations
 
Dragon flow neutron lightning talk
Dragon flow neutron lightning talkDragon flow neutron lightning talk
Dragon flow neutron lightning talk
 
Weaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DBWeaving the ILP Fabric into Bigchain DB
Weaving the ILP Fabric into Bigchain DB
 
OpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute NodesOpenStack: Virtual Routers On Compute Nodes
OpenStack: Virtual Routers On Compute Nodes
 
High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017High-speed, Reactive Microservices 2017
High-speed, Reactive Microservices 2017
 
OpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual RouterOpenStack Neutron's Distributed Virtual Router
OpenStack Neutron's Distributed Virtual Router
 
Qo s routing
Qo s  routingQo s  routing
Qo s routing
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307Docker kubernetes fundamental(pod_service)_190307
Docker kubernetes fundamental(pod_service)_190307
 
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)Reactive Java: Promises and Streams with Reakt  (JavaOne talk 2016)
Reactive Java: Promises and Streams with Reakt (JavaOne talk 2016)
 

Ähnlich wie TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain

Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshopKae Hsu
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OpenvSwitch
 
Lecture 5
Lecture 5Lecture 5
Lecture 5ntpc08
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...Ambassador Labs
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbmsDilouar Hossain
 
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018Codemotion
 
Mininet: Moving Forward
Mininet: Moving ForwardMininet: Moving Forward
Mininet: Moving ForwardON.Lab
 
Part 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resourcesPart 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resourcesOlivier Bonaventure
 
The Services Enabling Platform - F Depuydt
The Services Enabling Platform - F DepuydtThe Services Enabling Platform - F Depuydt
The Services Enabling Platform - F Depuydtmfrancis
 
Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Laurent Bernaille
 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoinbtlcoin token
 
Redesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsRedesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsNitinder Mohan
 
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxjoellemurphey
 
DASP Top10 for OWASP Thailand Chapter by s111s
DASP Top10 for OWASP Thailand Chapter by s111s DASP Top10 for OWASP Thailand Chapter by s111s
DASP Top10 for OWASP Thailand Chapter by s111s s111s object
 
08 module interconnecting cisco router
08 module interconnecting cisco router08 module interconnecting cisco router
08 module interconnecting cisco routerAsif
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic PerformanceJavier Arauz
 

Ähnlich wie TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain (20)

Network and TCP performance relationship workshop
Network and TCP performance relationship workshopNetwork and TCP performance relationship workshop
Network and TCP performance relationship workshop
 
transport protocols
transport protocolstransport protocols
transport protocols
 
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecasesLF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
LF_OVS_17_OVS/OVS-DPDK connection tracking for Mobile usecases
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbms
 
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
Upgrading the Bitcoin protocol - Simone Bronzini - Codemotion Rome 2018
 
Mininet: Moving Forward
Mininet: Moving ForwardMininet: Moving Forward
Mininet: Moving Forward
 
Part 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resourcesPart 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resources
 
The Services Enabling Platform - F Depuydt
The Services Enabling Platform - F DepuydtThe Services Enabling Platform - F Depuydt
The Services Enabling Platform - F Depuydt
 
Poodle
PoodlePoodle
Poodle
 
Token btlcoin
Token btlcoinToken btlcoin
Token btlcoin
 
Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)
 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoin
 
Redesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge cloudsRedesigning MPTCP in Edge clouds
Redesigning MPTCP in Edge clouds
 
Blockchain
BlockchainBlockchain
Blockchain
 
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
 
DASP Top10 for OWASP Thailand Chapter by s111s
DASP Top10 for OWASP Thailand Chapter by s111s DASP Top10 for OWASP Thailand Chapter by s111s
DASP Top10 for OWASP Thailand Chapter by s111s
 
08 module interconnecting cisco router
08 module interconnecting cisco router08 module interconnecting cisco router
08 module interconnecting cisco router
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic Performance
 

Mehr von Klaytn

TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentTXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentKlaytn
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceKlaytn
 
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnTXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnKlaytn
 
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsTXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsKlaytn
 
TXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnTXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnKlaytn
 
TXGX 2019_Andy_Klaytn's Network Architecture and Consensus
TXGX 2019_Andy_Klaytn's Network Architecture and ConsensusTXGX 2019_Andy_Klaytn's Network Architecture and Consensus
TXGX 2019_Andy_Klaytn's Network Architecture and ConsensusKlaytn
 
TXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionTXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionKlaytn
 
TXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechTXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechKlaytn
 
Klaytn Developer Meetup_20191210
Klaytn Developer Meetup_20191210Klaytn Developer Meetup_20191210
Klaytn Developer Meetup_20191210Klaytn
 
Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022Klaytn
 
if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04Klaytn
 
if kakao dev 2019_Ground X_Session 03
if kakao dev 2019_Ground X_Session 03if kakao dev 2019_Ground X_Session 03
if kakao dev 2019_Ground X_Session 03Klaytn
 
if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02Klaytn
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01Klaytn
 
Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn
 

Mehr von Klaytn (15)

TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) DevelopmentTXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
TXGX 2019_Kai_Klaytn Blockchain Application (BApp) Development
 
TXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API ServiceTXGX 2019_Jesse_Klaytn API Service
TXGX 2019_Jesse_Klaytn API Service
 
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in KlaytnTXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
TXGX 2019_Ethan_Horizontal Scaling through Service Chain in Klaytn
 
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & OptimizationsTXGX 2019_Melvin_Data Layer Architecture & Optimizations
TXGX 2019_Melvin_Data Layer Architecture & Optimizations
 
TXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in KlaytnTXGX 2019_Colin_Account and Transaction Model in Klaytn
TXGX 2019_Colin_Account and Transaction Model in Klaytn
 
TXGX 2019_Andy_Klaytn's Network Architecture and Consensus
TXGX 2019_Andy_Klaytn's Network Architecture and ConsensusTXGX 2019_Andy_Klaytn's Network Architecture and Consensus
TXGX 2019_Andy_Klaytn's Network Architecture and Consensus
 
TXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to CompletionTXGX 2019_Jun_Klaytn World: From Inception to Completion
TXGX 2019_Jun_Klaytn World: From Inception to Completion
 
TXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome SpeechTXGX 2019_Jason_Welcome Speech
TXGX 2019_Jason_Welcome Speech
 
Klaytn Developer Meetup_20191210
Klaytn Developer Meetup_20191210Klaytn Developer Meetup_20191210
Klaytn Developer Meetup_20191210
 
Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022Klaytn Developer Meetup_20191022
Klaytn Developer Meetup_20191022
 
if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04if kakao dev 2019_Ground X_Session 04
if kakao dev 2019_Ground X_Session 04
 
if kakao dev 2019_Ground X_Session 03
if kakao dev 2019_Ground X_Session 03if kakao dev 2019_Ground X_Session 03
if kakao dev 2019_Ground X_Session 03
 
if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02if kakao dev 2019_Ground X_Session 02
if kakao dev 2019_Ground X_Session 02
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01
 
Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827
 

Kürzlich hochgeladen

Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 

Kürzlich hochgeladen (20)

Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 

TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain

  • 1.
  • 2. Software Engineer, Ground X - 서비스 체인 개발 - 카카오톡 디지털 지갑 Klip backend 개발 Division Manager, TmaxData - RDBMS backend 개발 - Deep learning 기반 data center 관리 시스템 개발 ● 올해 3월부터 Ground X에서 Klaytn 개발에 참여하고 있습니다. ● 서비스 체인 개발을 담당하고 있고 최근에는 카카오톡에 들어갈 디지털 지갑 Klip의 backend도 개발하고 있습니다 나정호, Albert
  • 3. ∙Service Chain Overview ∙Problems To Solve ∙Multi-Bridge Architecture ∙Recovery ∙Test Results ∙Future Work
  • 4. Service Chain Overview CN : Consensus Node SCN: Service Chain Consensus Node PN: Proxy Node SPN: Service Chain Proxy Node EN: Endpoint Node SEN: Service Chain Endpoint Node P2P Network (Anchoring/Value Transfer)
  • 5. Service Chain Overview Service chainMain chain SENEN P2P Network (Anchoring/Value Transfer) Bridge contract Bridge contract Main-Bridge Sub-Bridge
  • 6. Service chainMain chain SENEN P2P Network Bridge contract Bridge contract TX 1: 10 KLAY to Bob Alice emit RequestValue Transfer() TX 2: 10 KLAY to Bob Operator Value Transfer Example
  • 7. Problems To Solve - Network Failure P2P Network (Anchoring/Value Transfer)
  • 8. Problems To Solve - Node Failure P2P Network (Anchoring/Value Transfer)
  • 9. Problems To Solve - Security of Operator Key Operator P2P Network (Anchoring/Value Transfer)
  • 10. Multi-Bridge Architecture Main chain Service chain Bridge Contract Sub-Bridge Operator Main-Bridge Bridge Contract P2P Network (Anchoring/Value Transfer) Main-Bridge Main-Bridge Sub-Bridge Operator Sub-Bridge Operator
  • 11. Multi-Bridge Architecture P2P network (Anchoring/Value Transfer) Main chain Service chain Bridge Contract Bridge Contract Sub-Bridge Operator Sub-Bridge Operator Sub-Bridge Operator Main-Bridge Main-Bridge Main-Bridge OwnerConfiguration Configuration Voting
  • 12. Multi-Bridge Architecture Start (handling event) Not closed? End key = keccak256(msg.data) count[key]++ count[key] >= threshold? close vote transfer emit HandleVT NY Y N Voting
  • 13. Multi-Bridge Scenarios Key: 0xABC From : Bob To: Alice Value: 50 KLAY Tx by Operator #1 Tx by Operator #2 Tx by Operator #3 Case 1: Normal transfer Key: 0xABC From : Bob To: Alice Value: 50 KLAY Tx by Operator #1 Tx by Operator #2 Tx by Operator #3 Key: 0xBBC From: Bob To: Albert Value: 100 KLAY Case 3: Invalid attempt Key: 0xABC From : Bob To: Alice Value: 50 KLAY Tx by Operator #1 Tx by Operator #2 Tx by Operator #3 Failure node can’t send a transaction. Case 2: Node failure
  • 14. Service chainMain chain SENEN P2P Network Bridge contract Bridge contract TX 1: 10 KLAY to Bob Alice emit RequestValue Transfer() TX 2: 10 KLAY to Bob Operator Recovery Recovery
  • 15. Recovery Update hint from Bridge Contract Retrieve pending events Recover the pending events Every 60s ● requestNonce ● handleNonce ● blkNum ● Check recovery condition ○ requestNonce != handleNonce ○ prevHandleNonce == handleNonce ● Get pending events ○ FilterRequestVT(blkNum, current) ● Re-send the pending transactions ○ Duplicated tx is reverted by checking nonce Recovery
  • 16. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 99 blkNum 11 Bridge contract handleNonce 99 TX 1: 10 KLAY to Bob Alice emit RequestValue Transfer()
  • 17. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 99 ⇒ 100 blkNum 11 ⇒ 20 Bridge contract handleNonce 99 emit RequestValue Transfer()
  • 18. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 100 blkNum 20 Bridge contract handleNonce 99 Recovery reqNonce 100 handleNonce 99
  • 19. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 100 blkNum 20 Bridge contract handleNonce 99 ⇒ 100 Recovery FilterLogs(20, current) blkNum 20 event log RequestValueT ransfer()
  • 20. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 100 blkNum 11 Bridge contract handleNonce 99 ⇒ 100 Recovery Recover the pending event TX 2: 10 KLAY from Alice to Bob Operator
  • 21. Test Results Killed SEN 3 Killed SEN 0, 1, 2 continuously ∙Multi-bridge - EN 4 (main-bridge 4), SEN 4 (sub-bridge 4), threshold 1 - Value transfer (Main Chain ↔ Service Chain)
  • 22. Test Results Stop #1 Start #1 Stop #2 Start #2 ∙Recovery - Value transfer (Main Chain → Service Chain) - Repeatedly stop and start all SENs
  • 23. Future Work P2P network (Anchoring/Value Transfer) Main chain Service chain Bridge Contract Bridge Contract Sub-Bridge Operator Sub-Bridge Operator Sub-Bridge Operator Main-Bridge Main-Bridge Main-Bridge Owner
  • 24. Ground X 27F, 521, Teheran-ro, Gangnam-gu, Seoul, Republic of Korea THANK YOU