불변성(immutability)은 블록체인 네트워크의 속성으로, 블록에 보관되는 거래 기록인 원장(ledger)이 사후에 변경하기 매우 어렵도록 설계되어 있다는 것을 의미합니다. 이 글에서 검열 저항성(censorship resistance)은 이와 관련은 있지만 별개의 속성으로, 유효한 거래가 블록에 포함되기 위해 어떤 단일 주체의 승인도 필요하지 않도록 네트워크가 설계되어 있다는 것을 뜻합니다.
블록체인 불변성은 어떻게 작동하는가?
블록체인의 불변성은 절대적인 사실이 아니라 정도의 문제입니다. ‘불변(immutable)’이라는 단어는 ‘변경할 수 없다’는 뜻이지만, 사람들이 ‘불변의 원장’ 또는 ‘불변의 블록체인’이라고 말할 때는 “변경하기 매우 어렵도록 설계되었다”는 의미로 줄여서 쓰는 것입니다. 한 표준화 기구는 블록체인을 “변조가 드러나고 변조에 저항하는(tamper-evident and tamper-resistant)” 디지털 원장이라고 설명하는데, 이는 같은 의미를 좀 더 정확하게 표현한 것입니다.
비트코인에서 블록체인 불변성은 우선 해시 연결(hash link)에 의존합니다. 해시(hash)는 함수가 데이터로부터 계산해내는 고정된 크기의 숫자입니다. 각 블록 헤더(블록 상단에 있는 데이터 필드)는 이전 블록 헤더의 해시값을 저장합니다.
비트코인에서 어떤 블록이 변경되면 그 사실이 드러나도록 설계되어 있습니다. 해당 블록의 해시값이 바뀌면서 다음 블록에 저장된 사본과 더 이상 일치하지 않게 되고, 이 불일치는 그 이후의 모든 블록으로 이어집니다. 이로써 원장은 ‘변조가 드러나는(tamper-evident)’ 상태가 되는데, 이는 변경 사실이 눈에 보이게 된다는 의미일 뿐 변경 자체를 막지는 못합니다.
아래 표는 비트코인 블록 데이터가 아니라 일반 텍스트를 이용한 예시입니다. 표준화된 해시 함수인 SHA-256을 단 한 글자만 다른 두 개의 입력값에 대해 실행한 결과입니다.
해시값이 abc에 해당하는 값에서 abd에 해당하는 값으로 바뀐 블록은 다음 블록에 저장된 해시값과 더 이상 일치하지 않게 됩니다. 바로 이 불일치가 변경을 눈에 띄게 만드는 요소입니다.
비트코인에서 작업증명(proof of work, PoW)은 이러한 해시 연결에 비용 요소를 더합니다. 작업증명이란 블록 헤더의 해시값을 숫자로 읽었을 때, 네트워크 규칙이 정한 한계값인 목표값(target) 이하일 때에만 블록이 유효하다고 인정하는 규칙입니다. 과거 블록을 변경하려면 그 블록뿐 아니라 그 이후의 모든 블록에 대한 작업을 다시 수행해야 하며, 블록이 추가될수록 한 블록을 바꾸는 데 필요한 작업량은 계속 늘어납니다. 작업증명은 과거 기록을 다시 쓰는 일을 불가능하게 만드는 것이 아니라, 비용이 많이 들도록 설계된 장치입니다.
비트코인에서 불변성은 또한 규칙을 직접 검증하는 노드에도 의존합니다. 노드(node)는 비트코인 네트워크에 연결된 컴퓨터입니다. 풀 노드(full node)는 각 블록을 네트워크 전체에 적용되는 합의 규칙(consensus rules), 즉 블록이나 거래의 유효성을 판단하는 규칙에 따라 스스로 검증하는 노드입니다. 풀 노드는 자신이 직접 검증한 블록들로만 이루어진 체인을 보관하므로, 규칙을 어긴 블록은 설령 그 뒤에 많은 작업량이 쌓여 있더라도 거부되도록 설계되어 있습니다.
검열 저항성은 어떻게 작동하는가?
이 글에서 검열 저항성이란, 유효한 거래가 블록에 포함되기 위해 어떤 단일 주체의 승인도 필요하지 않도록 네트워크가 설계되어 있다는 것을 의미하며, 이러한 설계를 가진 네트워크를 ‘검열 저항적’이라고 부릅니다. 거래 검열(transaction censorship)은 그 반대의 경우로, 유효한 거래가 블록에서 배제되는 것을 말합니다.
탈중앙화(decentralization)는 검열 저항적 설계의 밑바탕이 되는 개념으로, 통제와 검증 권한이 하나의 중앙 권위에 집중되지 않고 다수의 참여자에게 분산되어 있다는 것을 뜻합니다. 비트코인에서는 각 풀 노드가 합의 규칙에 따라 스스로 블록을 검증하므로, 검증 작업이 하나의 중앙 주체가 아니라 다수의 노드에 의해 이루어집니다.
비트코인에서 검열 저항성은 우선 개방형 P2P(peer-to-peer) 네트워크에 의존합니다. P2P란 참여자들이 하나의 중앙 서버를 거치지 않고 서로 직접 연결된다는 뜻입니다. 허가가 필요 없는(permissionless) 시스템이란 모든 사용자의 권한이 동등하며 어떤 관리자나 협의체도 그 권한을 정하지 않는 시스템을 말하며, 비트코인은 누가 참여할지 결정하는 관리자나 협의체가 없도록 설계되어 있습니다.
비트코인에서 검열 저항성은 또한 동일한 규칙에 따라 거래를 중계하고 검증하는 노드들에도 의존합니다. 노드는 유효한 거래를 자신이 연결된 다른 노드들, 즉 피어(peer)에게 전달합니다. 각 노드는 아직 블록에 포함되지 않은 거래들을 담아두는 자신만의 대기 공간인 멤풀(mempool)에, 자신이 받아들인 미확인 거래들을 보관합니다.
비트코인에서 검열 저항성은 또한 각자 자신의 블록에 어떤 유효한 거래를 담을지 선택하는 채굴 운영자(mining operator)에도 의존합니다. 채굴 운영자란 비트코인을 채굴하는 하드웨어 장비인 비트코인 채굴기를 운영하여 블록체인에 블록을 추가하는 개인 또는 회사로, 합의 규칙상 유효한 거래라면 어떤 것이든 포함시킬 수 있습니다. 프로토콜 수준에서 거래 수수료는 그 거래를 블록에 포함시킨 채굴 운영자에게 돌아갑니다.
비트코인에서는 한 채굴 운영자가 제외한 거래라도, 그 거래가 대체되었거나 이미 확정된 거래와 충돌하지 않는 한, 다른 운영자가 이후 블록에 포함시킬 수 있습니다. 해시레이트(hashrate, 비트코인 채굴기들이 계산해내는 초당 해시 수의 총합) 대부분을 보유한 주체는 자신이 채굴하는 블록에서 유효한 거래가 확정되지 못하게 막을 수 있지만, 그 거래 자체는 여전히 전송될 수 있고 미확인 상태로 표시됩니다.
블록체인은 정말 불변한가? 두 속성의 한계
블록체인의 불변성은 정도의 문제입니다. 비트코인에서 기록된 역사는 변경하기 매우 어렵도록 설계되어 있을 뿐, 절대 변경이 불가능한 것은 아닙니다.
비트코인에서 불변성은 누가 해시레이트를 장악하고 있는지에 따라 달라집니다. 해시레이트란 비트코인 채굴기들이 계산해내는 초당 해시 수의 총합입니다. 해시레이트의 대부분을 보유한 주체는 경쟁 체인을 구축함으로써 최근의 역사를 다시 쓸 수 있으며, 자신의 최근 결제 거래를 되돌릴 수도 있습니다.
재조직(reorganization, 흔히 ‘리오그(reorg)’로 줄여 부름)은 노드가 더 많은 작업량을 가진 경쟁 체인으로 전환할 때 발생하며, 이때 버려진 블록들은 더 이상 그 노드의 최선 체인에 속하지 않는 ‘스테일(stale)’ 블록이 됩니다. 비트코인에서는 확인(confirmation) 수, 즉 한 거래 위에 쌓인 블록 수가 많을수록 되돌리기가 어려워지지만, 어떤 확인 수로도 되돌릴 가능성을 완전히 없앨 수는 없습니다. 51% 공격과 이중지불에 관한 항목에서 그 메커니즘을 다루고 있습니다.
비트코인에서 불변성은 규칙이 그대로 유지되는지에도 좌우됩니다. 소프트포크(soft fork)는 합의 규칙을 더 엄격하게 만드는 것으로, 이전에는 유효했던 블록이 무효가 될 수 있습니다. 업그레이드하지 않은 노드는 해시레이트 대부분이 새 규칙을 강제하는 한, 스스로 그 규칙을 적용하지 않으면서도 동일한 블록을 계속 받아들입니다. 하드포크(hard fork)는 업그레이드하지 않은 노드가 새 규칙에 따라 만들어진 블록을 검증할 수 없게 되는 변경으로, 체인이 둘로 나뉠 수 있습니다.
비트코인에서 불변성은 또한 각 노드가 실행하는 소프트웨어에도 좌우됩니다. 모든 블록을 스스로 검증하는 노드인 풀 노드는 블록을 합의 규칙에 따라 검증하며, 운영자는 특정 블록을 거부하도록 자신의 소프트웨어를 설정할 수 있습니다.
비트코인에서 검열 저항성은 누가 거래를 선택하느냐에 좌우됩니다. 마이닝 풀(mining pool)은 다수의 비트코인 채굴기의 해시레이트를 결합하는 서비스이며, 채굴 운영자나 풀은 자신의 블록에 어떤 거래를 담을지 선택합니다. Stratum V1은 비트코인 채굴기와 풀이 작업을 주고받을 때 사용하는 합의된 메시지 체계, 즉 프로토콜의 이전 버전으로, 이 방식에서는 풀이 블록에 담길 거래를 결정합니다. Stratum V2의 작업 선언(job declaration) 기능은 누가 거래를 선택하는지를 바꿀 수 있는 설계 중 하나입니다. 2026년 10월 기준으로 해당 규격은 비트코인 채굴기나 그 소프트웨어가 블록 템플릿, 즉 다음 블록에 제안되는 거래 목록을 직접 구성하여 풀에 선언할 수 있는 방식을 설명하고 있으며, 풀은 이를 거부할 수 있습니다. 실제 지원 여부는 풀과 비트코인 채굴기에 내장된 소프트웨어에 따라 달라집니다.
비트코인에서 검열 저항성은 또한 각 노드가 거래를 어떻게 다루는지에도 좌우됩니다. 노드의 중계 정책(relay policy)은 해당 노드만 적용하는 추가 규칙으로, 로컬에서 설정 가능합니다. 따라서 노드는 합의 규칙상 유효한 거래라도 거부할 수 있으며, 더스트(dust)가 그 예입니다. 더스트란 거래가 수신자에게 할당하는 비트코인(BTC) 수량, 즉 출력값(output)이 너무 작아서 이를 사용하는 데 드는 수수료가 그 가치보다 더 큰 경우를 말합니다.
각 속성은 무엇에 의존하며, 무엇이 그 한계가 되는가?
불변성과 검열 저항성이 의미하지 않는 것
불변성은 거래가 합법적이라는 것을 의미하지 않으며, 누구도 거래를 되돌릴 수 없다는 약속도 아닙니다. 아직 확인되지 않은 거래는 여전히 대체되거나 폐기될 수 있습니다.
불변성은 네트워크가 공격당할 수 없다는 뜻도, 그 위의 모든 기록이 진실이라는 뜻도 아닙니다. 해시 연결은 데이터가 변경되었다는 사실을 보여줄 뿐, 누가 변경했는지는 보여주지 않습니다. 작성자를 밝히는 것은 디지털 서명(digital signature), 즉 키 보유자가 거래를 승인했음을 증명하는 암호학적 증거의 역할이기 때문입니다. 51% 공격, 즉 해시레이트 대부분을 보유한 주체가 네트워크가 따르는 체인을 바꾸려는 시도는 지갑이나 디지털 서명이 뚫리는 것과는 전혀 다른 사건이며, 노드들이 강제하는 규칙은 그런 주체가 할 수 있는 일을 제한하도록 설계되어 있습니다.
불변성이나 검열 저항성 모두 어떤 네트워크의 미래를 보장하는 약속은 아닙니다. 이 글은 2026년 10월 기준 비트코인의 설계를 설명한 것입니다.
2025년 11월 27일











