Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 24 Anuncio

TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain

Descargar para leer sin conexión

High Availability Architecture of Klaytn Service Chain
Klaytn의 확장성 솔루션인 Service Chain은 Main Chain과의 연결을 위해서 bridge node를 활용하고 있습니다. 이 bridge node를 통해 체인 간 value transfer 및 anchoring 기능을 지원합니다. 하지만 bridge node는 정해진 노드간 통신이기 때문에 장애가 발생하는 경우 single point of failure가 될 수 있습니다. 이 발표에서는 일부 bride node에 장애가 발생하더라도 무중단 서비스가 가능한 아키텍처의 설계 및 구현에 대해서 소개합니다.

High Availability Architecture of Klaytn Service Chain
Klaytn의 확장성 솔루션인 Service Chain은 Main Chain과의 연결을 위해서 bridge node를 활용하고 있습니다. 이 bridge node를 통해 체인 간 value transfer 및 anchoring 기능을 지원합니다. 하지만 bridge node는 정해진 노드간 통신이기 때문에 장애가 발생하는 경우 single point of failure가 될 수 있습니다. 이 발표에서는 일부 bride node에 장애가 발생하더라도 무중단 서비스가 가능한 아키텍처의 설계 및 구현에 대해서 소개합니다.

Anuncio
Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain (20)

Anuncio

Más de Klaytn (15)

Más reciente (20)

Anuncio

TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain

  1. 1. Software Engineer, Ground X - 서비스 체인 개발 - 카카오톡 디지털 지갑 Klip backend 개발 Division Manager, TmaxData - RDBMS backend 개발 - Deep learning 기반 data center 관리 시스템 개발 ● 올해 3월부터 Ground X에서 Klaytn 개발에 참여하고 있습니다. ● 서비스 체인 개발을 담당하고 있고 최근에는 카카오톡에 들어갈 디지털 지갑 Klip의 backend도 개발하고 있습니다 나정호, Albert
  2. 2. ∙Service Chain Overview ∙Problems To Solve ∙Multi-Bridge Architecture ∙Recovery ∙Test Results ∙Future Work
  3. 3. 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)
  4. 4. Service Chain Overview Service chainMain chain SENEN P2P Network (Anchoring/Value Transfer) Bridge contract Bridge contract Main-Bridge Sub-Bridge
  5. 5. 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
  6. 6. Problems To Solve - Network Failure P2P Network (Anchoring/Value Transfer)
  7. 7. Problems To Solve - Node Failure P2P Network (Anchoring/Value Transfer)
  8. 8. Problems To Solve - Security of Operator Key Operator P2P Network (Anchoring/Value Transfer)
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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()
  16. 16. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 99 ⇒ 100 blkNum 11 ⇒ 20 Bridge contract handleNonce 99 emit RequestValue Transfer()
  17. 17. Recovery Service chainMain chain SENEN P2P Network Bridge contract reqNonce 100 blkNum 20 Bridge contract handleNonce 99 Recovery reqNonce 100 handleNonce 99
  18. 18. 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()
  19. 19. 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
  20. 20. 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)
  21. 21. Test Results Stop #1 Start #1 Stop #2 Start #2 ∙Recovery - Value transfer (Main Chain → Service Chain) - Repeatedly stop and start all SENs
  22. 22. 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
  23. 23. Ground X 27F, 521, Teheran-ro, Gangnam-gu, Seoul, Republic of Korea THANK YOU

×