Rootstock Decor+


안녕하세요 한국에서 Rootstoct엠버서더로 활동하고 있는 박건우입니다. 활동하면서 Decor+ 시스템에 대해서 관심을 가지게 되었고 이에 대해 정리해 보는 시간을 가져보려고 합니다.
Rootstock 이란?
Rootstock은 2018년 출시된 최초의비트코인 사이드체인입니다. 사이드체인이라 함은 메인 블록체인에 연결된 별도의 블록체인을 말하며 메인 블록체인과 사이드 체인 사이에서 두 방향 페그(two-way peg)를 통해 자산 이동이 가능합니다.
Rootstock은 비트코인이 가치저장수단이라는 점에 깊히 공감하며 전 세계 누구나 안전하게 비트코인을 이용한 결제를 실현하는 것을 목표로 하고 있기에 비트코인에 스마트 컨트랙트 기능을 추가하여 확장성을 높였습니다. 또한 병합 채굴(Merge-Mining)을 통해서 비트코인의 보안성을 상속받아 높은 수준의 보안을 제공합니다.
즉 EVM 기반의 Rootstock은 비트코인의 사이드체인으로서 비트코인을 활용한 스마트 컨트랙트를 지원하며 병합 채굴로 비트코인의 보안성을 그대로 이어받습니다.
병합채굴(Merge-Mining)
병합 채굴은 간단히 말하면 하나의 해시레이트로 두 개의 네트워크를 동시에 채굴하는 방식입니다.
비트코인 채굴자들은 별도의 장비없이 비트코인을 채굴하면서 사용하는 해쉬레이트로 동일하게 비트코인과 Rootstock 블록을 동시에 채굴할 수 있습니다. 현재 전체 비트코인 해시레이트의 80% 이상이 Rootstock 병합채굴에 참여하고 있습니다. 병합 채굴 덕분에 비트코인 채굴자들의 참여를 이끌어내며 높은 안정성을 확보합니다.
다만 이렇다면 의문점이 생깁니다. 그렇다면 비트코인 네트워크와 RSK 네트워크는 동일한 블록 생성시간을 가질까요?
아닙니다. 비트코인의 블록생성시간은 10분이고 RSK는 현재 30초입니다.
Rsk은 DApp 플랫폼으로서 사용자 경험을 높이기 위해 블록 생성 간격을 크게 줄일 필요가 있었습니다. 트랜잭션이 몇 초 내에 확인되지 않고 10분씩 걸린다면 디앱 사용자나 개발자에게 불편이 크기 때문입니다
PoW 기반에서 블록을 너무 자주 만들면 채굴자들 간에 경쟁이 심화되어 블록 충돌(경합)이 잦아지고 결국 여러 개의 체인 분기가 발생할 수 있습니다. 이렇게 되면 일부 블록이 고아 블록(orphan)이 되어 리워드를 못 받게 되고 채굴 효율이 떨어지죠. 이는 채굴자들이 이기적으로 행동(selfish mining)하거나 네트워크 중앙화로 이어질 위험도 높입니다.
이를 해결하기 위해 Rootstock은 독자적인 합의 알고리즘 Decor+를 도입했습니다.
Decor+
Rootstock의 합의 알고리즘에 도입된 독자적인 개선안으로 “Deterministic Conflict Resolution”의 약자입니다
비트코인 PoW 체계에 최적화된 블록 경합 처리 알고리즘이라고 생각하시면 이해가 쉬울것 같습니다.기존 나카모토 합의(Nakamoto Consensus)에 몇 가지 새로운 규칙을 추가한 형태인데 조금더 자세히 살펴보도록 하겠습니다.
비트코인에서는 두 개 이상의 블록이 동시에 생성될 경우 명확한 기준 없이 단순히 longest chain rule에 따라 블록이 선택되며 이로 인해 네트워크 포크가 빈번히 발생하고 블록 전파 지연으로 인해 공격자가 이점을 취하는 selfish mining 공격 같은 취약점이 존재합니다. DECOR+는 이러한 문제를 해결하기 위해 결정론적 블록 선택 방식과 인센티브 구조를 함께 도입하였습니다.
결정론적 블록 선택방식
비트코인의 기존 방식은 여러 블록이 동시에 생성될 경우 단순히 가장 긴 체인을 선택(longest chain rule)하지만 DECOR+는 함수 S라는 결정론적 함수를 사용하여 충돌 상황에서 블록을 선택합니다.
DECOR+RAMI
결정론적이라는 것은 모든 채굴자가 동일하게 충돌하는 블록을 가지고 있다면 함수 S를 통해 항상 동일한 블록을 선택하게 된다는 의미입니다.
어떻게 보면 선택을 강제한다고 할 수도있습니다.
하지만 네트워크 참여자들 사이의 합의를 빠르게 이루고 악의적인 공격자에 의한 조작을 방지하는 데 중요합니다.
이렇게 정의된 함수 S는 결정론적이고 동시에 non-forward settable(미리 결과를 조작하기 어려움)한 특성을 갖습니다.
같은 값을 넣었을때 결과가 항상 같기때문에 결정론적입니다.
모든 참여자가 같은 블록 집합을 가진다면 H(x)의 값도 동일하기 떄문에
따라서 XOR 연산 결과 B도 동일하게 나오고 결국 j도 똑같이 계산됩니다.그러므로 네트워크에 있는 모든 정직한 노드들은 항상 동일한 블록 Xj를 선택하게 됩니다.
non-forward settable(사전 조작하기 어려운)이유는
공격자가 원하는 블록을 미리 골라지도록 만들기 어렵고 전제 조건으로 **해시 함수 H가 무작위 오라클(random oracle)처럼 동작한다고 가정한다며 해시를 예측하거나 의도적으로 특정 값이 나오도록 만들기 매우 어렵게 됩니다.해시 함수의 결과를 XOR한 값 B는 (공격자 제어 X) 사실상 무작위값에 가깝게 취급됩니다.
따라서 공격자는 미리 특정 블록이 선택되도록 연산 결과를 원하는 대로 만들어내기 어려우며 이 때문에 non-forward settable한 특성을 가지게 됩니다.
또한 채굴자가 이 규칙을 지키지 않고 엉뚱한 분기를 만들려 하면 나중에 보상 분배 시 패널티를 받도록 설계되어 있습니다 반대로 모든 채굴자가 규칙을 따르면 자연스럽게 가장 긴 체인으로 합의가 수렴되고 형제 블록이 최소화됩니다. DECOR+는 경제적 인센티브를 통해 결정론적으로 만드는 알고리즘이라고 볼수도 있습니다.
인센티브 구조
Rootstock에서는 각 블록이 채굴될 때 해당 블록의 트랜잭션 수수료가 곧바로 채굴자에게 지급되지 않고 일종의 풀(pool)에 적립됩니다.
그 블록 및 해당 높이에서 경쟁한 형제 블록들의 채굴자들에게 지연된 보상이 지급됩니다.이때 REMASC라는 내장 스마트 컨트랙트가 작동하여 보상을 미리 정해진 공식대로 나누어 지급합니다
예를 들어 어떤 블록 높이에서 2개의 경쟁 블록이 있었다면 메인 블록 채굴자는 수수료의 100%에 가까운 보상을 받고 형제 블록 채굴자도 일부 비율(예를 들어 20% 내외)의 보상을 받는 식입니다. 정확한 비율은 형제 블록 수와 채굴자가 합의 규칙을 잘 준수했는지 여부 등에 따라 결정됩니다.
중요한 것은 형제 블록도 완전히 헛수고가 아니게 만들어 채굴자들의 심리적 경제적 손실을 완화했다는 점입니다.
마치며
Decor+는 Rootstock의 독창적인 합의 알고리즘으로서 결정론적인 블록 선택과 채굴자를 위한 인센티브 구조를 통해 PoW의 문제점인 잦은 블록 충돌과 효율성 저하 문제를 효과적으로 해결합니다. 강력한 보안과 안정적인 네트워크 성능은 쉽게 만들기 어려워 보입니다. 활발히 운영되는 다른 생태계나 BTC를 활용해서 Defi를 하려는 다양한 프로젝트들도 체인 자체의 알고리즘이나 보안성에 대해서 고려해볼 필요가 있다고 생각합니다.
또한 병합채굴은 다양한 요소 때문에라도 인센티브 구조가 매력적이여야 하구나 생각이 듭니다. 여러 L2들의 인센티브 구조가 불합리하거나 매력적이지 못하다고 생각이드는데 Rootstock의 인센티브 구조를 참고해봐도 좋을듯 합니다.
참고
dev.rootstock.io
https://trustmachines.co/learn/what-is-rsk/#:~:text=RSK%20,secured%20by%20the%20Bitcoin%20network
DECOR+LAMI
Subscribe to my newsletter
Read articles from kicaptain directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by