다운로드
닫기 메뉴 -

RSK의 블록 보상 평준화

Published on: 23 8월, 2019

RSK 수석 괴학자 Sergio Demian Lerner 작성

비트코인의 보안은 채굴자가 가장 높은 난이도로(주로 가장 길게) 체인을 확장하기 위해 존재하는 경제적 인센티브(혜택)에 의존합니다. 현재 이러한 혜택은 블록 보상이 제공하며, 이는 블록 보조금과 거래 수수료로 이루어져 있습니다. 그러나 이 보조금(12.5 BTC)은 블록당 평균 거래 수수료(0.4 BTC)보다 상당히 높습니다.  비트코인 보조금은 4년마다 반으로 줄어들기 때문에 혜택은 BTC 가격이 정반대로 줄어들지 않는 이상 거래 수수료에만 의존하게 됩니다. 거래 수수료는 현 보안 수준을 유지하려면 30배 늘어나야 합니다. 이것은 비트코인에 문제가 될 수 있을까요? 비트코인 보안은 거래 수수료에만 의존할 수 있을까요? 비트코인은 이 새로운 시대에 적응하기 위해 소프트 포크나 하드 포크를 필요로 하게 될까요? 저는 2014년에 FRONT 공격에 대한 내용을 제시하여 비트코인이 어떻게 불안정해질 수 있는지를 보여주었습니다. 칼스텐 외 저자가 집필한 글 (2016)은 이 문제를 깊이 분석하고 있으나 만족스러운 결과를 찾지는 못했습니다. 이것은 비트코인만의 문제가 아니라 화폐 발행이 시간이 지남에 따라 줄어드는 암호화폐 모두가 결국 맞닥뜨리게 되는 문제입니다. 

그러나 비트코인은 지금부터 걱정할 필요는 없습니다. 이 문제는 10년, 20년 또는 그 후에 나타날 것이기 때문입니다. 문제를 모두 강조하거나 최소화하는 분석으로, 이 문제는 최근에 다시 조사되었습니다. 

RSK 블록 보상

RSK는 초창기부터 거래 수수료에만 의존해야 한다는 문제점을 다뤄야 했으며, 비정상적으로 높은 수수료에 대비해야 했습니다. RSK는 생산이 준비된 첫 번째 사이드체인이었으며, 컨센서스(합치)에 병합 채굴을 사용합니다. RSK 채굴자는 RSK 풀 노드 실행에 대한 경제적 보상과 노드를 업데이트할 때 변경 사항을 검토할 것으로 기대합니다. 

Ripple과 같은 일부 배포 원장은 블록 생성자에게 비용을 지불하기 위해 코인을 발행하지 않으나, 이를 운영하는 단체에는 직접 블록 생성자가 되거나 다른 채널을 통해 제3의 생성자에게 보상을 제공할 수 있을 만큼의 충분한 사전 채굴 코인이 존재합니다. 그에 비해 RSK는 가장 어려운 조건을 마주하고 있습니다. 코인 발행도 없고, 코인 사전 채굴도 없다는 조건입니다. RSK는 향후 다른 블록체인에 사용될 새로운 기술의 시험대를 대표하며 보조금이 없는 블록체인이 어떻게 지속 가능한지를 보여주는 예가 되고자 합니다. 이 새로운 기술 중 하나는 2016년 RSK의 첫 출시 때 부터 쭉 시행되어 온 블록 보상 평준화(수수료 평준화라고도 불리는)입니다.

블록스트림 CEO인 애덤 백은 최근 비트코인의 장기적인 보안 예산에 대해 논의하면서, 이 평준화에 대해 언급했습니다. “기타 더 장기적이며 낮은 보조금의 시대에 대한 아이디어는 수수료 창출을 평준화하기 위해 블록 간격 내에 수수료를 평균화하는 것이 포함됩니다.”

https://twitter.com/adam3us/status/1097031151921713152

그럼 이것이 왜 필요한지를 이해하기 위해 수수료 평준화의 주제를 더 깊이 파고들어 봅시다. 수수료 평준화는 각 채굴자에게 과거 블록 보상의 기능을 지불함으로서 더 평등한 방식으로 채굴자 간에 채굴 수수료를 분배하는 컨센서스 규칙입니다. 이는 직선적이거나 비직선적일 수 있으며, 일반적으로 축적된 수수료에 대한 일종의 저역 통과 필터입니다. RSK는 α=0.1의 매우 간단한 IIR로 평준화 기능을 사용합니다. 채굴자가 N의 높이에서 블록을 해결하면, 그 채굴자는 블록 거래 수수료의 10%와 기존에 축적된 미지불 채굴자 수수료 전체의 10%라는 보상을 받게 됩니다. 다시 말해서 모든 채굴자가 거래 수수료를 넣고 10%를 가져가는 “공유” 계정이 존재한다는 것입니다.

