SlideShare a Scribd company logo
1 of 23
Download to read offline
Copyright © Ground X. All rights reserved.
Software Engineer, Platform & SDK Team, Ground X
- Consensus & Governance
- Klaytn Main-net (Cypress)
CTO of Spes.io, R&D division of Emurgo, Japan
- Dapp development on Ethereum
Senior Software Engineer, Samsung Electronics
- Developed various pilot projects
- Home media sharing, Search engine, Etc.
이병철, Andy Lee
TABLE
OF
CONTENTS
Copyright © Ground X. All rights reserved.
∙Network Architecture
- Former decentralized network topology
- Layered architecture of Klaytn
∙Consensus Algorithm
- BFT, Council and Committee
- Proposer & Committee selection
- Reward system
- Roundchange
- Future work
Copyright © Ground X. All rights reserved.
Network Architecture
- Former decentralized network topology
- Layered architecture of Klaytn
Copyright © Ground X. All rights reserved.
Network Topology
기존 Decentralized network
장점
- 강력한 검열 저항성
- 누구나 블록 생성에 참여할 수 있음
- 공격 대상 특정이 어려움
단점
- 낮은 Throughput
- 불확실한 Latency
의문
- 어떻게 일정 수준의 성능을 안정적으로 확보할 수 있을까?
- 모든 노드는 과연 동등한가?
Copyright © Ground X. All rights reserved.
Three Layers of Nodes
CN CN
CNCNConsensus Node
- 높은 수준의 하드웨어 / 네트워크 요구사양
- 블록 생성을 전담
Endpoint Node
- 사용자/서비스를 위한 API 제공
- 사용자/서비스의 트랜잭션을 PN에 전달하고
결과를 수신
Proxy Node
- Endpoint Node의 트랜잭션을 CN에 전송
- CN이 만든 블록을 Endpoint 노드로 전송
Copyright © Ground X. All rights reserved.
Layered Architecture - 3 Layers
Consensus Node Network (CNN)
Consensus Node (CN)
- 컨센서스를 통한 블록 생성을 전담
- 신뢰할만한 노드들만 참여 가능
장점
- 상대적으로 통제되는 환경
→ 일정 수준의 성능 보장
단점
- 누구나 블록 생성에 참여할 수 없음
→ 담합 우려
- 공격 대상의 축소
→ 전통적인 네트워크 보안 필요
Copyright © Ground X. All rights reserved.
Layered Architecture - 3 Layers
Proxy Node Network (PNN)
Proxy Node (PN):
- 외부 EN으로부터 받은 트랜잭션을 CN 및 인근 PN에
전달하고, CN에서 생성된 블록을 EN에게 전파
-
- 일반적으로 1 CN은 2 PN을 가지며, 이를 묶어 코어셀
(Core Cell)로 부름
-
- CN의 부하를 줄이고 CN이 외부에 직접 노출되지
않도록 보호
s
Copyright © Ground X. All rights reserved.
Layered Architecture - 3 Layers
Endpoint Node Network (ENN)
Endpoint Node(EN)
- 서비스/사용자의 트랜잭션을 PN들로 보내고,
결과를 받아 사용자에게 제공
-
- 다양한 RPC/WS API를 최종 사용자에게 제공
- 네트워크 부하를 줄이기 위해 EN 노드간 P2P
전송
Copyright © Ground X. All rights reserved.
Layered Architecture
Permissioned + Permissionless
Bootnode (BN):
- 현재 네트워크에서 동작중인 노드들의 정보를 가지고
있고, 요청에 따라 연결해야 할 노드 정보를 제공
-
- EN과 PN은 개별적인 부트노드에 연결 됨
- EN은 주변 EN 및 2개의 PN에 연결됨
- PN은 속해있는 Core Cell의 CN과 다른 Core Cell의
PN에게 연결됨
- Cypress에는 PN과 EN을 위해 각 3개씩의 BN이 존재
Copyright © Ground X. All rights reserved.
Summary - Network Architecture
Permissioned
블록 생성을 장애 없이 빠르게
다양한 주체들로 구성
Enterprise 수준의 네트워크 보호 적용
Throughput 과 Latency 확보
Permissionless
EN을 통한 사용자 / BApp 지원
자유로운 EN 구축 및 연결 가능
전통적인 P2P Network 적용
자유로운 사용성 및 투명성 확보
Copyright © Ground X. All rights reserved.
Consensus Algorithm
- BFT, Council and Committee
- Proposer & Committee selection
- Reward system
- Roundchange
- Future work
Copyright © Ground X. All rights reserved.
Klaytn의 Consensus Algorithm
PBFT 적용
기존 PoW, PoS의 문제
일정치 않은 블록 생성 시간
Fork 발생 및 그로 인한 Reorg
확률적인 Finality
Klaytn의 컨센서스
빠른 블록 생성 시간
즉각적인 Finality
Energy Efficiency
Copyright © Ground X. All rights reserved.
BFT? (Byzantine Fault Tolerant)
- Faulty 노드는 전체의 ⅓ 미만이어야 함
- 상태마다 많은 메시지 상호 전송
- 합의가 이루어질 경우, 즉각적인 Finality 확보
Pre-prepare Prepare Commit
Node 0
Node 1
Node 2
Node 3
Proposer
Validator
Validator
Validator
Proposal
(=Block)
After
Verification After
2f+1 Prepare
Messages
received
Block stored
after 2f+1
commit
messages
received
f : number of
faulty nodes
Copyright © Ground X. All rights reserved.
Council and Committee
노드 수를 늘려도 메시지 수를 제한할 수 있는 방안 필요
Committee 개념의 도입
- Council : 모든 CN 노드의 집합
- Committee: 한 블록을 검증하기 위해 랜덤하게 선택된 CN 노드들
랜덤하게 선택된 소수의 노드가 검증함으로써, 컨센서스 메시지를 줄임
(현재 Klaytn의 Committee 크기: 22)
BFT에서
노드수
증가
담합 가능성 ↓
메시지 수 ↑
Copyright © Ground X. All rights reserved.
Staking of CNs
Staking
모든 CN 노드는 일정 수량 이상의 KLAY를 예치하고 유지해야 함
- 이는 CCO의 이해관계를 전체 네트워크와 일치시키는 것으로, KLAY의 가치를 높일 수 있도록 행동하게 하는 역할을 함
- KLAY 예치량에 따라 블록을 생성할 수 있는 기회를 더 받게 됨
불평등 완화 / 네트워크 안정성 강화
- 지나친 블록 생성 편중을 막기 위해 Gini 계수 적용. 이를 통해 기회의 불평등을 완화
- 많은 양을 스테이킹한 노드의 이상 동작시 네트워크의 안정성을 확보하기 위해 극소수의 양만 스테이킹 하고 있더라도
최소 블록 생성 기회를 확보할 수 있도록 보정
Copyright © Ground X. All rights reserved.
A : 42.7% → 43 slots
B : 21.2% → 21 slots
C : 5% → 5 slots
….
X : 0.1% → 1 slots
[Checking Share] [Share to # of Slots]
[Flatten to an array]
[Shuffle with previous hash]
[Sequentially become a proposer]
Proposer Selection
Klaytn은 스테이킹 기반의 Proposer 선정 시스템을 가지고 있음
Copyright © Ground X. All rights reserved.
Committee Selection
All Validators List
All Validators except
current/next proposer
Shuffle with
Previous hash
Proposer List
New Committee
다음현재
0 1
현재 다음
Copyright © Ground X. All rights reserved.
Reward
9.6 KLAY
+
Tx Fee
Block
Reward
Proposer
PoC
KIR
34%
54%
12%
- 블록을 생성한 Proposer, Proof of Contribution (PoC), Klaytn Improvement Reserve(KIR)로 분배
- PoC의 경우 생태계 활성화에 기여하는 서비스에 지급, KIR은 향후 Klaytn 개선을 위한 자금으로 활용
- 이러한 자금의 집행은 CCO (Core Cell Operator)의 모임인 Governance Council에서 결정
- 위의 배분 비율 및 블록당 주조되는 KLAY의 양 등은 Governance Council의 투표로 변경될 수 있음
- 이러한 투표를 위한 기능은 이미 Klaytn에 포함되어 있음
Copyright © Ground X. All rights reserved.
Timeout
Insertion
succeeds
Insert block
Roundchange
- 어떠한 문제로 기다리던 동작이 완료되지 않을 경우 발생
- Proposer가 블록을 제안 하지 않거나
- ⅔ 이상의 Prepare 또는 Commit 메시지를
받지 못한 경우
- 이 경우 다음 Proposer가 블록 제안
- 네트워크의 속도 지연 요인이며, 발생 시 빠르게 복원
가능해야 함
New round
Final Committed
Pre-prepared
Prepared
Committed
Round
change
Proposer broadcasts
PRE-PREPARE message
Wait for 2F + 1
ROUND CHANGE
messages
Timeout
Invalid
Proposal
Timeout
Insertion
fails
Wait for 2F + 1
COMMIT
messages
Broadcast COMMIT
message
Wait for 2F + 1
PREPARE
messages
Broadcast PREPARE
message
Copyright © Ground X. All rights reserved.
Future work
- 메시지 전송 개선:
- 컨센서스 메시지를 다음 Round의 Committee까지 보내도록 변경
- 현재 Committee에게만 보낼 경우, Roundchange 발생했을 때 메시지 불일치 발생 가능
- 통신량을 일정하게 유지하되, 문제 상황에서 빠르게 벗어나도록 대응
- Committee 구성 개선:
- Roundchange가 발생했을 때 Committee의 변경 폭이 커지도록 변경
- 내년 상반기 중 적용 예정
- 헤더 크기 개선:
- 빠른 블럭 생성으로, 헤더의 크기가 전체 데이터량에 많은 영향을 미침
- 정보를 압축하여 최소한의 데이터 저장
Copyright © Ground X. All rights reserved.
Summary - Consensus Algorithm
- PBFT 기반의 알고리즘을 사용 ⇒ 빠른 블록 생성 속도와 Finality를 확보
- Staking 기반의 Proposer Selection 및 Reward System 구현
- Committee 구성을 통해 BFT의 노드 수 제한을 극복
- 문제 상황에 대한 대응 및 블록 데이터량 개선 예정
Copyright © Ground X. All rights reserved.
Ground X
27F, 521, Teheran-ro,
Gangnam-gu, Seoul, Republic of Korea
THANK YOU

More Related Content

What's hot

[2018] 클라우드로 서비스할 때 고려할 것들
[2018] 클라우드로 서비스할 때 고려할 것들[2018] 클라우드로 서비스할 때 고려할 것들
[2018] 클라우드로 서비스할 때 고려할 것들NHN FORWARD
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자Oracle Korea
 
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...OpenStack Korea Community
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Korea
 
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVSOpenStack Korea Community
 
OpenStack summit austin 2016
OpenStack summit austin 2016OpenStack summit austin 2016
OpenStack summit austin 2016Yongyoon Shin
 
Service mesh(istio) monitoring
Service mesh(istio) monitoringService mesh(istio) monitoring
Service mesh(istio) monitoringJeong-Ho Na
 
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹InfraEngineer
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kimjieun kim
 
Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircleYongyoon Shin
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료choi kyumin
 

What's hot (12)

[2018] 클라우드로 서비스할 때 고려할 것들
[2018] 클라우드로 서비스할 때 고려할 것들[2018] 클라우드로 서비스할 때 고려할 것들
[2018] 클라우드로 서비스할 때 고려할 것들
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자[Main Session] 카프카, 데이터 플랫폼의 최강자
[Main Session] 카프카, 데이터 플랫폼의 최강자
 
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
[OpenInfra Days Korea 2018] Day 2 - E6 - 마이크로서비스를 위한 Istio & Kubernetes [다운로드...
 
Oracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTOOracle Blockchain_JaeHo Park_CTO
Oracle Blockchain_JaeHo Park_CTO
 
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS
[OpenInfra Days Korea 2018] (Track 2) Cloud 환경에서의 보안과 네트워크 성능 보안 (xFW), DPDK OVS
 
OpenStack summit austin 2016
OpenStack summit austin 2016OpenStack summit austin 2016
OpenStack summit austin 2016
 
Service mesh(istio) monitoring
Service mesh(istio) monitoringService mesh(istio) monitoring
Service mesh(istio) monitoring
 
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
 
150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim150416 OpenStack Networking with Neutron Jieun, Kim
150416 OpenStack Networking with Neutron Jieun, Kim
 
Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircle
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 

Similar to TXGX 2019_Andy_Klaytn's Network Architecture and Consensus

[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...OpenStack Korea Community
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista Community
 
3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)NAIM Networks, Inc.
 
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기Jinuk Kim
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arcNAVER D2
 
Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1Kyunghun Jeon
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista Community
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista Community
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)rootfs32
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0sprdd
 
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
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - PacemakerTommy Lee
 
2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)NAIM Networks, Inc.
 

