블록체인 비잔틴 장군 문제

오늘은 암호자산을 보다 보면 빠지지 않는 ‘비잔틴 장군 문제’에 대해 알아보겠습니다.

비잔틴 장군 문제란

비잔틴 장군 문제란 여러 선택사항에 대해 전원에게 합의를 요구할 때, 일부가 부정을 일으키며 복수 간 합의형성이 올바르게 진행되지 않는 문제를 말합니다.

우선은 비잔틴 장군 문제의 유래가 된 비잔틴 제국에 대해 이야기해보겠습니다.

비잔틴 제국의 비잔틴 장군 문제

비잔틴 제국의 장군 9명이 한 왕국에 침입하기 위해 왕국 주위 일대를 둘러싸고 있었습니다.

이 왕국을 함락시키는 방법은 사방으로 흩어진 장군 9명 전원이 일제히 공격하는 것으로, 만약 한 명이라도 빠지면 공격은 실패로 끝나 버립니다.

그래서 비잔틴제국에 일제 공격을 할 것인지 아닌지를 판단하기 위해 장군 전원은 다수결을 취하기로 했습니다. 당시는 휴대 전화나 스마트 폰 등이 없었기 때문에 전령사가 차례차례 전령을 돌리며 ‘공격’인가 ‘후퇴’인가를 각 장군에게 확인합니다.

하지만 이곳에 비잔틴 제국의 작전을 실패로 만들려는 배신자 Z가 장군 안에 한 명 섞여 있습니다. 배신자 Z를 제외한 장군 8명의 표가 ‘공격’과 ‘후퇴’에 각각 4표씩이 들어갔다고 하면 남은 것은 배신자 Z의 1표뿐입니다.

그럼, 여기서 배신자 Z는 어떻게 장군들의 작전을 실패로 만들 수 있을까요?

배신자 Z는 ‘공격’ 의사 표시를 하는 군에는 ‘공격’, ‘후퇴’ 의사표시를 하는 군에는 ‘후퇴’의 표를 넣었습니다. 그 결과, 공격 의사 표시를 한 군은 다수결로 ‘전군 공격’이라고 판단하고, 후퇴 의사 표시를 한 군은 다수결로 ‘전군 철퇴’라고 판단합니다.

다시 말해 여러 사람이 분산된 상태에서는 전체 합의를 올바르게 진행할 수 없기 때문에, 누구 한 사람의 배반에 의해서 부정행위를 할 수 있다는 리스크가 발생하게 되는 것입니다.

이렇게 전체적인 합의가 형성되지 못하는 문제를 비잔틴 장군 문제라고 합니다. 그리고, 비잔틴 장군 문제로 발생하는 장애를 비잔틴 장애라고 합니다.

블록체인 비잔틴 장군 문제에 대한 대책

PoW로 비잔틴 장군 문제를 해결

이러한 비잔틴 장군 문제를 해결하기 위해 암호화폐 비트코인에서는 PoW(proof of work)라고 하는 컨센서스 알고리즘(승인 방식)을 채용하고 있습니다.

블록체인 네트워크에서는 중앙관리자가 존재하지 않으며 각 노드(컴퓨터)가 분산되어 네트워크상에 흩어져 있습니다. 이 때문에 네트워크의 참가자 전원이 거래 데이터의 정당성을 확인할 필요가 있습니다.

PoW는 방대한 계산 작업을 통해 네트워크의 거래를 정밀히 조사하고 있기 때문에 가장 빨리 값을 산출한 노드가 다른 노드의 계산이 맞는 결과인지 합의를 낼 수 있습니다.

합의가 되면 블록체인에 새로 생성한 블록을 추가할 수 있고, 마이닝 보수를 받을 수 있습니다.

다시 말해 PoW의 승인 방식은 방대한 계산 작업을 통해 부정이 발생하기 어려운 환경을 만들고 있다고도 말할 수 있습니다.

PoW 시스템의 구조

비트코인은 거래 데이터를 올바르게 블록체인에 기록하는 것이 중요합니다.

예를 들어 1BTC를 송금했는데 0.5BTC 만 송금되는 데이터 변조 등의 문제가 발생한다면 아무도 비트코인을 사용하지 않게 되어 비트코인의 가치는 떨어질 것입니다.

그 때문에 블록을 생성하는 마이너도 신용할 수 있는 사람이어야만 합니다. PoW 시스템은 방대한 계산 작업을 통해 도난이나 변조 등의 부정을 했을 때의 메리트보다 마이닝 보수를 얻는 메리트가 훨씬 웃돌도록 설계되어 있습니다.

PoW를 사용했을 때의 리스크

PoW에는 51% 공격이라 불리는 시스템 측면의 취약성이 존재합니다.

PoW 마이닝으로 블록의 정당성을 확인하기 위해서는 하나의 노드만으로 거래를 승인하는 것이 아니라, 다른 노드에게도 계산이 올바른지 확인하여 합의형성을 얻어야 합니다. 이때 비트코인의 경우 전체 노드에서 51% 이상의 승인을 얻을 경우 그 거래는 승인됩니다.

하지만 PoW와 같이 다수결로 합의 형성을 취하는 시스템에서는 만일 부당한 계산 결과가 나왔다 하더라도 올바른 데이터라고 판단될 가능성이 있습니다. 다시 말해 악의를 가진 노드가 조작한 거래 데이터가 블록체인에 기록될 리스크가 있습니다. 이 문제를 ‘51% 공격’이라고 합니다.

현실적으로는 방대한 설비 비용과 유지비는 물론 마이닝의 난이도 또한 높기 때문에 51% 공격이 발생할 가능성은 지극히 낮다고 할 수 있습니다.

비잔틴 장군 문제는 아직 해결되지 않았다

비트코인의 비잔틴 장군 문제는 엄밀히 말하자면 해결된 것이 아니라, ‘비잔틴 장군 문제가 발생할 가능성을 한없이 제로로 했다’고 생각하는 것이 적절합니다.

PoW의 승인 시스템은 기본적으로 다수결 구조로 되어있어 제삼자가 시스템의 취약성을 노린 범행을 할 가능성이 완전 제로는 아니기 때문입니다.

다만 비트코인이 세상에 탄생하고 나서 약 10년간, 아직까지 합의 형성이 올바르게 진행되지 않은 경우는 한 번도 없었습니다.