51% 공격이란 무엇인가요?
51% 공격이 발생하면 네트워크가 중단되거나 이중 지불 문제가 발생할 수 있습니다. 비트코인은 과연 51% 공격으로부터 안전할까요?
51% 공격을 살펴보기 전에, 마이닝과 블록체인 기반 시스템에 대한 이해가 필요합니다.
비트코인의 주된 강점 중 하나이자, 블록체인 기술의 근간을 이루는 것은 데이터를 구축하고 검증하는 분산성입니다. 노드의 탈중앙화된 작업은 프로토콜 규칙을 준수하고, 모든 네트워크 참여자가 블록체인의 현 상태에 동의하도록 합니다. 이는 대부분의 노드가 마이닝 과정과 사용중인 소프트웨어 버전, 트랜잭션의 유효성 등에 정기적인 합의를 달성해야 함을 의미합니다.
비트코인 합의 알고리즘(PoW, Proof of Work)은 마이너에 의해 제공되는 해시가 정확하다고 네트워크 노드에 의해 공동으로 인정될 때만, 마이너가 새로운 트랜잭션 블록을 검증할 수 있도록 합니다(즉, 블록 해시는 마이너가 충분한 작업을 완료했으며 해당 블록에 대한 유효한 해결책을 찾았음을 증명).
탈중앙화된 원장이나 분산화된 시스템으로서, 블록체인의 기본 구조는 특정한 중앙 권위가 자신들의 이익을 위해 네트워크를 결집시키는 것을 방지하며, 이것이 비트코인 네트워크에 단일 권위가 없는 이유입니다.
마이닝 과정(PoW 기반 시스템에서)은 막대한 양의 전력과 컴퓨터 자원을 수반하기 때문에, 마이너들의 성과는 자신이 보유한 컴퓨터 파워에 기초하며, 이를 보통 해시 파워(hash power) 혹은 해시 레이트(hash rate)라 합니다. 다양한 장소에 많은 마이닝 노드가 존재하며, 이들은 유효한 블록 해시를 찾고 새롭게 생성되는 비트코인을 보상으로 받기 위해 경쟁합니다.
이러한 맥락에서 마이닝 파워는 전 세계의 다양한 노드에 분산되어 있으며, 해시 레이트가 단일 주체의 소유가 아님을 뜻합니다. 적어도 그렇게 되어서는 안됩니다.
그런데 만약, 해시 레이트가 충분히 분산화되어 있지 않으면 어떻게 될까요? 예를 들어, 단일 주체나 조직이 50%가 넘는 해시 파워를 갖게 된다면 어떻게 될까요? 이를 통해 벌어질 수 있는 한 가지 결과를 51%의 공격이라 부르며, 이는 다수의 공격(majority attack)으로도 알려져 있습니다.
51% 공격이란?
51% 공격은 비트코인(또는 다른 블록체인 네트워크)에 대한 잠재적인 공격으로, 단일 주체 혹은 조직이 대다수의 해시 레이트를 제어할 수 있게 되어, 네트워크를 중단시킬 수 있습니다. 즉, 51% 공격자는 트랜잭션 순서를 의도적으로 수정하거나 제외시키기 위해 충분한 마이닝 파워를 소유해야 합니다.
악의적인 주체가 통제권을 쥐고 있는 동안, 트랜잭션을 시도하거나 자신이 발생시킨 트랜잭션을 되돌릴 수 있으며, 이는 이중 지불(double-spending) 문제로 이어질 수 있습니다. 다수의 공격이 성공하면, 공격자들은 트랜잭션의 일부 혹은 전부가 승인되지 못하도록 하거나(트랜잭션 서비스 거부 Transaction Denial of Service), 마이너들이 마이닝을 하지 못하도록 한 뒤, 마이닝을 독점(Mining Monopoly) 할 수 있습니다.
그러나, 다수의 공격은 다른 이들의 트랜잭션을 되돌리거나 네트워크에 전송되는 트랜잭션을 거부할 수는 없습니다. 블록 보상을 변경하거나, 코인을 새롭게 생성하거나, 공격자의 소유가 아니었던 코인을 가로채는 일 또한 벌어지기 힘든 시나리오입니다.
51% 공격이 벌어질 확률은 얼마나 되나요?
블록체인 네트워크는 분산화된 노드 네트워크에 의해 유지되기 때문에, 모든 참가자들은 합의에 도달하는 과정에 협력합니다. 이것이 블록체인 네트워크가 안전한 주요 이유 중 하나입니다. 규모가 큰 네트워크일수록 공격이나 데이터 손상으로부터 안전합니다.
작업 증명 블록체인의 경우 더 많은 해시 레이트를 갖고 있을 수록, 다음 블록의 유효한 해답을 찾을 가능성이 더 높아집니다. 마이닝은 무수히 많은 해싱 시도를 포함하며, 더 큰 연산력을 가지고 있을 수록 초당 더 많은 시도를 할 수 있습니다. 몇몇 초기 마이너들은 네트워크의 성장과 보안에 기여하기 위해 비트코인 네트워크에 합류했습니다. 통화로써 비트코인의 가격이 치솟자, 수 많은 신규 마이너들이 블록 보상을 받기 위해 네트워크에 동참했습니다. (현재 한 블록 당 12.5 BTC로 설정되어 있음). 이러한 경쟁적 시나리오가 비트코인 네트워크가 안전한 이유 중 하나입니다. 정직하게 행동하며 블록 보상을 받기 위한 것이 아니라면, 마이너들은 막대한 양의 자원들을 투자할 이유가 없습니다.
그러므로, 네트워크의 규모 때문에 비트코인을 겨냥한 51% 공격은 일어나지 않을 것입니다. 블록체인의 규모가 충분히 커지면, 한 개인이나 그룹이 다른 모든 참가자들을 압도할 수 있을만큼의 컴퓨팅 파워를 보유할 가능성은 급격히 낮아집니다.
또한, 이전에 승인된 블록은 모두 암호화 증명을 통해 연결되어 있기 때문에, 체인이 증가함에 따라 이를 변경하기는 더욱 어려워집니다. 동일한 이유로, 블록이 더 많은 승인을 받을 수록, 해당 블록을 변경하거나 되돌리는 데는 더 많은 비용이 듭니다. 그러므로, 성공적인 공격은 짧은 시간 동안 최근 몇 블록들의 트랜잭션만을 변경시킬 수 있을 것입니다.
한 걸음 더 나아가, 악의적 주체가 경제적 이익을 위해서가 아닌, 공격 비용에 상관없이 비트코인 네트워크를 파괴하기로 결정했다고 상상해 봅시다. 공격자가 네트워크를 붕괴시키더라도, 비트코인 소프트웨어와 프로토콜은 신속하게 수정되어 해당 공격에 응답하도록 조정될 것입니다. 이를 위해 다른 네트워크와의 합의와 동의가 필요할 것이지만, 긴급한 상황에서는 매우 빠르게 진행될 수 있습니다. 비트코인은 공격에 매우 탄력적이며 현존하는 가상자산 중 가장 안전하고 신뢰할 수 있는 것으로 간주됩니다.
공격자가 비트코인 네트워크의 나머지 절반보다 더 많은 연산력을 얻는 것은 매우 어렵지만, 보다 규모가 작은 가상자산에서는 그리 어려운 일이 아닙니다. 비트코인과 비교할 때, 알트 코인들은 자신들의 블록체인을 보호할 해시 파워를 상대적으로 적게 갖고 있습니다. 51% 공격이 실제로 일어날 수 있을만큼 적게 말입니다. 다수의 공격의 희생자가 되었던 몇 가지 주목할 만한 가상자산은 모나코인(Monacoin), 비트코인 골드(Bitcoin Gold), 젠캐시(ZenCash)가 있습니다.
면책 조항:본 게시물은 단순한 정보 제공과 교육을 위해 작성된 문서이며, 특정 가상자산에 대한 추천을 하는 것이 아닙니다. 해당 내용을 바탕으로 투자 결정을 하지 마십시오. 본지는 어떠한 투자적, 법률적 책임 등을 지지 않습니다.