Similar to TXGX 2019_Andy_Klaytn's Network Architecture and Consensus (20)

[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
 
3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)
 
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
 
컴퓨터개론11
컴퓨터개론11컴퓨터개론11
컴퓨터개론11
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1Backend Master | 2.1.4 Cache - Redis Clustering part.1
Backend Master | 2.1.4 Cache - Redis Clustering part.1
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 가상 네트워크 (CB-Larva)
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
 
20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)20150511 jun lee_openstack neutron 분석 (최종)
20150511 jun lee_openstack neutron 분석 (최종)
 
오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0오픈소스컨설팅 클러스터제안 V1.0
오픈소스컨설팅 클러스터제안 V1.0
 
Kafka 자료 v0.1
Kafka 자료 v0.1Kafka 자료 v0.1
Kafka 자료 v0.1
 
Kafka 자료 v0.1
Kafka 자료 v0.1Kafka 자료 v0.1
Kafka 자료 v0.1
 
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
 
Son 기술 소개
Son 기술 소개Son 기술 소개
Son 기술 소개
 
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker제3회난공불락 오픈소스 인프라세미나 - Pacemaker
제3회난공불락 오픈소스 인프라세미나 - Pacemaker
 
2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)2nd SDN Interest Group Seminar-Session3 (121218)
2nd SDN Interest Group Seminar-Session3 (121218)
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 

