더블스펜딩(Double-Spending)이란 디지털 화폐 시스템에서 동일한 화폐가 두 번 이상 사용될 위험을 뜻합니다. 실물 현금 세계에서는 이러한 문제가 발생하지 않습니다. 만약 누군가에게 10달러 지폐를 건네면, 더 이상 그 지폐를 내가 다시 쓸 수 없는 것이죠. 하지만 디지털 화폐에서 토큰은 본질적으로 데이터일 뿐이며, 적절히 통제하지 않으면 복사되거나 재사용될 수 있습니다. 초기 디지털 현금 실험에서는 이 문제가 큰 과제로 남았습니다. 즉, 사용자가 디지털 토큰을 복제해 두 번 쓰는 것을 어떻게 막을 것인가? 전통적인 중앙화 디지털 결제 시스템에서는 신뢰할 수 있는 기관(예: 은행)이 모든 거래를 원장과 대조하고 잔고를 갱신함으로써 해결합니다. 하지만 비트코인처럼 탈중앙화 네트워크는 단일 주체에 의존할 수 없으므로, 신뢰 없는(trustless) 방식으로 더블스펜딩 문제를 해결해야만 합니다.
2009년 사토시 나카모토가 비트코인을 발명했을 때, 가장 혁신적인 성과는 중앙 관리자의 개입 없이 더블스펜딩 문제를 해결할 수 있는 실질적인 방안을 제시했다는 점입니다. 비트코인의 블록체인 메커니즘은 채굴자와 노드들로 구성된 네트워크에 의해 운영되며, 한 번 블록체인에 기록되어 확인된 비트코인은 동일한 코인이 다시 쓰일 수 없도록 보장합니다. 16년이 넘는 비트코인 운영 역사(2009–2025)에서, 메인 비트코인 네트워크에서 악의적 더블스펜딩이 성공한 확정 사례는 단 한 건도 없습니다. 비트코인 설계는 더블스펜딩을 극도로 어렵게 만듭니다. 2025년 기준, 방대한 네트워크 규모와 보안 수준 덕분에 더블스펜딩 시도는 사실상 무의미합니다. 아래에서는 더블스펜딩의 개념, 비트코인이 이를 어떻게 방지하는지, 관련 공격 유형, 실제 사례(및 오해)에 대해 설명합니다.