RSK의 디자인이 보상 평준화를 채택하는 데에는 여러 가지 이유가 있습니다. 먼저 보상 평준화가 개인적 블록 가스 제한을 설정하는 데 더 큰 유연성을 제공해, 블록 보상에 대한 높은 벌금을 물지 않고도 블록 생성 지연을 막아 준다는 것입니다. 둘째로 블록체인을 확장하는 인센티브가 기존 블록을 다시 채굴해 지불한 비용을 가져가려고 하는 인센티브보다 높아야 하기 때문에 보상 평준화가 필요하다는 것입니다. 그럼 평균 블록 보상이 10 코인에 불과할 때 블록 높이 N의 거래 T가 수수료로 100 코인을 지불한다고 칩시다. 이때 채굴자에게 가장 좋은 전략은 거래 T를 잡고 동일한 높이 N에서 블록을 채굴한 후(100 코인 보상 vs 10 코인), 자신의 이기적인 체인의 자녀 블록을 계속 채굴해 체인이 충분히 길어져 나머지 채굴자들(동일한 것을 반복하게 될)이 포기할 때까지 계속하는 것입니다. 수수료가 높은 거래는 T + 충분한 확인 블록을 채굴할 가능성이 더 높은 더 큰 거래 풀의 혜택을 위해 채굴을 원자화합니다. 신기하게도 채굴 네트워크가 더 분산화되어 있을수록 이러한 거래가 미치는 분열은 더 심합니다. 예를 들어 평균 블록 간격이 10분인 블록체인의 경우, 총 해시율의 1%를 각각 나눠 가진 채굴자가 100명이 있다면, 네트워크는 최종적으로 여러 블록이 하나로 집합될 때까지 100배 이상 느려지게 됩니다. 그에 따라 네트워크는 2일 동안 사용이 불가능하게 됩니다. 또 이 기간 중에는 결제의 단일 블록 확인을 기다리는 판매자의 판매 취소 가능성이 높아져 블록체인 또한 불안정하게 됩니다. 

채굴자 원자화 공격

수수료가 아주 높은 거래의 전파는 서비스 공격 거부를 수행하기 위한 노력으로 간주될 수 있습니다. 이러한 거래는 순진한 채굴자에게는 블록체인을 되 돌리기 위한 뇌물로 보여질 수도 있으나, 사실은 채굴을 원자화하기 위한 미끼입니다. 다른 상호 보완적인 보호 조치가 존재하기는 하나, 보상 평준화는 암호화폐 네트워크가 이러한 공격에 대항할 수 있게 하는 주요 보호 조치입니다. 그럼 기존 예로 돌아가 봅시다. 평균 블록 보상이 10 코인일 때 100 코인을 뇌물로 사용하는 경우입니다. RSK에서 높이 N의 블록은 19 코인이라는 보상을 제공하게 되며, 그 다음 블록은 18.1 코인을 지불하게 됩니다. 이기적인 채굴자는 이제 공격에 대한 수익을 얻으려면 다른 채굴자보다 10배 큰 해시 파워를 보유해야 합니다.

이를 시행할 수 있는 상호 보완적인 보호 조치에는 두 가지가 있습니다. RSK는 그 중 첫 번째로 DECOR라고 불리는 보상 공유 컨센서스 프로토콜을 시행합니다. DECOR는 형제 블록 간에 블록 보상을 공평하게 나눕니다(하나 이상이 존재하는 경우) 이는 모든 채굴자가 동일한 블록을 채굴하는 경우 블록 보상의 1/11까지 줄어든 비용을 얻을 수 있다는 것을 알게 되므로 원자화 공격의 인센티브를 줄이게 됩니다. 블록체인이 최대 10개의 형제 블록을 레퍼런스할 수 있기 때문입니다. 이는 RSK 네트워크에 분열을 일으키려면 뇌물이 평균 블록 보상보다 110배 이상 비싸야 한다는 뜻입니다. 

