클레이튼(Klaytn) 

 

 

1. Klaytn BlockChain 설계 (Design)

클레이튼 블록체인의 구조 중 눈이 띄는 몇가지를 살펴보려 합니다. 아래 내용은 클레이튼 홈페이지, Klaytn Position Paper v2.0, 블로그, 뉴스 등을 참고해서 작성되었습니다.

 

 

 

Hybrid BlockChain (하이브리드 블록체인)

 

하이브리드 블록체인 : 퍼블릭 블록체인(public blockchain)과 프라이빗 블록체인(private blockchain)을 섞은 구조의 블록체인을 말합니다. 클레이튼 블록체인의 내부는 메인 체인(main chain)과 사이드 체인(side chain)으로 구분할 수 있는데, 메인체인이 퍼블릭 블록체인 역할을 하고, 사이드체인이 프라이빗 블록체인 역할을 한다고 보면 됩니다.

클레이튼은 하나의 체인으로만 구성된 일반적인 다른 블록체인들과는 다르게 사이드 체인을 추가해줌으로써, 데이터를 저장하는 방법과 처리하는 방법을 다르게 할 수 있었습니다. 공개되도 상관없는 데이터들은 (퍼블릭 블록체인인) 메인 체인에 저장하고, 비공개 해야하는 데이터들은 (프라이빗 블록체인인) 사이드 체인에 저장하는 것입니다. 만약에, 하나의 트랜잭션(Transaction) 처리가 서로 다른 사이드 체인을 필요로 하는 처리라면 메인 체인을 통해 처리되고, 그게 아닌, 하나의 트랜잭션이 다른 사이드 체인에 영향을 미치지 않는다면 메인 체인을 거치지 않고 해당 사이드 체인에서만 처리되는 것입니다. 참고로, 클레이튼은 이 두 체인의 연동을 담당하는 EN(End Point Node)이라고 부르고 있습니다.

 

 

 

Network (네트워크)

 

  1. Core Cell Network (CCN) : 블록체인 트랜잭션을 실행하고 검증하는 Node들 간의 Network 
    1. Consensus Node Network (CNN) : 합의를 이루는 Node들 간의 Network 
    2. Proxy Node Network (PNN) : ENN이 직접 연결되는 Node들 간의 Network 
  2. Endpoint Node Network (ENN) : 블록체인 트랜잭션을 만들고, RPC API 요청을 핸들링하는 Node들 간의 Network (CCN과 SCN사이에 위치) 
  3. Service Chain Network (SCN) : 블록체인 앱에 의해 운영되는 Node들 간의 Network (클레이튼에 의존적이지 않고 독립적으로 운영, Service Specific한 Chain을 만드는 것이 목표입니다.) 


※ [정리] 클레이튼은 CNN과 ENN으로 이뤄진 하나의 메인 네트워크는 클레이튼 블록체인 전체의 운영을 담당하며, 서비스 체인에게는 연결가능한 인터페이스를 제공해줌으로써, 독립적인 서비스를 위한 SCN을 만들 수 있도록 하는 것입니다. 이러한 구조로 인해 각 서비스들은 자신들이 원하는 서비스에 최적화된 블록체인을 만들면서 동시에 서로 다른 서비스들과도 연결 가능한 구조를 갖추는 것입니다. 클레이튼은 이러한 메인체인과 서비스체인 구조를 통해, 서비스 업체에서 민감한 데이터는 메인 블록체인에 올리지 않을 수 있도록 하였습니다.

 

 

 

Account (계정)

Human-Readable Account : 사람이 읽을 수 있는 계정입니다. 이더리움의 20byte 계정과 클레이튼의 20byte 계정을 매핑시킨 것입니다. 이더리움은 계정을 사람이 읽을 수 없는 값으로 만들지만, 클레이튼은 계정을 사람이 읽을 수 있는 String값으로 만듭니다. 하위호환성 때문에 매핑을 시킨 것입니다.

Multi-Key : 하나의 클레이튼 계정에 여러개의 key를 연결시킨 것입니다. 계정을 하나 만들고 그 안에 여러개의 목적에 맞게 각각의 key를 할당시키는 것입니다

 

 

 

Transaction (트랜잭션)

 

Value Transfer Transaction : 돈 전송 트랜잭션으로, KLAY 코인 전송을 위한 트랜잭션입니다. 이트랜잭션은 KLAY 라는 돈을 전송시키기 위한 것이 목적이므로, 클레이튼을 사용하는 모든 사용자들에 의해 발생될 수 있는 트랜잭션입니다.

Smart Contract Deploy Transaction : 스마트 컨트랙트 배포 트랜잭션으로, 클레이튼 네트워크에 스마트 컨트랙트를 배포하기 위한 트랜잭션입니다. 이 트랜잭션은 블록체인 위에서 서비스를 제공하기 위한 사람들(ex, 개발자, 기업)에 의해 발생될 수 있는 트랜잭션입니다. 

Smart Contract Execution Transaction : 스마트 컨트랙트 실행 트랜잭션으로, 클레이튼 네트워크에 배포된 스마트 컨트랙트에 있는 함수들을 실행하기 위한 트랜잭션입니다. 이 트랜잭션은 블록체인 위에서 서비스를 제공하는 앱을 사용하는 사람들(ex, 사람, 기업)에 의해 발생될 수 있는 트랜잭션입니다.