More from 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_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainKlaytn
 
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_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionTXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionKlaytn
 
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_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827Klaytn
 

More from Klaytn (7)

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_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service ChainTXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
TXGX 2019_Albert_High Availability Architecture of Klaytn Service Chain
 
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_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass AdoptionTXGX 2019_Sam_Challenges for Blockchain Mass Adoption
TXGX 2019_Sam_Challenges for Blockchain Mass Adoption
 
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_20190827
Klaytn Developer Meetup_20190827Klaytn Developer Meetup_20190827
Klaytn Developer Meetup_20190827
 

Recently uploaded

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Recently uploaded (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

TXGX 2019_Andy_Klaytn's Network Architecture and Consensus

  • 1.
  • 2. Copyright © Ground X. All rights reserved. Software Engineer, Platform & SDK Team, Ground X - Consensus & Governance - Klaytn Main-net (Cypress) CTO of Spes.io, R&D division of Emurgo, Japan - Dapp development on Ethereum Senior Software Engineer, Samsung Electronics - Developed various pilot projects - Home media sharing, Search engine, Etc. 이병철, Andy Lee
  • 3. TABLE OF CONTENTS Copyright © Ground X. All rights reserved. ∙Network Architecture - Former decentralized network topology - Layered architecture of Klaytn ∙Consensus Algorithm - BFT, Council and Committee - Proposer & Committee selection - Reward system - Roundchange - Future work
  • 4. Copyright © Ground X. All rights reserved. Network Architecture - Former decentralized network topology - Layered architecture of Klaytn
  • 5. Copyright © Ground X. All rights reserved. Network Topology 기존 Decentralized network 장점 - 강력한 검열 저항성 - 누구나 블록 생성에 참여할 수 있음 - 공격 대상 특정이 어려움 단점 - 낮은 Throughput - 불확실한 Latency 의문 - 어떻게 일정 수준의 성능을 안정적으로 확보할 수 있을까? - 모든 노드는 과연 동등한가?
  • 6. Copyright © Ground X. All rights reserved. Three Layers of Nodes CN CN CNCNConsensus Node - 높은 수준의 하드웨어 / 네트워크 요구사양 - 블록 생성을 전담 Endpoint Node - 사용자/서비스를 위한 API 제공 - 사용자/서비스의 트랜잭션을 PN에 전달하고 결과를 수신 Proxy Node - Endpoint Node의 트랜잭션을 CN에 전송 - CN이 만든 블록을 Endpoint 노드로 전송
  • 7. Copyright © Ground X. All rights reserved. Layered Architecture - 3 Layers Consensus Node Network (CNN) Consensus Node (CN) - 컨센서스를 통한 블록 생성을 전담 - 신뢰할만한 노드들만 참여 가능 장점 - 상대적으로 통제되는 환경 → 일정 수준의 성능 보장 단점 - 누구나 블록 생성에 참여할 수 없음 → 담합 우려 - 공격 대상의 축소 → 전통적인 네트워크 보안 필요
  • 8. Copyright © Ground X. All rights reserved. Layered Architecture - 3 Layers Proxy Node Network (PNN) Proxy Node (PN): - 외부 EN으로부터 받은 트랜잭션을 CN 및 인근 PN에 전달하고, CN에서 생성된 블록을 EN에게 전파 - - 일반적으로 1 CN은 2 PN을 가지며, 이를 묶어 코어셀 (Core Cell)로 부름 - - CN의 부하를 줄이고 CN이 외부에 직접 노출되지 않도록 보호 s
  • 9. Copyright © Ground X. All rights reserved. Layered Architecture - 3 Layers Endpoint Node Network (ENN) Endpoint Node(EN) - 서비스/사용자의 트랜잭션을 PN들로 보내고, 결과를 받아 사용자에게 제공 - - 다양한 RPC/WS API를 최종 사용자에게 제공 - 네트워크 부하를 줄이기 위해 EN 노드간 P2P 전송
  • 10. Copyright © Ground X. All rights reserved. Layered Architecture Permissioned + Permissionless Bootnode (BN): - 현재 네트워크에서 동작중인 노드들의 정보를 가지고 있고, 요청에 따라 연결해야 할 노드 정보를 제공 - - EN과 PN은 개별적인 부트노드에 연결 됨 - EN은 주변 EN 및 2개의 PN에 연결됨 - PN은 속해있는 Core Cell의 CN과 다른 Core Cell의 PN에게 연결됨 - Cypress에는 PN과 EN을 위해 각 3개씩의 BN이 존재
  • 11. Copyright © Ground X. All rights reserved. Summary - Network Architecture Permissioned 블록 생성을 장애 없이 빠르게 다양한 주체들로 구성 Enterprise 수준의 네트워크 보호 적용 Throughput 과 Latency 확보 Permissionless EN을 통한 사용자 / BApp 지원 자유로운 EN 구축 및 연결 가능 전통적인 P2P Network 적용 자유로운 사용성 및 투명성 확보
  • 12. Copyright © Ground X. All rights reserved. Consensus Algorithm - BFT, Council and Committee - Proposer & Committee selection - Reward system - Roundchange - Future work
  • 13. Copyright © Ground X. All rights reserved. Klaytn의 Consensus Algorithm PBFT 적용 기존 PoW, PoS의 문제 일정치 않은 블록 생성 시간 Fork 발생 및 그로 인한 Reorg 확률적인 Finality Klaytn의 컨센서스 빠른 블록 생성 시간 즉각적인 Finality Energy Efficiency
  • 14. Copyright © Ground X. All rights reserved. BFT? (Byzantine Fault Tolerant) - Faulty 노드는 전체의 ⅓ 미만이어야 함 - 상태마다 많은 메시지 상호 전송 - 합의가 이루어질 경우, 즉각적인 Finality 확보 Pre-prepare Prepare Commit Node 0 Node 1 Node 2 Node 3 Proposer Validator Validator Validator Proposal (=Block) After Verification After 2f+1 Prepare Messages received Block stored after 2f+1 commit messages received f : number of faulty nodes
  • 15. Copyright © Ground X. All rights reserved. Council and Committee 노드 수를 늘려도 메시지 수를 제한할 수 있는 방안 필요 Committee 개념의 도입 - Council : 모든 CN 노드의 집합 - Committee: 한 블록을 검증하기 위해 랜덤하게 선택된 CN 노드들 랜덤하게 선택된 소수의 노드가 검증함으로써, 컨센서스 메시지를 줄임 (현재 Klaytn의 Committee 크기: 22) BFT에서 노드수 증가 담합 가능성 ↓ 메시지 수 ↑
  • 16. Copyright © Ground X. All rights reserved. Staking of CNs Staking 모든 CN 노드는 일정 수량 이상의 KLAY를 예치하고 유지해야 함 - 이는 CCO의 이해관계를 전체 네트워크와 일치시키는 것으로, KLAY의 가치를 높일 수 있도록 행동하게 하는 역할을 함 - KLAY 예치량에 따라 블록을 생성할 수 있는 기회를 더 받게 됨 불평등 완화 / 네트워크 안정성 강화 - 지나친 블록 생성 편중을 막기 위해 Gini 계수 적용. 이를 통해 기회의 불평등을 완화 - 많은 양을 스테이킹한 노드의 이상 동작시 네트워크의 안정성을 확보하기 위해 극소수의 양만 스테이킹 하고 있더라도 최소 블록 생성 기회를 확보할 수 있도록 보정
  • 17. Copyright © Ground X. All rights reserved. A : 42.7% → 43 slots B : 21.2% → 21 slots C : 5% → 5 slots …. X : 0.1% → 1 slots [Checking Share] [Share to # of Slots] [Flatten to an array] [Shuffle with previous hash] [Sequentially become a proposer] Proposer Selection Klaytn은 스테이킹 기반의 Proposer 선정 시스템을 가지고 있음
  • 18. Copyright © Ground X. All rights reserved. Committee Selection All Validators List All Validators except current/next proposer Shuffle with Previous hash Proposer List New Committee 다음현재 0 1 현재 다음
  • 19. Copyright © Ground X. All rights reserved. Reward 9.6 KLAY + Tx Fee Block Reward Proposer PoC KIR 34% 54% 12% - 블록을 생성한 Proposer, Proof of Contribution (PoC), Klaytn Improvement Reserve(KIR)로 분배 - PoC의 경우 생태계 활성화에 기여하는 서비스에 지급, KIR은 향후 Klaytn 개선을 위한 자금으로 활용 - 이러한 자금의 집행은 CCO (Core Cell Operator)의 모임인 Governance Council에서 결정 - 위의 배분 비율 및 블록당 주조되는 KLAY의 양 등은 Governance Council의 투표로 변경될 수 있음 - 이러한 투표를 위한 기능은 이미 Klaytn에 포함되어 있음
  • 20. Copyright © Ground X. All rights reserved. Timeout Insertion succeeds Insert block Roundchange - 어떠한 문제로 기다리던 동작이 완료되지 않을 경우 발생 - Proposer가 블록을 제안 하지 않거나 - ⅔ 이상의 Prepare 또는 Commit 메시지를 받지 못한 경우 - 이 경우 다음 Proposer가 블록 제안 - 네트워크의 속도 지연 요인이며, 발생 시 빠르게 복원 가능해야 함 New round Final Committed Pre-prepared Prepared Committed Round change Proposer broadcasts PRE-PREPARE message Wait for 2F + 1 ROUND CHANGE messages Timeout Invalid Proposal Timeout Insertion fails Wait for 2F + 1 COMMIT messages Broadcast COMMIT message Wait for 2F + 1 PREPARE messages Broadcast PREPARE message
  • 21. Copyright © Ground X. All rights reserved. Future work - 메시지 전송 개선: - 컨센서스 메시지를 다음 Round의 Committee까지 보내도록 변경 - 현재 Committee에게만 보낼 경우, Roundchange 발생했을 때 메시지 불일치 발생 가능 - 통신량을 일정하게 유지하되, 문제 상황에서 빠르게 벗어나도록 대응 - Committee 구성 개선: - Roundchange가 발생했을 때 Committee의 변경 폭이 커지도록 변경 - 내년 상반기 중 적용 예정 - 헤더 크기 개선: - 빠른 블럭 생성으로, 헤더의 크기가 전체 데이터량에 많은 영향을 미침 - 정보를 압축하여 최소한의 데이터 저장
  • 22. Copyright © Ground X. All rights reserved. Summary - Consensus Algorithm - PBFT 기반의 알고리즘을 사용 ⇒ 빠른 블록 생성 속도와 Finality를 확보 - Staking 기반의 Proposer Selection 및 Reward System 구현 - Committee 구성을 통해 BFT의 노드 수 제한을 극복 - 문제 상황에 대한 대응 및 블록 데이터량 개선 예정
  • 23. Copyright © Ground X. All rights reserved. Ground X 27F, 521, Teheran-ro, Gangnam-gu, Seoul, Republic of Korea THANK YOU