eos 프로그램은 nodeos keosd cleos의 세 가지 프로그램으로 작동합니다. nodeos는 node와 eos가 결합한 말로 써 eos의 블록을 생성하는 가장 중요한 기능을 담당합니다. 사용자가 보낸 transaction이 유효 한지 블록이 유효한지 등을 결정하는 하나의 노드 프로그램입니다.
keosd는 key와 eos가 결합한 말로써 지갑 단위로 key를 관리하는 구성요소입니다. 마지막으로 cleos는 cli와 eos가 결합 한 말로써 사용자가 다른 구성요소에 접근할 수 있는 인터페이스를 제공합니다. 사용자는 이를 이용하여 keosd 및 nodeos에 접근할 수 있습니다.
예시로 사용자가 eos에서 transaction 을 생성하는 과정을 도식으로 살펴보겠습니다. transaction을 만들고 싶은 사용자는 일단 자신의 지갑에 접근하기 위하여 keosd를 거칩니다. 올바른 key를 사용하여 wallet을 잠금 해제하였다면 사용자는 transaction을 만들어 nodeos에 접근하게 됩니다.
nodeos에서는 올바른 transaction이라면 임시 pool에 transaction을 저장하였다가, 빠른 시간 내에 blockchain에 포함시켜 주게 됩니다. eos의 main net에서는 21명의 block producer와 79명의 backup producer가 있습니다. 앞서 ddos 공격에서 설명하였듯이 block producer에게 문제가 생기면 backup producer가 일을 대신하게 됩니다.
각각의 node들은 자신이 소유한 eos 만큼의 투표권을 최대 30개의 노드에게 위임할 수 있습니다. 이를 통해 매 라운드마다 block producer 가 바뀌게 됩니다.
선출된 block producer는 각각 block을 만들어서 다른 block producer에게 검증을 받게 되고, 블록이 최종 형성 됩니다. node가 eos를 얼마나 가지고 있는 지는 eos network 상에서 dapp을 구현하는데 영향을 미칩니다. dapp 개발자는 자신이 가지고 있는 eos의 수에 비례하여 voting power 뿐만 아니라, CPU 할당 그리고 네트워크 대역폭까지 보장받을 수 있습니다.
참조
http://www.kmooc.kr/courses/course-v1:POSTECHk+CSED490U1+2021_T1/about
'SW > 블록체인' 카테고리의 다른 글
블록체인 : 비잔틴 장애 상황에서 합의를 이루기 위한 BFT 기반의 다양한 알고리즘이 트랜잭션 처리율, 비용, 노드의 양 등에서 차이점 (0) | 2022.02.14 |
---|---|
블록체인 : 분산 합의의 필요성 : 블록체인에서 합의 알고리즘이 필요한 이유 : PoW, PoS, DPoS의 차이를 이해 (0) | 2022.02.13 |
블록체인 : EOS가 DPoS를 합의 알고리즘으로 채택함으로써 발생할 수 있는 여러 이슈들과 EOS 네트워크에서 일어날 수 있는 공격 (0) | 2022.02.11 |
블록체인 : EOS의 governance, 합의 알고리즘 등 EOS만의 다양한 특징 (0) | 2022.02.10 |
블록체인 : 엔터프라이즈용으로 플랫폼 중 하나인 EOS의 등장 배경 (0) | 2022.02.09 |