비트코인은 더블스펜딩을 어떻게 방지하나요?
비트코인은 공개 원장 투명성, 합의 규칙, 작업증명(PoW) 채굴 방식을 통해 더블스펜딩을 방지합니다. 비트코인 블록체인은 모든 거래가 기록되는 공개 원장으로, 모든 전체 노드가 복사본을 가지고 새 블록이 추가될 때마다 이를 갱신합니다. 이 투명성 덕분에 누구나 코인이 이미 사용됐는지 검증할 수 있어, 상충 거래가 발생하면 즉시 드러납니다.
거래는 채굴자들이 동의하는 블록에 포함되어야만 확인됩니다. 예를 들어, 앨리스가 밥에게 0.1 BTC를 보낸다면, 거래는 먼저 메풀(mempool)에 등록되고, 채굴자가 블록에 포함시킵니다. 채굴자는 암호학 풀이를 통해 블록을 검증하며, 다른 채굴자들도 이를 확인합니다. 블록이 확인되면 밥의 송금 내역이 블록체인에 공식 기록됩니다.
가장 긴 유효 체인이 역사적 진실을 확정하기 때문에, 공격자가 압도적 채굴력을 갖지 않는 한 대체 체인을 만들기는 극도로 어렵습니다. 약 6회 확인(6 confirmations)이 이루어지면 성공적인 더블스펜딩 가능성은 거의 0에 수렴합니다.
또한, 모든 비트코인 거래 기록은 추적 가능합니다. 각 새로운 거래는 이전 미사용 출력(UTXO)을 소진합니다. 만약 상충 거래가 탐지되면, 가장 먼저 도달한 유효 거래만 인정되고, 이후 거래는 기각됩니다. 이 퍼스트-신(first-seen) 원칙과 채굴자가 블록을 추가하는 데 드는 전기 비용은 한번 확인된 거래를 되돌리는 것을 비효율적으로 만듭니다. 다시 말해, 비트코인 시스템은 더블스펜딩이 즉시 적발되거나, 원장을 조작하려면 너무나도 큰 비용이 들도록 설계되어 있습니다.
더블스펜딩 문제, 예시로 풀어보기
더블스펜딩 문제를 쉽게 설명하기 위해 예시를 들어보겠습니다. 앨리스가 1BTC를 가지고 있고, 이 코인 하나로 두 명을 동시에 속이고 싶다고 가정합니다. 앨리스는 거래1: "앨리스가 밥에게 1BTC 지급"을 보내는 동시에, 거래2: "앨리스가 찰리에게 1BTC 지급"(같은 코인 사용)을 준비합니다. 앨리스가 밥에게 거래1을 전송하면, 밥은 자신의 지갑에서 이를 확인하고 1BTC를 받았다고 믿습니다(밥이 상품을 넘기는 시점). 밥이 신중하다면 거래가 블록에 포함될 때까지 기다릴 것입니다. 그 사이, 앨리스는 거래2를 더 높은 수수료와 함께 방송해서 그것이 먼저 채굴되게 시도합니다. 이게 바로 더블스펜딩 시도입니다. 두 거래 모두 동일한 입력 코인을 사용하기 때문에, 둘 중 하나만 유효하게 남을 수 있습니다.
일반적으로 채굴자들이 두 거래 중 하나를 블록에 포함시킵니다. 거래1이 먼저 확인되면 거래2는 네트워크에서 무효화됩니다(이미 사용된 입력이기 때문). 반대로 거래2가 먼저 블록체인에 들어간다면 밥이 받은 거래가 무효화됩니다. 중요한 점은 두 거래가 동시에 원장에 남을 수 없다는 것입니다. 비트코인의 합의 메커니즘은 반드시 한 가지 이력만 채택됩니다. 밥의 입장에서, 거래가 충분히 확정되기 전에 앨리스로부터 결제를 받고 상품을 넘기면, 앨리스가 상반된 거래를 우선시하도록 해서 밥을 속일 위험이 있습니다.
비트코인은 고액 거래 시 여러 번의 블록 확인을 권장합니다. 한 거래 위에 블록이 많이 쌓일수록 더 안전해집니다. 공격자가 해당 거래의 블록부터 그 이후 블록들까지 전부 재채굴해야 이력을 바꿀 수 있는데, 블록이 추가될수록 그 난이도는 기하급수적으로 증가합니다. 대략 6회 블록(약 1시간)이 지나면, 비트코인 거래는 사실상 되돌릴 수 없는 것으로 간주됩니다.
더블스펜딩(이중지불)이란?
더블스펜딩 공격의 종류
1. 51% 공격(과반수 공격)
51% 공격은 가장 단순한 더블스펜딩 방식으로 종종 언급됩니다. 공격자가 전체 네트워크의 50% 이상의 해시파워(컴퓨팅 파워)를 장악해 다른 채굴자들보다 더 빨리 블록을 생성하는 것입니다. 공격자가 지속적으로 네트워크보다 빠르게 블록을 채굴할 수 있다면, 블록체인을 포크(fork)해서 자신만의 원장을 만들어 "최장 체인"으로 인정받게 할 수 있습니다. 예를 들어, 공격자는 공개 체인에서는 밥에게 0.1BTC를 보내고 동시에 비공개로 채굴한 체인에서는 이 거래를 포함하지 않고 0.1 BTC를 그대로 보유할 수 있습니다. 비밀리에 채굴했던 체인이 더 길어지면 이를 공개하고, 전체 네트워크가 이 새 체인으로 전환하게 해 밥의 거래는 원장에서 사라집니다(즉, 실제로는 "이중지불"이 발생한 셈입니다).
실제 비트코인 네트워크에서 51% 공격을 시행하는 것은 극도로 어렵습니다. 비트코인 해시레이트(네트워크 전체의 채굴 파워)는 이미 엄청나서, 초당 수백 엑사해시(약 10^18해시)에 달합니다. 2025년 10월 기준엔 약 1 제타해시(10^21해시)까지 기록되었습니다. 이를 장악하려면 상상을 초월하는 장비, 전력이 필요하며, 비용 또한 수십 억 달러가 들 것으로 추정됩니다. 잠재적 수익에 비해 비용이 훨씬 크기 때문에 현실적으로 누구도 시도하지 않습니다. 게다가 비트코인 채굴 커뮤니티는 다양한 독립 풀, 채굴자 사이에 분산되어 있습니다. 대형 마이닝풀도 보통 20~25% 수준만 점유합니다. 예전 한 풀의 점유율이 51%에 가까워질 정도가 된 적이 있지만, 그 즉시 신뢰 유지를 위해 자발적으로 해시파워를 줄인 바 있습니다.
반면, 해시파워가 낮은 다른 PoW 암호화폐들은 실제 51% 공격에 취약해 더블스펜딩이 발생했습니다. 예를 들어 이더리움 클래식(ETC)은 2020년 여러 차례 51% 공격으로 블록체인이 재조직되어 더블스펜딩을 허용하기도 했습니다. 비트코인 골드(BTG) 역시 2018년, 2020년에 공격을 당했습니다. 이들은 네트워크 해시레이트가 낮고 탈취 가치가 높으면서도, 공격자가 임대·매입으로 채굴력을 손쉽게 취득할 수 있어 발생한 사례입니다. 예를 들어 2020년 8월 ETC 사고에선 약 500만 달러 상당의 더블스펜딩이 일어났습니다. 비트코인은 네트워크가 워낙 커서, 임대로 해시파워를 확보하는 것이 불가능에 가깝고, 장비·전력 매입은 현실적으로 감당 불가합니다.
정리하면, 51% 공격은 비트코인에서 여전히 이론적으론 가능한 더블스펜딩 방식이나, 실제로는 규모 덕분에 거의 위협이 되지 않습니다. 소규모 코인에서 더 큰 문제입니다. 비트코인의 방어력은 거대한 채굴 파워와, 정직하게 채굴하는 쪽이 공격하여 얻는 이익보다 훨씬 유리하다는 경제적 유인구조에 있습니다(네트워크가 공격당하면 비트코인 가격 자체가 폭락해 공격자 보상가치도 사라짐).
비트코인 51% 공격 (출처)
2. 레이스 공격(Race Attack, 0-컨펌 더블스펜딩)
레이스 공격은 공격자가 거의 동시에 두 개의 상충 거래를 네트워크에 신속하게 전송해 한쪽 거래가 수신자에게 도달하는 순간, 나머지 거래가 먼저 채굴되도록 노리는 방식입니다. 주로 "0 confirmation"(컨펌 전) 거래를 받는 상대(빠른 소매점 등)를 타깃으로 합니다. 예를 들어, 앨리스가 밥의 가게에서 0.1 BTC를 결제하면 밥은 네트워크상 미확인 거래를 확인하고 곧바로 상품을 넘길 수 있습니다. 동시에(또는 곧바로), 앨리스는 동일한 0.1 BTC를 자신의 다른 주소로 보내는 두 번째 거래(더 높은 수수료 포함)를 방송합니다. 만약 밥이 컨펌도 없이 물품을 건네주면, 앨리스는 나중에 자기한테 가는 거래가 블록에 먼저 포함되기를 기대합니다. 밥의 거래는 확인되지 않고 사라지며, 앨리스는 코인도, 상품도 모두 탈취하게 됩니다.
이처럼, 비트코인에서는 상당한 가치의 거래에 반드시 컨펌을 기다리라고 권장합니다. 확인 전 거래는 블록에 포함되기 전이므로 보안이 취약하고, 메풀 단계라 교체될 수 있습니다. 비트코인은 Replace-By-Fee(RBF) 기능을 제공하는데, 보내는 쪽에서 수수료를 인상한 새 거래를 재방송하면 기존 거래를 메풀에서 대체할 수 있게 됩니다. RBF는 수수료 인상에 유용하지만, 동시에 경계해야 할 포인트입니다. 수신자가 0-컨펌 거래(RBF 허용됨)를 승인하면, 보낸이가 더블스펜딩으로 "수수료 올린 새 거래"를 내보내 기존 거래를 덮을 수 있습니다. 상당수 지갑 프로그램이 이런 이유로 0-컨펌 거래를 신뢰하지 않는 것으로 표시합니다.
밥은 최소 한 번, 보통 고액일수록 여러 번의 컨펌을 기다림으로써 보호받을 수 있습니다. 앨리스의 결제가 블록에 기록되면, 상충 거래는 네트워크에서 무효로 처리됩니다. 레이스 공격에서 빠른 속도가 공격의 본질입니다. 판매자가 블록 컨펌이 끝날 때까지 기다리면 더블스펜딩은 실패합니다. 레이스 공격은 오직 0-컨펌을 무분별하게 받는 상대(일부 소매점, 즉시 결제 서비스 등)에게만 유효합니다. 일부 프로젝트는 비트코인에서 안전한 0-컨펌 방식을 모색하고 있지만(예: 비트코인 캐시의 인스턴트 트랜잭션 등), 메인넷에서는 여전히 컨펌 대기가 최선입니다.
3. 피니 공격(Finney Attack)
피니 공격은 비트코인 초창기 개발자 할 피니의 이름을 딴 시간·타이밍 기반 더블스펜딩입니다. 공격자가 자신에게 코인을 송금하는 거래가 포함된 미리 채굴한 블록을 즉각 방송하지 않고 보관해 둡니다. 예를 들어, 앨리스가 0.1 BTC를 자신의 두 번째 주소로 보내는 거래를 포함한 블록을 미리 채굴해 놓고, 이를 곧바로 네트워크에 퍼뜨리지 않는다고 가정합니다. 지금 앨리스는 밥의 가게에 가서 정상적인 0.1 BTC 결제를 합니다(아직 블록에 포함되지 않음). 밥은 이를 보고 한 번 정도 컨펌만 확인하고 상품을 넘겨줄 수 있습니다. 그 순간 앨리스는 미리 채굴해둔 블록을 재빨리 공개합니다. 만약 그 블록이 유효하고 다른 채굴자들보다 먼저 받아들여지면, 네트워크는 이 블록을 "최장 체인"으로 받아들입니다. 해당 블록에는 이미 0.1BTC가 앨리스의 두 번째 주소로 이동된 상태이기 때문에, 밥에게 간 거래는 나중에 사용된 입력으로 상충되어 절대 확인되지 않습니다. 결국 밥은 코인도, 상품도 모두 잃게 됩니다.
피니 공격은 오늘날엔 거의 실현 불가능합니다. 성공하려면 직접 블록을 채굴해야 하고(비용·확률상 극히 어려움), 몇 초~몇 분의 정밀한 타이밍까지 필요합니다. 6회 이상 컨펌을 기다리는 판매자에겐 사실상 공격이 불가능합니다(오히려 연속으로 6블록을 혼자 채굴해야 하므로, 이는 곧 51% 공격이 됩니다). 초창기에는 개인 CPU 마이너도 드물게 노려볼 수 있었으나, 지금은 거대 채굴풀 시대라 실현 확률이 사실상 0입니다. 이론적 위험성은 있지만, 교훈은 "확인 충분히 받을 것"입니다.
피니 공격 (출처)
비트코인에서 실제로 더블스펜딩이 일어난 적이 있을까?
가끔 "비트코인 더블스펜딩" 관련 뉴스가 떠도는데, 실제로 비트코인 원장이 더블스펜드 공격으로 인해 훼손된 사례는 없습니다. 2021년 1월 22일 BitMEX 툴이 21달러 규모의 더블스펜딩 가능성을 포착했지만, 이는 가격에 일시적 영향만 주었을 뿐 진짜 더블스펜딩은 아니었습니다. 이 사건은 블록 간 경쟁으로 인한 '스타일 블록(stale block)'과 교체된 거래였을 뿐입니다.
이 경우, 한 사용자가 수수료 낮은 거래를 보내고, 이후 여러 차례 수수료를 인상한 새 거래를 방송합니다. 두 채굴자가 거의 동시에 각기 다른 거래를 블록에 포함시켜 일시적으로 블록체인은 분기(fork)됐고, 네트워크는 결국 한 쪽만 선택했습니다. 다른 한 블록은 고아 블록이 되어 병합됐고, 양쪽 거래도 무효 처리되어 참 더블스펜딩은 일어나지 않았습니다. 합의 규칙이 반드시 하나의 거래만 인정하도록 보장한 것입니다.
역사상 잘못된 보도를 제외하면, 비트코인은 더블스펜딩에 지속적으로 강한 내성을 보여주고 있습니다. 2010년 8월 "밸류 오버플로우(value overflow)" 소프트웨어 버그가 있었지만, 즉시 해결됐고 이는 아예 설계 결함의 예외적 사례입니다. 반면, 해시파워가 약한 비트코인SV 등은 실제 더블스펜딩 공격을 당했습니다.
결론적으로, 비트코인의 탈중앙성과 작업증명 보안성은 더블스펜드 방지에 매우 효과적입니다. 2025년 10월 기준, 비트코인은 압도적 시가총액과 채굴력을 바탕으로 더블스펜딩에 거의 무적입니다. 공격 비용이 얻을 수 있는 잠재 수익보다 훨씬 크며, 채굴자들은 네트워크 신뢰를 지키는 편이 훨씬 이득입니다.
결론
비트코인은 탈중앙 방식으로 더블스펜딩 문제를 최초로 해결한 디지털 화폐입니다. 작업증명(PoW)으로 보안이 강화된 블록체인은 각 블록이 이전 블록과 연결되어 있어, 공격자가 조작하려면 거대한 연산 비용이 들도록 설계되어 있습니다. 높은 해시파워와 분산성 덕분에 비트코인은 가장 안전한 암호화폐로, 2025년엔 네트워크 해시레이트가 사상 최고치를 기록했습니다.
비트코인은 이론적으로 공격 받을 가능성이 있지만, 실제로는 경제적 인센티브와 게임이론이 공격을 효율적으로 억지합니다. 정직한 채굴자들은 수십억 달러의 수익을 얻는 데 반해, 공격자는 이를 탈취할 비용이 훨씬 많이 들고, 자칫 비트코인 가치 붕괴까지 초래할 수 있습니다. 사용자들은 여러 번의 컨펌을 기다림으로써 더블스펜딩 위험을 줄일 수 있으며, 6번 컨펌 관행은 대부분의 사용 사례에서 안전을 보장합니다.
간혹 일시적 분기(포크)가 발생해도 비트코인의 합의 프로토콜이 신속히 문제를 해소하고, 단일 진실 소스(단일 체인)를 유지합니다. 이런 복원력 덕분에 비트코인은 전 세계적으로 신뢰받는 가치 이동 수단이 되었습니다. 네트워크 보안성 증대와 커뮤니티의 지속적 감시 속에, 비트코인은 앞으로도 더블스펜딩에서 자유로운, 디지털 화폐의 난제를 해결한 대표 사례로 남을 것입니다.




