블록생성자
블록생성자(BP; Block Producer)란 블록체인에서 체인의 맨 끝에 새로운 블록을 생성하여 추가할 수 있는 사람을 말한다. 간략히 BP(비피)라고도 한다.
개요
블록생성자란 블록체인에서 체인의 맨 끝에 새로운 블록을 생성하여 추가할 수 있는 사람을 말하며, 채굴자는 비트코인 등 작업증명(PoW) 방식을 따르는 암호화폐의 경우, 블록생성자는 목표값 이하의 해시를 가장 빨리 찾은 사람이 선택된다. 즉, 다수의 채굴 노드 가운데 가장 빨리 목표값보다 작은 해시값을 찾은 노드가 블록생성자가 된다. 작업증명 방식의 합의 알고리즘을 따르는 블록체인의 경우, 채굴자가 블록생성자가 된다. 암호화폐 보유자는 카르다노 등 지분증명(PoS) 방식을 따르는 암호화폐의 경우, 일정한 개수 이상의 암호화폐를 소유한 사람들 가운데, 랜덤하게 블록생성자가 선택되어, 보유 지분이 많으면 많을수록, 블록생성자로 선택될 확률이 높아진다. 마지막으로 대표자는 이오스 등 위임지분증명(DPoS) 방식에 따르는 암호화폐의 경우, 코인 소유자들의 전자 투표를 통해, 미리 정해진 숫자의 대표자(또는 증인)을 선출하고, 이 중에서만 새로운 블록을 생성하는 BP가 선택된다. 이 대표자를 부르는 이름은 각 암호화폐별로 조금씩 다른데, 스팀은 증인이라고 부르고, 네오(NEO)의 경우 북키퍼(BookKeeper)라고 부른다. 대표자, 슈퍼대표자 또는 증인의 숫자는 개별 암호화폐의 종류에 따라 조금씩 다른데, 비트셰어는 101명, 스팀은 21명, 이오스도 21명, 트론은 27명으로 미리 정해져 있다. 블록생성자에게는 새로운 블록을 생성한 것에 대한 대가로 일정한 개수의 암호화폐가 보상으로 주어진다.
활용
이오스
이오스(EOS)가 다른 블록체인과 가장 뚜렷하게 차별화되는 점은 바로 성능으로 소수의 블록생성자들이 블록을 생성하고 검증한는 위임 지분증명(DPoS)모델의 핵심 장점이다. 특히나 EOS.IO 저장소 까지도 블록생성자들이 제공하게 된다고 하니, 블록생성자의 건전한 활동이 이오스 생태계에 매우 중요한 영향을 끼친다. 1개의 블록생성자 연 보상은 이오스 총 마켓캡 인플레이션율(1 + 인플레이션율), 블록생성자수는 이오스 총 마켓캡 2017년 10월10일 기준 2억 2천만 달러이다. 인플레이션율이 최대 5%, 초기에는 블록생성자 독려를 위해 투표를 통해 5%로 성정하고, 블록생성자수 최초 값 21개, 각 블록생성자들이 동일한 보상을 받는다고 가정하면, 이오스 총 마켓캡에 인플레이션율을 바로 곱한뒤 1+인플레이션율로 나누는 이유는 인플레이션으로 인한 토큰 가치 하락을 반영하기 위한것이다. 또 인플레이션으로 발생한 신규 이오스 토큰이 100% 블록생성자에게 지급된다고 가정해보면, 원래 디앱(Dapp)을 비롯하여 이오스 네트워크 가치창출에 도움이되는 방향에 치출한다는 내용있었지만 구체적 비율이 정해진것이 없고 초기에는 디앱이 하나도 없어도 일단 블록생성자는 있어야 하기 때문이다. 1개의 블록생성자가 1년간 받는 액수는 51만 4천 773달러가 된다. 한화로는 5억 8천만원 정도가 되는데, 여기서 구축한 서버 비용 유지비용과 업그레이드 비용을 제외한 나머지가 순이익이 될 것이다. 만약에 이 비용으로 감당할 수 있는 하드웨어가 이오스 출시와 함께할 초기 디앱들의 성능을 커버하지 못할 수준이라면, 그정도로 많은 사용량을 발생시키는 디앱들이 출시되는 것이 확샐해지면 기대심리로 인해 그전에 이오스 토큰 가격이 미리 상승할 것이고, 토큰 가격 상승으로 인해 증가한 보상은 더 놓은 수준의 하드웨어를 보유한 블록생성자 참여를 유도할 것이다. 사용량이 증사하면 거래 수수료와 지연시간이 동시에 증가하는 기존 블록체인과는 확연히 다른 모습으로 단순히 블록생성자수를 줄여서 속도를 빠르게 하는 것은 위임 지분증명의 일부분이고, 이런 경제모델이 핵심일 것이다.[1]
- 위임 지분증명
- 위임 지분증명(DPoS) 방식은 작업증명(PoW) 방식과 달리 블록생성자가 되기 위해선 투표를 거쳐야 한다. 이오스에서는 투표를 통해 21명의 블록생성자를 선출하는데 선거 방식은 1인 1표가 아니라 1코인 1표 정책을 선택한다. 누구나 블록생산에 참여 할 수 있으며, 선거에서 득표 순위가 21위 안에 들때 블록생성자가 될 수 있다. 선출된 대표자들은 암호화폐가 정한 계획에 따라 블록을 생성하고, 투표결과 21위 안에 들지 못했으나 40위 안에든 사람들에게는 블록 생성후보자의 지위를 부여한다. 장래에는 121위 안에 드는 사람까지 블록생성 후보자의 지위를 부여할 예정 이라고 한다.[2]
- 블록생성 보상체계
- 이오스 시스템은 2018년 6월 메인넷이 활성화된 시점에 총 10억개의 토큰을 발행 했다. 이후 연간 5%의 인플레이션율에 따라 토큰 발행량이 증가할 예정이고, 그림은 5%는 연간 인플레이션율을 나타낸 것이다. 그림을 보면 알 수 있듯이 이오스 시스템은 총 이오스 토큰 발행량의 1%를 블록생성자와 후보자에게 수여하고, 블록 생성자에게 주어지는 보상은 크게 두 종류로나워진다. 블록생성을 수행함으로서 얻는 보상과 투표 득표율에 따라 얻는 보상이 있다. 단, 두개의 보상을 합쳐 100 이오스 토큰을 초과하지 않으면 어떠한 보상도 주어지지 않는다. 블록생성 후보자는 오직 득표율에 따른 보상만 받을 수 있으며, 후보자의 경우에 득표율에 따른 보상이 하루에 100 이오스 토큰을 초과하지 않으면 어떠한 보상도 받을 수 없다.
-
- 블록생성 보상은 블록생성을 하는 노드에만 주어지며, 총 이오스 토큰 발행량의 2.25%가 21명의 블록생성자에게 주어진다는 것을 보여준다. 모든 블록생성자는 동일한 블록생성 보상을 받으며, 각각의 블록생성자 에게는 총 이오스 토큰 발행량의 0.0119%가 주어지게 된다. 2018년 6월 기준 이오스의 총 토큰 발행량은 10억이다. 따라서 각각의 블록생성자들은 1년 동안 119,047 이오스 토큰을 보상으로 받을 것이다. 일별로 보상을 계산해보면 각 블록 생성자들은 하루에 326.16 이오스 토큰을 받을수 있고, 블록생성자는 일일 보상이 100 이오스를 초과하므로 항상 보상을 받을 수 있다.
- 득표율의 따른 보상으로 투표 보상에 할당된 총 이오스 토큰은 위 그림과 같이 이오스 토큰 발행량의 0.75%이다. 각 블록생성자와 블록생성 후부자는 선거시 득표한 비율에 따라 보상을 받게된다. 예를들어, 투표에서 2%의 득표율을 기록한 경우 2018년 기준 1,000,000,000 * 0.075 * 0.02 인 150,000 이오스 토큰을 받을 수 있다. 이를 하루 평균으로 계산하면 410.96 이오스 이다. 블록 생성자로 채택되지 못하고 블록생성 후보자가된 경우 투표 보상을 받기 위해서는 득표율이 0.49%를 넘어야 하며, 0.49%라는 임계수치는 총 이오스 토큰 발행량이 변하면 달라질 수 있다.[2]
- 블록생성 비용체계
- 이오스의 블록생성에 요구되는 비용으로는 자본 비용과 실행 비용이 있는데, 자본 비용은 CPU, GPU나 RAM같은 하드웨어 장비를 갖추기 위해 소모되는 비용이다. 반면 실행 비용은 실제 블록생성시 소모되는 전력에 따른 비용이다.
역할 CPU RAM Disc Expansion 기본 블록생산자 Dual Xeon 3.2GHz 8 Core
128 GB DDR4 512 GB SSD Yes 기본 풀노드 Dual Xeon 3.2GHz 8 Core
64 GB DDR4 512 GB SSD Yes
- 자본비용으로 이오스 블록생성자 들은 비트코인(Bitcoin) 채굴자들과 달리 개별 블록생성을 위해 경쟁하지 않는다. 그러나 이오스 사용자들은 CPU, 네트워크 기능을 블록 생성자로 부터 임차하여 사용하기 때문에 블록 생성자에게 높은 하드웨어 수준을 요구한다. 선거 유세 시 유권자들에게 높은 하드웨어 성능을 약속하지 못하는 후보자들은 많은 득표를 할 수 없으며, 실제로는 사용자들이 블록생성자 들에게 고사양의 하드웨어를 갖출 것을 요구하고 있다. 위에 표는 2018년 11월 기준 득표율이 70~80위에 속한 블록생성 후보자 EOSUK의 하드웨어 장비를 나타낸 것으로, 개별 블록생성을 위한 경쟁이 없더라도 블록 생성자가 되기 위한 자본 비용이 높다는 것을 유추할 수 있다. 그리고 실행비용으로 블록생성자가 블록을 생성하고 이오스 사용자에게 편의를 제공하기 위해서는 상시적으로 생성자가 소유한 서버의 전원을 켜놓아야 하기 때문에 하루 24시간 내내 전력을 소비할 것이다.[2]
- 블록생성자 규약준수 조사단
- 재생기(Regproducer)에 대한 블록 프로듀서들의 준수사항으로 모든 블록생성자 후보들은 이오스 체인에 프로듀서로 등록해야 투표를 받을 수 있다. 블록생성자가 계약을 준수하는 것으로 여겨지려면, 재생기를 실행하고 특히 이오스를 지급받기 위해 보상을 실행하는 블록 프로듀서들은 재생산자 협약에 기재된 조항들을 지킬 법적 의무를 지켜야 한다. 커뮤니티가 운영한는 규약준수 조사단이 현재 법을 이행하지 않으면서 이득을 취한 블록생성자들을 가려내기 위해 움직이고 있다. 기술적으로 측정 가능한 재생산자 협약의 몇 가지 조항들은 다음과 같다.
- 재생산자 공개 웹사이트 : 모든 블록생성자의 지원자들은 그들이 재생성자 명령을 시행할때 공개 웹사이트를 언급해야 하며, 해당 웹사이트는 모든 자세한 사항을 공개해야 한다. 거의 모든 블록생성자 들은 bp.json 파일을 도메인의 루트에 이용하면서 각종 정보를 제공하는 것을 표준으로 삼는다.
- 재생산자 소유권 공개 : 블록생성자는 정확하게 정의된 소유권을 공개해야 하며, 특히 10%이상을 소유하는 수혜 주주들과 다른 직접적인 주주들에 대해 자세히 명시 해야 한다.
- 재생산자 공개노드 : 모든 블록생성자들은 퍼블릭 엔드포인트(public endpoints)를 가지고 있어야 하는데, 블록 생성자라면 P2P혹은 API 종점의 구분하겠지만, 종점의 구분은 협약에 명시되어 있지는 않다.[3]
합의 알고리즘
합의 알고리즘은 블록체인 프로젝트의 심장과 마찬가지로 블록생성자가 악의적으로 이중지불을 용인하거나, 가짜(transaction)을 만들어 내면 블록체인의 신뢰는 무너지고 프로젝트는 위험에 빠진다. 그만큼 합의 알고리즘은 매우 중요하고, 많은 선택지들이 있는데 초기 블록체인 프로젝트들이 작업증명(PoW), 지분증명(PoS)을 선택했다면, 요즘은 프랙티컬 비잔틴 장애 허용(PBFT)과 위임 지분증명(DPoS)가 주로 선택지로 고려된다.
- 작업증명(PoW) : 다른 마이너들과 특정 넌스(Nounce) 값을 찾아내는 연산을 하여 블록을 생성하는 경쟁을 하며 전력 소모가 크다.
- 지분증명(PoS) : 지분의 스테이킹(Staking)한 검증인들이 블럭을 생성하고, 검증하는 방식이다.
- 위임 지분증명(DPoS) : 토큰홀더로 부터 투표를 받아 일정수의 블록생성자를 정하고 선출된 이들이 블럭을 생성하고, 검증을 진행한다.
- 프랙티컬 비잔틴 장애 허용(PBFT) : 블록생성자가 특정 기준으로 선정되고, 지정된 블록생성자가 블록을 생성한다.
합의 알고리즘을 선택할 때는 DCS 삼각형을 고려해야 하는데, DCS 삼각형은 블록체인 프로젝트가 가질 수 있는 3가지 속성을 가르키는 것으로, 각각 탈중앙화(Decentralization), 데이터 정합성(Consistent), 확장성(Scalability)를 가르킨다. 탈중앙화는 얼마나 많은 노드들이 데이터를 검증할 수 있는가, 확장성은 제한된 시간내에 얼마나 많은 거래를 처리할 수 있는가, 데이터 정합성은 모든 노드가 같은 데이터를 갖고 있는가 를 나타낸다. DCS 삼각형에서 포기할 수 없는 두 가지를 선택하는것이 보통 프로젝트의 성격을 규정할 수 있다. 예를들어, 이더리움(Ethereum)과 비트코인(Bitcoin)은 CD(Cinsistent, Decentralized)로 표현될 수 있다. 데이터 정합성과 탈중앙화를 선택하는 비트코인과 이더리움은 필연적으로 거래를 확정(finality) 하는데 오랜 시간이 걸린다. 반면 IPFS는 속도와 탈중앙화는 이뤘지만, 각 노드간 데이터의 정합성은 일부 포기하는 구조이다. 비잔틴 장애 허용 계열의 합의 알고리즘이 합쳐진 텐더민트(Tendermint) 또한 좋은 선택지가 될 수 있다. 탈중앙화는 비싸고 어렵다. 궁극적으론 이더리움과 같이 완전히 탈중앙화를 이룬 프로젝트가 가장 이상적이지만, 아직 비즈니스에 사용되기에는 적합하지 않다. 하지만 이더리움이 확장성을 개선할 수 있는 플리즈마(Plasma) 혹은 샤딩을 구현한다면 이런 논의가 무의미해질지도 모른다.[4] 합의 알고리즘에 대해 자세히 보기
각주
- ↑ dev1by0, 〈EOS 블록생성자는 얼마를 벌게 될까?〉, 《스팀잇》, 2017-10-11
- ↑ 2.0 2.1 2.2 EOS 암호화폐의 블록 생성에 대한 인센티브 분석 - http://caislab.kaist.ac.kr/publication/paper_files/2018/CISC-W'18_SH.pdf
- ↑ eosys, 〈EOS 블록 프로듀서 준수규정〉, 《미디엄》, 2018-08-07
- ↑ WK, 〈블록체인 프로젝트 설계의 이해〉, 《브런치》, 2018-08-26
참고자료
- EOS 암호화폐의 블록 생성에 대한 인센티브 분석 - http://caislab.kaist.ac.kr/publication/paper_files/2018/CISC-W'18_SH.pdf
- WK, 〈블록체인 프로젝트 설계의 이해〉, 《브런치》, 2018-08-26
- dev1by0, 〈EOS 블록생성자는 얼마를 벌게 될까?〉, 《스팀잇》, 2017-10-11
- eosys, 〈EOS 블록 프로듀서 준수규정〉, 《미디엄》, 2018-08-07
같이 보기