두 번째 상호 보환적인 보호 조치는 RSK가 현재 시행하고 있지 않은 조치입니다. 최소 가스 비용의 몇 배로 거래 가스 비용을 제한하는 것입니다(예: 10x 스프레드). 저는 2013년에 비트코인을 위해 이와 비교할 만한 조치를 제안한 적이 있습니다. 이때 각 블록은 수락된 최소 거래 가스 가격을 홍보하므로, RSK는 이를 쉽게 시행할 수 있습니다. 그러나 블록이 모든 블록 가스를 소비하지 않는 상태에 네트워크가 있는 경우라면, 최대 가스 비용을 설정하는 것만으로 문제를 완전히 해결할 수는 없습니다. T의 높은 수수료는 더 높은 가스 비용 대신 소비된 가스의 양이 더 높기 때문일 수도 있습니다.

채굴자에게 뇌물 제공하기

공격자는 스마트 컨트랙트 플랫폼을 이용해 채굴자에게 뇌물을 제공함으로서 채굴자가 거의 모든 일을 하게할 수 있으므로, 수수료 평준화가 최종적인 솔루션은 아닙니다. 저는 2014년에 뇌물을 이용해 채굴자가 정직한 행동을 포기하게 만드는 방법을 보여 줄 수 있는 이론적 “Eternal Choice for the Dark Side Attack” (ECDSA, 어둠의 편에 서는 공격에 대한 영구적 선택)을 발표했습니다.  맥코리 외 저자 (2018)은 이론적인 뇌물 수수 공격 전반을 제시하였습니다. 그러나 스마트 컨트랙트 기반의 뇌물을 받는 데 필요한 이해와 준비의 수준은 아주 높습니다. 뇌물의 감독과 그 대응에 대한 프로그래밍을 필요로 하기 때문입니다. 이는 스마트 컨트랙트 기반의 뇌물 수수 공격을 더 침투하기 어렵게 합니다. 채굴자가 뇌물 컨트랙트를 인식하고 이와 소통하는 방법을 알아야 하기 때문입니다. 그러나 이는 피할 수 없는 문제입니다. 플랫폼이 채굴자에게 비용을 지불할 수 있다면, 동일한 채굴자에게 비용을 지불하는 스마트 컨트랙트를 수행할 수도 있습니다. 이는 컨센서스가 프로그래밍된 프로그래밍 언어와 스마트 컨트랙트가 사용하는 언어가 모두 “튜링 완료” 상태이기 때문입니다. 다른 사람에게 기꺼이 돈을 지불한 의사가 있는 사람에게 돈을 지불하지 못하게 막을 수는 없습니다.  모든 튜링 완료 스마트 컨트랙트 플랫폼은 다른 블록체인의 채굴자에게 비용을 지불하는 데 사용될 수 있으므로, 특정 플랫폼의 언어 능력을 제한하는 것은 충분치 않습니다. 예를 들어 RSK와 이더리움은 비트코인 채굴자에게 뇌물을 지불하는 데 사용될 수 있습니다. 물론, 이런 경우 조정이 훨씬 더 힘들어집니다. 

장기적인 해결책은 모든 채굴자가 원자화 공격 뒤의 게임 이론을 이해하게 하여 이를 막는 것입니다. 모두가 블록을 재채굴하고 미끼를 물려고 하면 모두 패배할 수 밖에 없기 때문입니다. 몇몇 채굴자가 미끼를 물더라도 대부분의 채굴자가 정직함을 유지한다면, 일부 악의적 공격자가 패배하게 됩니다. 우리는 대부분의 사람들이 정직함을 유지하지 않고 일부만 정직함을 유지하게 되는 기회를 줄이기 위해, RSK에 RBTC에 사용하는 것과 동일한 IIR을 모방한 보상 평준화 컨트랙트를 배치하되, 모든 토큰에 적용되게 할 수 있습니다. 그리고 채굴자들에게 제공받은 뇌물을 다시 돌려놓게 하는 방법을 가르쳐서 뇌물을 공유하는 것이  셸링 포인트가 되게 하는 것입니다.

요약

특정 블록체인에는 거래가 비정상적으로 높은 수수료를 지불하는 거래로 인해 네트워크 불안정이 발생할 수 있는 문제가 있습니다. 이 문제는 RSK 같은 비트코인 사이드체인에서 더 의미가 있습니다. RSK는 이 문제에 대한 보호 조치로 블록 보상 평준화를 실행합니다. 블록 보상 평준화는 또 채굴 경쟁 대신 협력을 인센티브화하는 것과 같은 추가 혜택을 제공하기도 합니다. 이 보호 조치는 명시적인 수수료에 사용할 수 있으나, 스마트 컨트랙트를 이용해 제공된 뇌물의 일반적인 사례에는 적극적인 네트워크 감독 및 추가 분석이 필요합니다.