brunch

You can make anything
by writing

C.S.Lewis

by CURG in Seoul Oct 29. 2018

비트코인-NG 1부

확장 가능한 블록체인 프로토콜

본 게시글은 다음 세 가지 측면을 말하고자 한다. 첫 번째, 비트코인의 신뢰성을 유지하면서 훨씬 높은 처리량과 낮은 지연 시간을 달성하는 비트코인-NG 확장 가능한 블록체인 프로토콜을 소개한다. 두 번째, 나카모토 합의 프로토콜을 평가하기 위한 양적 메트릭을 소개한다. 이 메트릭은 비트코인 파생 암호화폐의 매개변수 설정에 대한 토론을 기반으로 설계되었다. 마지막으로, 대규모 실험을 통해 비트코인-NG의 견고성과 확장성을 정량화한다.


본 글은 Ittay Eyal, et al. "Bitcoin-NG: A Scalable Blockchain Protocol", 2016에 기반하여 작성되었다.



비트코인을 중심으로 한 가상화폐는 익명의 온라인 지불, 저렴한 수수료, 신뢰할 수 없는 디지털 자산에 대한 거래, 그리고 스마트 컨트랙트를 위한 인프라로서의 가능성을 보여왔다. 그러나 비트코인에 기반한 블록체인 프로토콜에는 고유의 확장성 한계가 있음 또한 사실이다.


비트코인-NG(Next Generation, 차세대)는 확장성을 위해 설계된 새로운 블록체인 프로토콜이다. 비트코인-NG는 비잔티움 장애 허용 블록체인 프로토콜로서 극단적인 변동에 강인하고, 비트코인과 유사한 신뢰 모델을 공유한다. 비트코인-NG에 더하여 비트코인과 유사한 블록체인 프로토콜의 보안과 효율성을 정량화하기 위한 몇 가지 새로운 관점 기준을 소개한다.


비트코인-NG를 구현하고, 두 프로토콜(비트코인-NG, 비트코인)에 대하여 운용 가능한 비트코인 시스템의 15%에 해당하는 대규모 실험을 수행한다. 이 실험으로부터 대역폭이 오직 개별 노드의 용량에 의해서만 제한되고 지연시간은 네트워크의 전파 지연에 의해서만 제한됨을 보여, 비트코인-NG가 최적으로 확장됨을 보인다.



비트코인은 최초로 널리 배포되고 분산된 글로벌 통화로 부상했으며, 수백 가지의 모방된 통화를 발생시켰다. 이러한 시스템의 핵심 기술 혁신은 블록체인으로 알려진 분산 원장을 유지하기 위한 나카모토(Nakamoto) 합의 프로토콜이다. 블록체인 기술은 분산되고 개방된 비잔티움 장애 허용 트랜잭션 메커니즘을 제공하며, 익명의 온라인 지불, 송금, 디지털 자산 거래를 포함하는 차세대 인터넷 상호작용을 위한 인프라가 될 것을 약속한다. 스마트 디지털 컨트랙트로는 복잡한 계약을 프로그래밍을 통해 시행할 수 있다.



이러한 잠재력에도 불구하고 블록체인 프로토콜은 확장성 한계에 직면해 있다. 시스템이 제공할 수 있는 트랜잭션의 최대 비율은 ‘블록 사이즈’와 ‘블록 인터벌’이라는 두 매개변수에 의하여 조정된다. 블록 사이즈를 키우면 처리량을 향상시킬 수 있지만, 더 큰 블록은 네트워크에서 전파됨에 더 오랜 시간이 소요된다. 블록 인터벌을 줄이는 것은 지연시간을 줄일 수 있지만, 시스템의 불안정성을 야기시킨다. 비트코인은 현재(논문 발표 당시) 블록 크기를 1MB로 설정되어 있으며 일반적인 트랜잭션 크기의 경우 초당 1~3.5회의 트랜잭션만이 발생된다. 블록 인터벌은 10분을 목표로 한다.



반면 비트코인-NG의 대역폭은 개별 노드의 처리 용량에만 제한되며, 지연시간은 네트워크의 전파 지연에 의해서만 제한된다. 비트코인-NG는 비트코인의 블록체인 연산을 ‘리더 선출(선택)’과 ‘트랜잭션 직렬화’의 두 영역으로 구분하여 이러한 성능 향상을 달성하였다. 시간을 에폭(epoch)으로 나누며, 각 에폭이 하나의 리더를 가진다.

Figure 1: Structure of the Bitcoin-NG chain.


비트코인에서는 리더 선택이 무작위로 그리고 드물게 수행된다. 일단 리더가 선택되면, 새로운 리더가 선택될 때까지 트랜잭션을 일방적으로 직렬화할 자격이 주어진다. 이러한 접근 방식은 비트코인 운용에 중요한 출발점이다. 암묵적으로 리더 선출(선택)은 비트코인에서 이미 일어나고 있다. 그러나 비트코인에서의 리더는 히스토리의 직렬화를 담당하여, 리더 선출 사이의 전체 기간 동안 긴 시스템 동결을 만든다.