※ [정리] 클레이튼은 이더리움기반으로 만들어진 블록체인이기 때문에, 이더리움과 비슷한 부분들이 많이있지만, 다른 점들 중 하나는 트랜잭션입니다. 클레이튼에서는 트랜잭션을 3가지로 구분하고 있습니다. 돈 전송 트랜잭션은 이미 형성된 클레이튼 네트워크에서 제공하는 서비스이기 때문에, 클레이튼 계정만 있다면 누구나 실행시킬 수 있는 트랜잭션입니다. 그리고 스마트 컨트랙트 관련 트랜잭션이 2개가 있는데, 하나는 스마트 컨트랙트 배포 트랜잭션이고 이 트랜잭션은 디앱(Dapp) 개발자에 의해 실행되는 것을 말합니다. 다른 하나는 스마트 컨트랙트 실행 트랜잭션이고 이 트랜잭션은 디앱(Dapp)을 사용하는 사용자들에 의해 실행되는 것을 말합니다.

 

 

 

Machine (머신)

KLVM : Klaytn Virtual Machine(클레이튼 가상머신), 클레이튼 네트워크가 운영될 수 있도록 만들어주는 머신입니다.

Gas : KLVM은 EVM(Ethereum Virtual Machine)기반이지만, 이더리움와는 달리 Gas를 사용자에게 요구하지 않습니다. 그렇다고 Gas가 없는 것은 아니라 KLVM 내부에서 정의한 값을 사용합니다.

TPS : Transaction Per Second, 초당 처리할 수 있는 트랜잭션의 개수를 말하며, 클레이튼 메인넷의 경우 3000~4000 TPS의 속도를 낸다고 알려져 있습니다.

BFT : Byzantine Fault Tolerant, 비잔틴 장애 합의 알고리즘 기반의 합의 알고리즘을 기반으로 각 노드들은 합의를 합니다.

 

 

 

Token Economy (토큰 이코노미)

9.6 KLAY will be minted per block : 한 개 블록 생성 당 9.6 KLAY가 생겨날 것이고, 이로 인해 연간 300 million KLAY 가 블록 생성에 사용 될 것이라고 예상된다. 초기 배포된 10 billion KLAY 로 시작해서 연간 3% 인플레이션이 발생할 것입니다.

Transaction Fee is charged per OPCODE : OPCODE(=실행할 트랜잭션 내에 포함되어 있는 명령 단위) 마다 트랜잭션 수수료가 발생할 것이고, "Fee 테이블"에 따라 계산 될 것이다. 참고로, "Fee 테이블"은 Klaytn Docs를 통해 공지될 것입니다.

Klaytn Governance Council Reward 34% : Core Cell(CC)을 운영하는 Core Cell Operators(CCOs)들이 가져가는 보상입니다. 이들이 KLAY를 가져가는 이유는 Klaytn 생태계가 안정화되도록 기여하기 때문입니다. 참고로 COO 멤버가 되려면 최소 2 million을 스테이킹해야 합니다.

Proof of Contribution 54% : 기여 증명 : Klaytn Token(코인 아님)을 사용해서 시장에서 기여하고 있는 Service Provider 또는 User들이 가져가는 보상입니다. 이들이 KLAY를 가져가는 이유는 이들이 Token을 활성화 하는 행동이 곧 Klaytn 경제 성장에도 기여하기 때문입니다.

Klaytn Improvement Reserve 12% : 나중에 Klaytn 에코시스템 및 플랫폼의 지속적인 성장을 위해 잠시 킵해두는 보상입니다.

※ [정리] 클레이튼 코인의 흐름은 위에 소개된 것처럼 운영될 것입니다. KLAY는 블록 생성이나 수수료에 의해 모일 것이고, 클레이튼 거버넌스 카운슬이나 클레이튼 블록체인 활성화를 위해 기여를 많이한 곳들에게 나눠질 것입니다. 경우에 따라 클레이튼 블록체인 성장을 위해 사용될 수도 있습니다. 클레이튼은 이러한 구조를 펀딩(Funding)이라고 설명하고 있습니다.

 

 

 

Governance (관리, 의회, 운영, 투표, 의무)

Governance (의회) : Klaytn Governance Council Member는 클레이튼 플랫폼의 번영과 발전을 위해 오랫동안 노력들을 합니다. 예를 들어, 퍼블릭 블록체인의 경우 한 두사람에 의해 운영되지 못하도록 하기 위해 블록체인을 사용하는 사람들에 의해 알아서 결정되고 운영되어야 합니다. 하지만 플랫폼에 예상치 못한 버그가 있거나 초기값이 반드시 필요한 경우가 있을 수 있습니다. 이런 값들이 의회에서 결정됩니다. 또 다른 예로, 블록체인 시스템에 기존 플랫폼에 적용시켜 놓은 결정된 규칙들을 변경시켜줘야 할 수도 있습니다. 이때 의회에서 결정됩니다.

(Vote) 투표 : Klaytn Governance Council Member 들은 각각 투표권을 가지는데, 이때 가지는 투표권의 범위는 1.0~2.0 입니다. 참고로, 실세계처럼 투표권이 1장, 2장형태로 구분되는 것이 아닌 소수점까지 포함된 양의 형태로 투표권을 가지게 됩니다. 한 Member에게 부여되는 투표권 계산식은 아래와 같습니다.

 

1 + α * f(contribution amount) + (1 - α) * g(stacking amount), where 0 ≤ α ≤ 1


 

 

2. Reference

클레이튼 포지션 페이퍼 (Klaytn Position Payer v2.0)
https://www.klaytn.com/Klaytn_PositionPaper_V2.0.pdf

클레이튼 독스 (Klaytn Docs)
https://docs.klaytn.com/

클레이튼 TPS
https://byline.network/2019/07/09-14/