TIL 32 - Klaytn, Ethereum and Wemix

프동프동·2023년 2월 10일
0

TIL

목록 보기
32/46
post-thumbnail

Klaytn이 무엇인지 이해할 수 있다.

클레이튼 생태계를 이해할 수 있다.

클레이튼 생태계 및 논리적 서브 네트워크 (CCN, ENN, SCN)

코어 셀 네트워크(CCN)

엔드포인트 노드(EN)를 통해 제출된 트랜잭션을 확인하고 실행하는 코어 셀(CC, Core Cell)로 구성된다. CCN은 네트워크 전체에서 블록을 생성하고 전파한다.

엔드 포인트 노드 네트워크(ENN)

ENN은 주로 트랜잭션을 생성하고, RPC API 요청을 처리하며, 서비스 체인의 데이터 요청을 처리하는 엔드포인트 노드(EN)로 구성된다.

서비스 체인 네트워크(SCN)

SCN은 탈중앙화 애플리케이션(dApp)에 의해 독립적으로 운영되는 보조 블록체인들로 구성된 클레이튼 서브 네트워크이다. 서비스 체인은 EN을 통해 메인 체인에 연결된다.

클레이튼 노드 유형에 대해 이해할 수 있다.

코어 셀(CC): 컨센서스 노드(CN) + 프록시 노드(PN)

하나의 컨센서스 노드

  • 블록 생성 프로세서에 참여

두개의 프록시 노드

  • 네트워크 인터페이스 제공
  • 트랜잭션 요청을 컨센서스 노드로 전송하고 블록을 엔드포인트 노드로 전파한다.

Consensus Node (CN - 컨센서스 노드)

합의 알고리즘을 거쳐 새로운 블록을 생성한다.

  • GC(거버넌스 카운슬)의 구성원만 CN을 운영할 수 있다.
    • CNN : CN들로만 이루어진 전용 네트워크

Proxy Node (PN - 프록시 노드)

CN을 보호하는 것

  • CN을 DDoS와 같은 공격으로 부터 보호한다.

Endpoint Node(EN - 엔드포인트 노드)

가장 끝단에 존재하는 노드

  • 사용자의 RPC API 요청을 처리
  • Service Chains과 데이터를 주고 받는 역할
  • 지속적으로 새로운 블록을 PN으로 부터 전파받는다.
  • EN들이 서로 P2P로 연결되어 있는 네트워크를 ENN이라고 지칭한다.
  • 어떤 사용자라도 ENN에 참여할 수 있다.

Bootnode(부트 노드)

특수 유형의 노드

  • 새로 참여하는 노드가 네트워크에 등록하고 연결할 다른 노드를 검색하는 것을 돕는다.

Consensus Node Network(CNN)

CN은 CNN이라는 풀 메시 네트워크를 형성한다.

Proxy Node Network(PNN)

PN으로 구성된다.

Endpoint Node Network(ENN)

가장 바깥쪽 서브 네트워크인 ENN은 서로 연결되거나 다수의 PN에 연결된 EN들로만 구성된다.

클레이튼의 합의 알고리즘에 대해 이해할 수 있다.

클레이튼은 PBFT의 변형된 버전인 IBFT라는 합의 알고리즘을 사용한다.

IBFT(Istanbul Byzantine Fault Tolerance)

즉각적인 최종성을 보장하는 권한 증명(PoA) 블록체인 합의 알고리즘이다.

기본적으로는 PBFT의 형식을 따라가지만 블록을 모아서 전송한다는 개념이 추가되었다.

BFT 알고리즘의 통신량 증가 문제는 랜덤으로 선택된 위원회(Committee)를 활용해 해결한다.

클레이튼의 블록 생성 및 전파 방법에 대해 이해할 수 있다.

라운드는 Klaytn의 블록 생성 주기

각 라운드 마다 새로운 블록이 생성되고 바로 다음에 새로운 라운드가 시작된다.

라운드마다 대략 1초로 설정한다.

  1. 제안자 및 위원회 선택
  2. 블록 제안 검증

블록 전파(Block Propagation)

  • 위원회 멤버 3분의 2이상의 서명
  • 합의 도달 시 새로운 블록은 모든 CN에 전파되고 컨센서스 라운드는 종료
  • 새 블록이 CN에 전파되면 블록헤더와 블록 바디를 PNN을 통해 ENN에 전달하여 새로 생성된 블록의 정보를 모든 Klaytn 네트워크 참여자가 이용할 수 있게 만든다.

WEMIX가 무엇인지 이해할 수 있다.

이더리움 기반으로 개발된 위메이드의 블록체인 플랫폼

P2E 게임의 생태계를 하나로 잇겠다는 목표하게 개발

위믹스 생태계를 이해할 수 있다.

SPoA(Stake-based Proof of Authority) 합의 알고리즘에 EVM을 기반으로 한다.

UDSC를 담보로하는 WIMIX$를 통해 가격 변동성과 불안감 해소하는 역할

WIMIX3.0 Client Network

WIMIX3.0은 Go-ethereum Version 1.10.16을 포킹하여 만들어졌으며 London HF까지 적용되었다.

WEMIX3.0 Client Architecture Stack

WIMIX3.0 Network Structure

세 종류의 논리적 네트워크로 구성되어 있다.

  • BP → BPN(블록 생성자 네트워크)
  • BN → BNN(브릿지 노드 네트워크)
  • EN → ENN(엔드 노드 네트워크)