새로운 합의 프로토콜의 성능과 기능을 평가함은 어려운 작업이다. 이를 양적으로 수행하고 대체 합의 프로토콜의 비교를 위한 기초를 제공하기 위해, 나카모토 합의의 구현을 평가하기 위한 몇 가지 측정 기준을 소개한다. 이러한 메트릭은 합의를 유지하고 중앙집중화에 저항하는 능력을 포함하여, 프로토콜 대역폭과 지연, 그리고 보안의 다양한 측면을 고려한다.


본 논문에서는 100개의 노드로 구성된 대규모 시험대에서 비트코인-NG의 성능을 평가한다. 이는 현재 운용 가능한 비트코인 네트워크의 15% 이상을 차지한다. 비트코인-NG를 종래의 비트코인과 비교할 것이며, 비트코인 프로토콜에 내재된 중요한 트레이드오프를 논할 것이다. 블록 인터벌을 줄이고 블록 크기를 키워 처리량을 늘리는 것으로 네트워크 대역폭을 조정하면 부작용을 초래할 수 있다. 특히 공평성 측면에서 대규모 마이너(풀)이 소규모 마이너(풀)보다 유리한 상황이 발생한다. 이는 중앙집중화를 불러오는데, 분산화된 암호화폐 비전의 기본 전제를 깨는 일이다. 또한 마이닝 파워가 손실되어 시스템이 공격에 더 취약해지게 된다. 대조적으로 비트코인-NG는 지연시간과 처리량을 네트워크 및 노드가 허용하는 최대값으로 향상시킬 수 있으며, 반면에 공평성이나 마이닝 파워 문제 등을 피할 수 있다.



비트코인과 그 블록체인 프로토콜. 비트코인은 나카모토 합의를 암묵적으로 정의하고 구현한 분산화된 탈중앙화 암호화폐이다. 비트코인은 블록체인 프로토콜을 사용하여 사용자 간의 비트코인 통화의 트랜잭션을 직렬화한다. 블록체인은 트랜잭션을 블록 단위로 기록한다. 각 블록은 고유한 ID와 이전 블록의 ID를 포함한다. 최초의 블록은 제네시스 블록이라는 별칭으로 불리며, 프로토콜의 일부로 정의된다. 유효한 블록은 (1) 이전 블록의 해시를 포함하는 암호 퍼즐(cryptopuzzle)에 대한 해답, (2) 현재 블록의 유효해야 하는 트랜잭션의 해시(특히, 머클루트), (3) 마이너가 암호 퍼즐을 해결한 것에 대한 보상을 제공하는 코인베이스(coinbase)라는 특별한 트랜잭션을 포함한다. 특정한 암호 퍼즐은 결과가 설정값보다 작아야 하는 블록 헤드의 이중-해시이다. 이 값으로 설정되는 문제 난이도는 블록이 평균 10분마다 생성되도록 동적으로 조정된다.



마이닝(Mining). 마이너가 블록을 생성하면 비트코인으로 그 노력을 보상받는다. 이 보상은 사용자로부터 지불된 트랜잭션당 수수료와, 전에 존재하지 않았던 완전히 새로운 비트코인이 포함된다.



포크(Fork). 모든 마이너는 단순히 오버레이 네트워크를 통해 다른 마이너들에게 발행하는 것으로 유효한 블록을 체인에 추가할 수 있다. 만약 여러 마이너가 같은 선행 블록으로부터 블록을 형성한다면, 이 체인은 분기되어 트리 형태를 구축한다. 이후 다른 마이너가 이 분기들 중 하나에 새로운 유효 블록을 추가할 수 있다.


포크를 해결하기 위해 프로토콜에서는 마이너가 채굴해야 할 체인을 규정한다. 가장 무거운 체인, 즉 생성에 가장 많은 마이닝 파워가 들어가는 체인이 승자로 결정된다. 모든 마이너는 저마다 자신이 아는 임의의 가장 무거운 체인에 블록을 더한다. 메인 체인 외의 분기와 블록은 pruned라 불리며, 블록 트리에 부모(parent)가 있으므로 고아(orphan)는 아니다. 이 pruned 블록의 트랜잭션들은 무시된다. 이들은 모순되지 않는 한 메인 체인에 나중에 반영될 수 있다.


비트코인 오버레이 네트워크를 통한 블록 전파는 수 초가 소요된다. 반면 대조적으로 평균 마이닝 인터벌은 10분 정도이다. 따라서 우발적인 분기는 매 평균 60블록마다 발생하게 된다.



다음 '비트코인-NG 2부'에서는 본격적으로 비트코인-NG의 새로운 프로토콜을 살펴보도록 하자.




Edit by.


김상혁 | 서강대학교 분산처리연구실 석사과정 | ksangh228@gmail.com

관심분야: 블록체인, 분산처리시스템, 클라우드컴퓨팅


박상현 | 서강대학교 컴퓨터공학과 학사과정 | twodude@naver.com

관심분야: 블록체인, 이종컴퓨팅, 인공지능




[1] Ittay Eyal, et al. "Bitcoin-NG: A Scalable Blockchain Protocol", 2016

[2] Kyle Croman, et al. "On Scaling Decentralized Blockchains", 2016

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari