리스 지분 증명 합의 설명

공유
리스 지분 증명 합의 설명
아티클 듣기
00:00 / 00:00

리스 지분 증명 합의 알고리즘과 웨이브-NG 프로토콜 

저자: Guy Brandon, 웨이브 기고자

웨이브(Waves) 네트워크는 웨이브-NG 프로토콜과 결합된 리스 지분 증명(LPoS, leased proof-of-stake) 합의 알고리즘 상에서 작동하며, 높은 수준의 확장성과 트랜잭션 처리가 가능합니다.


소개

웨이브 네트워크는 2016년에 시작되었으며 ICO를 통해 3만 BTC(당시 약 1,600만 달러)를 모금했습니다. 본 프로젝트는 다양한 요구사항을 처리하는 여러 툴키트(toolkit)를 통해, 비즈니스 과정에서 사용하기 위한 포괄적인 블록체인 생태계를 만들어가고 있습니다. 여기에는 간편한 맞춤형 암호화폐 토큰 생성, 직관적인 스마트 컨트랙트, 자체 탈중앙화 거래소(DEX)에서의 개인 간 거래, 웨이브 키퍼(Waves Keeper) 브라우저 플러그인을 통한 디앱(dApps) 및 웹 서비스의 편리한 상호 작용 등이 포함됩니다.


확장성

웨이브는 초기부터 대규모 블록체인 채택을 위해 확장성이 필요하다는 것을 인식하고, 기존 블록체인의 한계를 해결하기 위한 기술 개발을 우선순위로 삼았습니다. 예를 들어, 비트코인은 보안성은 높지만 상대적으로 느려 초당 7개 정도의 트랜잭션만 처리할 수 있습니다. 이처럼 비트코인은 전 세계에서 일상적인 통화로 사용될 만큼 효율적이지 않습니다. 이를 위해서는 라이트닝 네트워크와 같은 차상위 해결책이 필요합니다. 웨이브는 차상위 방법을 고려하기 전에, 처음부터 온체인 확장성에 중점을 두는 다른 접근 방식을 택했습니다.


잔고 임대

웨이브의 기존 합의 알고리즘은 단순한 지분 증명 방식이었습니다. ICO 이후 1억 개의 웨이브 토큰이 모두 배포되었고, 공급량은 고정되어 작업 증명 마이닝 코인처럼 인플레이션이 없었습니다. 따라서 웨이브 블록 검증자(형성자, 일반적으로 웨이브 생태계에서는 단순히 '마이너'로 알려짐)는 자신들이 처리하는 블록의 거래 수수료를 받지만, 블록 보상은 없습니다.

2017년 5월, 리스 지분 증명 시스템(LPoS)이 완전히 출시되어 웨이브의 라이트 클라이언트(전체 노드를 실행하지 않는 사용자)가 웨이브 토큰을 마이닝 노드에 임대할 수 있게 되었습니다. 임대된 웨이브는 사용자 계정에 동결되어 있으므로 전송하거나 거래할 수 없습니다. 그럼에도 불구하고, 계정 보유자는 토큰에 대한 완전한 통제권을 갖고 있으며, 언제든지 임대를 취소할 수 있습니다. 마이닝 노드를 실행하고 24시간 내내 온라인 상태여야 하는 기술적 간접 비용 때문에, 웨이브 커뮤니티에서 노드를 실행하는 비율은 비교적 적습니다(블록 생성자 목록은 http://dev.pywaves.org/generators/ 참조). 

마이닝 노드에 임대되는 웨이브 토큰은 마이너의 지분 보유량을 증가시키는 데 사용되며, 이를 통해 마이너가 다음 블록을 찾게 될 확률이 높아집니다. 리스 지분 증명 시스템은 적어도 두 가지 방법으로 네트워크 보안을 향상시킵니다. 첫째, 더 많은 웨이브가 네트워크를 보호하는 데 사용되는데, 이는 공격자가 51% 공격을 수행하는 데 필요한 토큰을 모으는 것이 더 힘들어지기 때문입니다. 둘째, 웨이브는 사용자의 콜드 스토리지 주소에서 노드로 임대할 수 있지만, 온라인 상태로 유지되는 노드는 최소한의 잔고만을 보유할 수 있습니다. 이는 온라인 상태의 컴퓨터에서 웨이브 토큰이 해킹 당하는 위험을 줄여주는데, 임대된 자금이 마이너에게 전송되지 않기 때문입니다. 


합의를 위한 새로운 접근: 웨이브-NG

2017년 12월 웨이브-NG의 출시와 함께 추가적인 네트워크 업그레이드가 진행되었습니다. 이는 코넬 IT 교수인 Emin Gün Sirer의 비트코인-NG 제안을 바탕으로 한 새로운 프로토콜입니다.

기존 비트코인 프로토콜은 각 마이너들을 소급해서 선택합니다. 블록체인에 블록이 추가된 후, 마이너들은 블록체인의 현재 상태에 기반하여, 다음 블록에 대한 유효한 해시를 찾기 위해 경쟁합니다. 한편, 새롭게 생성된 트랜잭션은 메모리 풀(밈풀)로 이동하며, 마이너가 최종적으로 수집하고 유효성을 검사할 때까지 보류됩니다. 

비트코인과 비트코인-NG 프로토콜 모두 비잔틴 장애 허용(BFT) 시스템으로 간주되지만, 후자는 2015년 다른 작업 메커니즘에 기반한 확장 가능한 대안으로 제시됐습니다. 비트코인-NG 시스템에서는 다음 마이너가 사전에 선택되며 해당 마이너는 비어 있는 ’키 블록’을 만듭니다. 이는 궁극적으로 블록체인에 추가될 블록입니다. 작은 블록(몇 개의 트랜잭션들로 구성됨)들은 ‘마이크로블록'이라 하며 거의 실시간으로 키 블록에 추가됩니다. 일상적인 비유를 들자면, 이는 전체 카트가 최종적으로 계산대(블록체인에 추가)로 가기 전에, 여러 개의 쇼핑백(마이크로블록)을 카트(키블록)에 추가하는 것과 같습니다. 즉, 단 몇 초 만에 트랜잭션이 블록체인에 추가될 수 있으며, 유일한 지연 시간은 네트워크 대기 시간입니다. 웨이브는 지분 증명 네트워크에 이러한 아이디어를 적용하여, 처음으로 비트코인-NG를 효율적으로 사용한 공개 퍼블릭 블록체인 웨이브-NG 프로토콜을 만들었습니다. 

생태계에는 매스트랜스퍼(MassTransfers)도 추가되었습니다. 이를 통해 단일 트랜잭션에 최대 100개의 전송(transfer)을 묶을 수 있고, 수수료를 절감할 수 있습니다. 매스트랜스퍼를 초당 100 트랜잭션으로 제한하는 것은 많은 용량과 편리성을 추가하면서, 한편으로는 상당히 많은 규모의 금액이 낮은 트랜잭션 묶음을 한번에 전송하는 것을 막는 절충안이었습니다. 더 많은 전송을 해야하는 경우, 다수의 매스트랜스퍼를 순차적으로 제출할 수 있습니다. 

달리 말하자면, 사용자는 다양한 종류의 '자금 전송'을 위해 매스트랜스퍼를 선택할 수 있으며, 이를 통해 하나의 트랜잭션에 최대 100명의 수신자를 포함할 수 있습니다. 또한 수신자 주소는 JSON을 통해 제공되거나 CSV 파일을 통해 업로드될 수 있으며, 웨이브를 마이닝 노드에 임대하는 사용자에게 대규모 에어 드롭을 수행하거나 주간 페이아웃을 지급할 때 간편하고 효율적입니다. 웨이브-NG와 결합된 매스트랜스퍼 기능은 네트워크 상에서 매우 높은 처리 속도를 가능하게 했습니다.

새 프로토콜의 처리량을 측정하기 위해 웨이브 네트워크에서 여러 스트레스 테스트가 진행되었습니다. 2018년 10월, 메인넷에서 주요 스트레스 테스트가 실시되었습니다. 이를 통해 오픈 퍼블릭 블록체인 프로토콜(단지 제한되고 통제된 테스트넷이 아님)은 24시간 동안 610만 개 이상의 트랜잭션을 처리할 수 있었습니다. 이는 초당 수백 트랜잭션에 달한 최대 처리량을 포함해 분당 평균 4,200 트랜잭션 또는 초당 71 트랜잭션에 해당하는 양입니다.


마치며

리스 지분 증명 시스템은 전문적인 기술 지식 없이도 일상적인 사용자가 웨이브 네트워크를 안전하게 보호할 수 있게 하며, 자신의 토큰 통제권을 잃지 않고, 풀노드에 웨이브를 임대할 수 있게 합니다. 한편, 웨이브-NG는 최대 100 TPS를 가능하게 하며, 이는 다수의 블록체인보다 높은 수치입니다. 마이너들의 비싼 전기 요금과 하드웨어에 대한 블록 보상을 지불하지 않아도 되기 때문에 수수료도 저렴합니다. 

온체인 확장성은 웨이브의 우선순위였지만 저장 공간과 대역폭 때문에, 어느 블록체인이든 이러한 방식으로 확장성을 높이는 데는 한계가 있습니다. 웨이브의 개발자는 추가 확장성 해결책이 요구되기 전에, 현재의 접근 방식이 최대 1,000 TPS까지 지원하도록 최적화될 수 있다고 믿고 있습니다. 현재 웨이브는 병렬 체인에서 많은 트랜잭션을 처리하고, 궁극적으로 메인 웨이브 블록체인에서 보호될 수 있는, 사이드체인 방식을 수반하는 차상위 확장성 해결책에 대한 옵션을 탐색하고 있습니다.

Loading