WEMIX Blockchain Network Structure

  • BPN(Block Producer Network)
    • 네트워크에서 RAFT를 적용
      • 뗏목 합의 알고리즘(Raft Consensus Algorithm)은 분산 시스템 환경에서 모든 노드가 동일한 상태를 유지하도록 하고, 일부 노드에 결함이 생기더라도 전체 시스템이 문제 없이 동작하도록 만들기 위해 고안된 합의 알고리즘(Consensus Algorithm)의 일종입니다.
  • BNN(Bridge Node Network)
    • BPN 네트워크를 외부의 직접적인 공격으로부터 물리적으로 보호하는 기능
    • ENN으로 부터 전파된 유효한 Transaction을 검증하여 합의 노드로 전송하고 반대로 BPN으로 부터 전파된 유효한 Block을 검증하여 ENN으로 전파하는 역할을 수행
    • 일부는 Boot Node의 기능을 제공한다.
      • Boot Node는 네트워크에 참여한 신규모드가 무조건 P2P Hand Shaking을 진행하여 P2P 네트워크에 연결시키는 Bootstrapping 서비스를 제공하는 항시 Online 상태에 존재하는 서비스 노드이다. 해당 네트워크 운영은 WEMADE에서 진행한다.
    • BP노드를 제외한 모든 신규 노드는 네트워크에 참여하기 위해 지금까지 생성된 모든 블록데이터를 다운로드 해야한다.
  • End Node Network(ENN)
    • 사용자의 서비스를 처리하는 역할을 직접적으로 수행하는 블록체인 End Node들로 구성되어 있으며 누구나 블록체인 노드를 설치하여 운영하는 것이 가능하다.

위믹스의 합의 알고리즘에 대해 이해할 수 있다.

RAFT(Reliable And Fault Tolerant) Algorithm - 뗏목 합의 알고리즘

선출된 리더에 의하여 클러스터의 모든 노드에 있는 데이터 저장소의 일관성을 보장하게 하는 합의 방식

  • 참여하는 노드들은 리더, 추종자 중 하나
    • 리더 선출 중엔 후보자가 될 수 있다.
  • 리더는 추종자들에게 동기화할 데이터를 생성해서 공유해야한다.
    • 리더는 보통 하트비트 메시지를 모든 추종자들에게 주기적으로 전송함으로써 리더의 존재를 알린다.
  • 각 추종자들은 리더의 하트비트에 대해 타임아웃 값을 랜덤하게 선택하고 타임아웃 기간 동안 하트비트를 수신하면 타임아웃을 다시 리셋한다.
    • 반면에 타임아웃 동안 하트비트를 받지 못할 경우 추종자는 후보자로 상태를 바꾸고 리더 선출에 참여하게된다.
  • 여러 노드가 동시에 리더 선출에 참여하면 충돌이 발생하기 때문에 타임아웃은 랜덤 백오프 로직 따라 결정하게된다.
  • RAFT는 CFT(Crash Fault Tolerance)를 보장한다.

SPoA(Stake base Proof of Authority)

고성능 실시간 서비스를 지향하는 퍼블릭 블록체인으로 블록 생성은 사전에 허가받은 Authority Member들에 의해서만 가능하다. 따라서 기본 합의 알고리즘은 PoA

하지만 선출된 Authority Member의 오동작 또는 악의적인 행동에 물리적인 패널티를 On-Chain 상에서 부여하기 위해 WEMIX를 특정량 이상 Staking 하도록 강제했다. 이러한 방식을 SPoA라고 한다.

Authority

  • Authority에 포함되거나 삭제되는 과정은 기존 Authority Member들의 Voting에 의해 결정
  • Authority Member가 되기 위한 조건
    1. 명확한 신원 확인
    2. 오프라인에서 법적 효력이 있는 계약을 WEMIX 파운데이션 체결
    3. 기본 신상 정보의 공개
    4. 사전 정의된 WEMIX를 시스템 레지스트리 컨트랙트에 등록된 Staking 컨트랙트에 전송
  • 역할
    • 멤버 추가 제안을 거버넌스 컨트랙트에 제안하고 기존 멤버들의 50% 이상의 찬성이 있으면 새로운 Authority Member로 등록할 수 있다.
    • 사용자들이 생성한 거래내역을 검증하여 검증이 통과된 거래들을 Mempool에 임시로 저장한다.
    • Miner로 선출되었을 때 이전 블록의 해시 정보를 포함한 블록을 생성한다.
    • 악의적으로 사용되지 않도록 방화벽 및 어카운트의 개인키 관리에 책임을 져야한다.
    • 거버넌스 투표 가능
      • 투표의 가중치는 Staking한 WEMIX의 양에 비례
    • 악의적인 행동 감지 시 멤버들의 투표에 의해 자격 강제 박탈 및 Staking한 WEMIX 몰수되어 블록생성 보상을 받을 수 없다.

위믹스의 거버넌스에 대해 이해할 수 있다.

On-Chain Governance

  • Staking
  • Voting

Off-Chain Governance

미리 정해져있는 종류의 설정 변경을 제외한 ‘프로토콜의 변경’과 같이 Hard Fork가 필요하고 Council의 명시적인 합의가 필요하다면 Off-Chain 서비스를 사용하여 NCP의 합의 과정을 진행한다.

명시적인 Council의 합의를 기반으로 블록체인 프로토콜의 변경이 가능하다.

위믹스의 위기 대처 및 극복 방안에 대해 이해할 수 있다.

Ethereum, Klaytn, WEMIX 의 차이를 설명할 수 있다.

이더리움클레이튼위믹스
코인 & 토큰 심볼ETHKLAYWEMIX
합의 알고리즘PoSIBFTSPoA, RAFT
profile
좋은 개발자가 되고싶은

0개의 댓글