블록체인 리오그: 암호화폐 네트워크에 미치는 영향

블록체인 리오그가 발생하는 이유
블록체인 리오그는 네트워크가 최근까지 정식 체인으로 인식했던 일부 블록을 제외하고 다른 유효한 체인을 새로운 기준으로 채택하는 현상을 말한다. 영어 reorganization을 줄여 리오그라고 부르며, 작업증명 기반 네트워크에서는 서로 다른 채굴자가 거의 동시에 블록을 만들면서 일시적으로 두 개 이상의 유효한 체인이 형성될 때 자연스럽게 발생할 수 있다.
비트코인과 같은 작업증명 네트워크에서는 노드가 단순히 블록 개수가 가장 많은 체인이 아니라 누적 작업량이 가장 큰 유효한 체인을 기준으로 삼는다. 동시에 생성된 두 블록을 서로 다른 노드가 먼저 전달받으면 잠시 체인이 갈라질 수 있지만, 이후 한쪽 체인에 새로운 블록이 추가돼 누적 작업량이 앞서면 네트워크는 해당 체인을 정식 체인으로 선택한다. 다른 쪽 체인에 있던 최근 블록은 정식 기록에서 제외되며 이 과정에서 리오그가 발생한다.
네트워크 지연도 리오그 발생 가능성에 영향을 준다. 새로운 블록이 전 세계 노드와 채굴자에게 전달되는 데 시간이 걸리면 일부 참여자가 이미 새로운 블록이 생성됐다는 사실을 알지 못한 채 이전 블록을 기준으로 다음 블록을 만들 수 있다. 이러한 짧은 경쟁 체인은 정상적인 합의 과정에서 정리되며 사용자에게 별다른 영향을 주지 않고 끝나는 경우가 많다.
리오그의 원인이 항상 자연적인 네트워크 경쟁인 것은 아니다. 노드 소프트웨어의 오류나 서로 호환되지 않는 버전이 동시에 사용될 때 체인이 갈라질 수 있고, 공격자가 의도적으로 별도의 체인을 구축한 뒤 이를 공개해 기존 기록을 교체하려는 공격에서도 리오그가 발생할 수 있다.
짧은 리오그와 깊은 리오그의 차이
모든 리오그의 위험도가 같은 것은 아니다. 하나의 최근 블록이 다른 유효한 블록으로 교체되는 짧은 리오그는 분산형 블록체인의 합의 과정에서 발생할 수 있는 현상이다. 반면 여러 개의 블록이 한꺼번에 정식 체인에서 제거되는 깊은 리오그는 거래 확정성과 직접 연결되기 때문에 영향이 커진다.
리오그가 발생하면 제외된 블록 안에 있던 거래도 정식 체인에서 일시적으로 사라질 수 있다. 해당 거래가 새로운 체인에 다시 포함되면 최종 결과에는 큰 변화가 없지만, 새로운 체인에 포함되지 않을 경우 이전에 확인된 것으로 보였던 거래가 되돌려질 수 있다. 암호화폐 거래소와 결제 서비스가 입금 직후 즉시 자산을 확정하지 않고 일정한 수의 추가 블록을 기다리는 이유도 여기에 있다.
작업증명 네트워크에서 공격자가 전체 네트워크보다 충분히 강한 해시파워를 확보하면 공개된 체인과 별도로 비공개 체인을 만들 수 있다. 이후 공격자의 체인이 더 많은 누적 작업량을 확보한 상태에서 공개되면 정상 노드가 해당 체인을 채택하면서 기존 체인의 여러 블록이 한꺼번에 교체될 수 있다. 흔히 51% 공격으로 불리는 방식이다.
이때 공격자는 기존 체인에서 거래를 완료한 뒤 자신이 만든 경쟁 체인에서는 해당 거래를 제외하거나 다른 거래를 포함시키는 방식으로 같은 자산을 두 번 사용하는 이중지불을 시도할 수 있다. 따라서 악의적인 깊은 리오그는 일반적인 짧은 체인 경쟁과 달리 거래소와 결제 사업자에게 직접적인 자산 손실을 일으킬 수 있다.
합의 방식에 따라 달라지는 리오그 구조
리오그는 블록체인의 합의 방식에 따라 작동 원리가 달라진다. 비트코인을 비롯한 작업증명 네트워크는 블록 위에 추가적인 작업이 누적될수록 해당 블록이 다시 교체될 가능성이 낮아지는 확률적 확정성을 사용한다. 거래가 포함된 블록 이후에 더 많은 블록이 쌓일수록 과거 기록을 교체하기 위해 필요한 계산량도 증가한다.
지분증명 네트워크에서는 채굴 해시파워 대신 검증자의 지분과 투표가 체인 선택에 사용된다. 이더리움은 2022년 작업증명에서 지분증명으로 전환했으며, 검증자들의 투표를 기반으로 정식 체인을 선택하고 별도의 체크포인트 확정 절차를 사용한다.
이더리움에서는 전체 스테이킹 ETH의 최소 3분의 2가 체크포인트에 동의하는 과정을 거쳐 블록이 확정된다. 아직 확정되지 않은 최근 블록에서는 짧은 리오그가 발생할 수 있지만, 이미 최종 확정된 블록을 되돌리려면 정상적인 짧은 체인 경쟁과는 다른 중대한 합의 실패가 필요하다. 공격 과정에서는 대규모 지분이 슬래싱될 수 있기 때문에 작업증명 체인에서 해시파워를 이용해 경쟁 체인을 만드는 방식과 공격 구조가 다르다.
따라서 모든 블록체인에서 리오그를 동일한 방식으로 설명하기는 어렵다. 작업증명 체인에서는 누적 작업량과 해시파워가 중요한 반면 지분증명 체인에서는 검증자의 투표, 포크 선택 규칙, 확정성 메커니즘이 핵심 요소로 작동한다.
이더리움 클래식과 비트코인 골드 사례
과거에는 실제 51% 공격으로 대규모 리오그가 발생한 사례도 여러 차례 확인됐다. 대표적인 사례가 이더리움 클래식이다. 이더리움 클래식은 2020년 8월 짧은 기간 동안 여러 차례 51% 공격과 깊은 체인 재구성을 겪었다. 공격자는 충분한 해시파워를 확보해 별도의 체인을 만든 뒤 이를 네트워크에 공개했고, 기존 체인의 수천 개 블록이 교체되는 사건이 발생했다.
이 과정에서는 대규모 ETC 이중지불도 발생했다. 당시 사건 이후 거래소들은 이더리움 클래식 입금에 필요한 확인 횟수를 크게 늘렸고, 네트워크 측에서도 이후 유사한 공격을 어렵게 만들기 위한 보안 대책을 도입했다.
비트코인 골드 역시 2018년 51% 공격을 경험했다. 공격자는 네트워크의 상당한 해시파워를 확보한 뒤 거래소에 BTG를 입금하고 다른 자산을 인출하는 동시에 별도의 체인에서는 해당 BTG를 자신에게 다시 보내는 방식으로 이중지불을 시도했다. 공격자가 만든 체인이 정식 체인으로 채택되면서 거래소가 확인했던 기존 입금 기록이 사라지는 리오그가 발생했다.
비트코인 골드는 2020년에도 다시 깊은 리오그와 이중지불 공격을 경험했다. 이런 사례는 전체 해시파워가 상대적으로 작은 작업증명 네트워크에서 외부 공격자가 충분한 연산력을 확보할 경우 깊은 리오그가 실제 공격 수단으로 사용될 수 있다는 점을 보여줬다.
거래 확인 횟수가 중요한 이유
리오그는 거래가 블록에 한 번 포함됐다는 사실과 해당 거래가 사실상 되돌리기 어려운 상태에 도달했다는 것이 반드시 같은 의미는 아니라는 점과 연결된다. 특히 작업증명 네트워크에서는 거래가 포함된 블록 위에 추가 블록이 쌓일수록 이를 제거하기 위해 필요한 작업량이 커진다.
거래소와 암호화폐 결제 서비스가 네트워크별로 입금 확인 횟수를 따로 정하는 것도 이 때문이다. 해시파워가 크고 분산된 네트워크와 상대적으로 규모가 작은 네트워크의 공격 비용은 서로 다르기 때문에 같은 확인 횟수를 일률적으로 적용하지 않는다. 과거 51% 공격을 경험한 네트워크에서는 거래소가 입금에 요구하는 확인 수를 크게 늘린 사례도 있다.
리오그 자체를 곧바로 공격으로 볼 수는 없다. 동시에 생성된 블록이나 네트워크 지연 때문에 발생하는 짧은 리오그는 분산형 합의 시스템이 하나의 정식 기록을 선택하는 과정에서 나타날 수 있다. 문제가 되는 것은 공격자가 의도적으로 긴 경쟁 체인을 만들거나 여러 개의 기존 블록을 제거해 이미 처리된 거래를 뒤집는 깊은 리오그다.
현재 주요 블록체인은 합의 알고리즘과 확정성 구조, 검증자 또는 채굴자 분산, 거래소의 확인 정책 등을 이용해 이러한 위험을 관리한다. 비트코인처럼 작업증명을 사용하는 네트워크에서는 누적 작업량이 늘어날수록 과거 블록의 교체 가능성이 낮아지고, 이더리움과 같은 지분증명 네트워크에서는 검증자의 투표와 경제적 페널티를 결합한 확정성 메커니즘을 통해 최종 확정된 기록을 보호한다.
댓글 0
첫 댓글을 남겨보세요.