비콘체인
비콘체인(beacon chain)이란 기존의 채굴자 대신 거래 검증자가 토큰(지분)을 걸고 투표한 뒤 투표 결과에 따라 거래를 검증, 네트워크를 운영하는 방식의 이더리움의 거래 검증 시스템이다. 이더리움 2.0의 핵심에는 "비콘체인"이라는 시스템 체인이 있다. 비콘 체인은 유효성 검사기의 레지스트리를 저장하고 관리한다. 이더리움 2.0의 초기 배포 단계에서 유효성 검사기가되는 유일한 메커니즘은 이더리움 1.0의 예금 계약으로 단방향 ETH 거래를하는 것이다. 유효성 검증기로서의 활성화는 이더리움 1.0 입금 영수증이 비콘체인에 의해 처리되고 활성화 잔액에 도달하고 큐잉(Queuing) 프로세스가 완료 될 때 발생한다. 퇴장은 자발적이거나 잘못된 행동에 대한 벌칙으로 이루어진다. 비콘체인의 주요 로드 소스는 "증명"이다. 증명은 샤드 블록에 대한 가용성 투표와 신호 블록에 대한 정체 증명 투표다. 동일한 샤드 블록에 대해 충분한 수의 증명이 "크로스링크(Crosslinks)"를 만든다. 해당 샤드 블록까지의 샤드 세그먼트를 비콘체인으로 확인한다. 크로스링크는 비동기 크로스 샤드 통신을 위한 인프라 역할도 한다.
개요
비콘체인은 거래 검증자와 투표를 위해 걸어놓은 토큰을 관리하고, 제안된 블록을 투표에 부쳐 검증자에게 전달하며, 합의 기준을 적용하고, 투표에 참여한 검증자에게 보상과 처벌을 진행하는 등 지분증명 합의 프로토콜을 종합적으로 도입하는 역할을 맡는다. 새로운 시스템에서 검증자로 참여한 이들은 걸어놓은 토큰과 네트워크 내에서 보유한 토큰의 총량에 비례해 검증 보상을 받게 된다. 비탈릭 부테린은 최근 이더리움 2.0의 검증에 참여하는 이들에게 보상을 기존에 논의하던 것보다 더 많이 지급하자고 주장하기도 했다. 케이프타운 콘퍼런스에서 부테린은 "2단계(Phase Two)가 완료돼야 이더리움 2.0 업그레이드가 끝났다고 할 수 있지만, 그보다 앞선 0단계와 1단계도 기반을 다지는 측면에서 아주 중요한 단계"라며, "현재 0단계 절차가 거의 마무리됐다"고 말했다.
등장배경
특징
이더리움 2.0
이더리움 2.0은 총 4단계로 발표할 예정이다. 지금은 0단계 이전이다. 0단계는 지분증명을 구현하는 단계다. 이더리움을 예치하고 검증단의 참여를 유도해 사람들의 참여 경험을 높이는 것이 핵심이다. 그는 “지분증명의 메커니즘이 안정화되고 증명되는데에 어느 정도 시간이 걸릴 것”이라고 내다봤다. 1단계는 스마트 계약이 아닌 데이터를 검증하는 과정이다. 데이터의 발행 여부에 대해 프로토콜을 시연하고 검증하게 된다. 2단계에서는 계정과 스마트 계약을 체인에 올린다. 모든 기능을 이용할 수 있게 되는 '실행' 단계다. 3단계에서는 합의와 규모를 업그레이드하게 된다. 이더리움 2.0은 보안, 확장성, 탈중앙성을 개선한 새로운 이더리움 체인이다. 하드포크를 통한 네트워크 통합이 아닌, 이용자가 한 방향 스마트 계약으로 기존 작업증명(PoW) 체인에서 새로운 체인으로 자산을 이동시키는 방식으로 진행된다. 프리즈매틱랩 공동 창립자는 "이더리움 2.0의 핵심은 '샤드(Shard)'다. 샤드는 스마트 계약의 거래를 관리하는 개별 체인으로 루트체인인 '비콘체인'이 조정한다."며, 이를 통해 "기존 이더리움 작업증명 방식과 달리 거래를 병렬 처리해 시스템을 수평 확장할 수 있다고 말했다. 이더리움의 창립자인 비탈릭 부테린 또한 이더리움 2.0의 핵심으로 작업증명(PoW)의 대안인 포스(PoS)와 함께 '샤딩(Sharding)'을 강조하고 있다. 기존의 이더리움은 하나의 블록 검증에 전체 노드가 참여했다면, 샤딩은 노드를 샤드라는 소규모 그룹으로 나눠 각 그룹이 거래를 동시 다발적으로 처리하도록 한다. 이때 비콘체인은 샤드에 노드를 무작위로 배정해 담합, 공격을 방지한다.[1]
활용
이더리움 2.0의 개발은 총 페이즈는 0, 1, 2, 3 이렇게 4단계로 이루어질 것으로 보인다. 우선 페이즈 0단계에서 비콘체인의 도입이 이뤄질 것으로 보인다.
비콘체인은 이더리움 2.0의 심장으로서 전체 시스템을 유지하는 중요한 역할을 한다. 즉, 포스(PoS) 합의 알고리즘으로 변화된 이더리움 블록체인에서 샤드 체인과 POS 프로토콜의 실행을 감독하고 관리하는 역할을 한다고 할 수 있다. 또한 비콘체인은 블록 제안자를 지명하는 기능, 검증인들을 임명하고 관리하는 기능, 제안된 블록에 대해 정기적으로 투표하는 유효성 검사위원회를 감독하는 기능, 처벌 및 보상을 통해 네트워크 규칙을 시행하는 기능, 샤드들 간의 신속한 크로스 샤드 거래의 실행을 위해 정기적으로 보고할 수 있는 중앙 앵커 포인트를 제공하는 기능을 한다. 자세하게 설명하자면 비콘체인은 블록 검증인으로서의 노드들의 집합을 유지하는 기능을 하며, 각 노드들은 32ETH를 스테이킹하여 비콘체인의 검증인이 되어 블록을 검증할 수 있다. 또한 비콘체인은 시스템에서 철수하는 검증인의 스테이킹이 출금되는 것을 관리한다. POS 프로토콜에 따라 초기 이더리움 스테이킹 수량과 누적된 보상, 패널티 등을 관리하게 되는 것이. 그리고 비콘체인은 규칙적인 16초 간격으로 블록을 생성한다. 이때 무작위로 선택된 블록 제안자는 검증인에게서 이전 블록에 대한 모든 정보를 수신하고 블록을 생성하게 됩니다. 그리고 비콘체인의 트랜잭션 처리에 참여하는 샤드들은 블록 제안자들에 의해 무작위로 선택된다. 끝으로 비콘 체인은 각 샤드들을 비콘 체인의 중추에 연결하여 네트워크를 구성하는 '크로스링크(Crosslinks)'를 통해 각 샤드들의 현재 상태를 기록하며 블록이 완성되면 샤드들 간의 교차 트랜잭션을 통해 다른 샤드의 블록도 자동으로 최종 확정된 것으로 간주하게 된다.
비콘체인은 다음의 3가지 중요한 역할을 한다.
- 첫 째, 활성 및 대기 중이거나 종료된 검증인 집단을 저장하고 유지 관리
- 둘 째, 크로스링크(Crosslinks) 처리
- 셋 째, 고유한 블록별 합의 처리
비콘체인의 프로세싱은 기존 작업증명(PoW) 체인 프로세싱과 근본적으로 유사하다. 클라이언트는 블록을 다운로드하고 처리하며 현재 '헤드'에 종료되는 '기준 체인'이 무엇인지에 대한 표기를 유지한다. 그러나 비콘 체인과 기존 POW 체인의 관계 그리고 비콘 체인이 POS 체인이기 때문에 발생하는 차이점이 있다.
비콘 체인의 블록을 노드가 처리하려면 다음 네 가지 조건을 충족해야 한다.
- 첫 째, ancestor_hashes[0]에 지정된 부모 블록이 이미 처리되어 승인되어야 한다.
- 둘 째, 블록 제안자(proposer)의 증명은 네트워크 메세지 객체의 블록과 함께 포함되어야 한다.
- 셋 째, processed_pow_receipt_root에 지정된 POW 블록은 이미 처리되어 승인되어야 한다.
- 넷 째, 노드의 로컬 시간은 state.genesis_time block.slot*SLOT_DURATION 에 계산된 최소 타임스탬프 보다 같거나 커야 한다.
위 조건이 충족되지 않으면, 클라이언트는 조건이 모두 충족될 때까지 비콘 블록 처리를 지연해야 한다. 비콘 블록은 기존 PoW 블록에 비해 POS 메커니즘에 의해 생성되기 때문에 의미 있는 차이점이 있다. 비콘 블록 클라이언트는 블록을 생성할 때 단순히 기준 체인뿐 아니라 슬롯 번호도 확인해야 하며 슬롯을 확인한 이후에 필요에 따라 블록을 생성하거나 증명하게 된다. 또한, 일정 시간 내에(즉, SLOT_DURATION의 표시된 수초 내에) 각 노드가 다른 노드와 동기화된 클럭을 가져야 한다는 것을 유의해야 한다.
각주
- ↑ 토큰포스트, 〈'이더리움 2.0' 지분증명 테스트넷 비콘체인 공개〉, 《토큰포스트》, 2018-05-09
참고자료
같이 보기