비트코인 블록체인 원리, 거래가 기록되고 검증되는 방식
📋 목차
비트코인 거래는 지갑에서 전자서명으로 만들어지고, 전 세계 노드의 검증을 통과한 뒤 멤풀에서 대기하다가 채굴된 블록에 담깁니다. 블록에 들어간 다음에도 뒤에 블록이 쌓일수록 되돌릴 확률이 떨어지는 구조예요.
거래소에서 출금 버튼을 눌렀는데 "대기 중"만 몇십 분 떠 있으면 답답하죠. 어디서 멈춘 건지, 취소는 되는지, 수수료를 더 내면 빨라지는지 궁금해집니다. 이 질문들은 전부 하나의 원리에서 갈라져 나옵니다.
"블록체인은 분산 원장이다"라는 설명만 읽고 나면 오히려 더 헷갈립니다. 정작 필요한 건 내 거래가 지금 어느 단계에 있고, 무엇이 검증되고 있으며, 언제부터 안전하다고 봐도 되는지거든요. 아래 순서는 그 흐름을 실제 데이터와 함께 따라갑니다. 2026년 8월 12일 기준으로 블록 높이는 962,156번까지 쌓여 있고, 이 글에 등장하는 수치는 같은 날 공개 데이터에서 확인한 값입니다.
![]() |
| 지갑에서 만든 비트코인 거래가 서명, 노드 전파, 멤풀 대기, 블록 포함 순서로 이동하는 흐름도 |
비트코인 장부에 실제로 저장되는 것
비트코인 네트워크에는 "누가 몇 개를 가지고 있다"는 잔액 항목이 없습니다. 저장되는 건 거래 기록과 그 결과로 남은 출력값뿐이에요. 이 출력값 중 아직 쓰이지 않은 것을 UTXO(Unspent Transaction Output, 소비되지 않은 거래 출력)라고 부릅니다.
지갑 앱에 뜨는 0.05 BTC 같은 숫자는 계좌 잔고가 아니라, 내 키로 쓸 수 있는 UTXO를 지갑이 합산해서 보여준 값입니다. 현금 지갑에 만원권 3장과 천원권 5장이 들어 있는 상태와 비슷합니다. 3만 5천 원이라는 항목이 따로 적혀 있는 게 아니라 지폐를 세는 거죠.
그래서 송금은 잔액을 깎는 게 아니라 지폐를 내고 거스름돈을 돌려받는 방식으로 처리됩니다. 0.03 BTC를 보내려고 0.05 BTC짜리 UTXO를 쓰면, 출력은 상대방 몫 0.03과 내게 돌아오는 거스름돈 두 개로 쪼개집니다. 남는 차액은 채굴 수수료로 넘어갑니다.
한 번 쓰인 UTXO는 영구히 소멸 표시가 됩니다. 이중지불을 막는 핵심 장치가 여기예요. 같은 UTXO를 두 번 쓰려는 거래는 검증 단계에서 바로 걸립니다.
블록 하나는 80바이트 크기의 블록 헤더와 거래 목록으로 나뉩니다. 헤더에는 버전, 이전 블록 해시, 머클루트, 타임스탬프, 난이도 목표값, 논스가 들어갑니다. 거래 전체를 하나의 해시값으로 압축한 게 머클루트라서, 거래 한 건만 바뀌어도 머클루트가 달라지고 헤더 해시가 무너집니다.
거래 생성과 전자서명이 만들어지는 지점
거래를 만든다는 건 문서를 작성하는 일에 가깝습니다. 어떤 UTXO를 쓸지(입력), 누구에게 얼마를 보낼지(출력)를 적고, 그 내용에 개인키로 서명을 붙입니다. 서명 대상은 거래 내용 자체라서, 금액이나 주소를 한 글자라도 고치면 서명이 무효가 됩니다.
여기서 개인키는 네트워크로 나가지 않습니다. 밖으로 전송되는 건 서명값과 공개키뿐이에요. 검증하는 노드는 공개키로 서명이 맞는지 계산만 하고, 개인키를 알 필요가 없습니다. 비대칭 암호(공개키와 개인키가 짝을 이루는 방식)의 성질을 그대로 쓰는 구조입니다.
주소는 공개키에서 파생된 문자열이고, 체크섬이 붙어 있습니다. 그래서 오타가 난 주소는 대부분 지갑 단계에서 "올바르지 않은 주소"로 막힙니다. 문제는 오타가 우연히 유효한 다른 주소가 되는 경우인데, 이때는 되돌릴 방법이 없습니다.
서명이 끝난 거래는 연결된 노드로 뿌려집니다. 전파는 몇 초 단위로 퍼지지만, 이 시점에서 확정된 건 아무것도 없어요. 노드들의 검증을 통과했다는 뜻일 뿐입니다.
노드가 거래를 걸러내는 검증 순서
노드는 받은 거래를 규칙 목록에 대조합니다. 형식이 규격에 맞는지, 입력으로 지정한 UTXO가 실제로 존재하며 아직 쓰이지 않았는지, 서명이 그 UTXO의 잠금 조건을 푸는지, 입력 합계가 출력 합계보다 크거나 같은지를 차례로 계산해요.
입력이 출력보다 커야 한다는 조건이 낯설 수 있습니다. 차액이 곧 수수료거든요. 출력이 입력보다 크면 없는 코인을 만들어내는 거래라서 즉시 거부됩니다.
검증을 통과한 거래는 각 노드의 멤풀(mempool, 미확인 거래 대기 공간)에 들어갑니다. 멤풀은 노드마다 따로 관리되는 임시 목록이고, 블록체인에 기록된 상태가 아닙니다. 블록 탐색기에서 "Unconfirmed"로 보이는 구간이 여기입니다.
채굴자는 멤풀에서 거래를 골라 블록 후보를 만듭니다. 선택 기준은 대체로 vByte당 수수료가 높은 순서예요. 수수료가 낮으면 뒤로 밀리고, 네트워크가 붐비면 며칠씩 대기하거나 노드 정책에 따라 멤풀에서 사라질 수도 있습니다.
₿ 비트코인은 왜 만들어졌고, 어떤 원리로 움직이는 걸까요?
처음 접하는 분도 흐름을 놓치지 않도록 핵심 개념부터 쉽게 정리해봤어요.
작업증명과 난이도 조정이 돌아가는 방식
채굴은 수학 문제를 푸는 일이라기보다 복권을 계속 긁는 일에 가깝습니다. 블록 헤더의 논스(nonce) 값을 바꿔가며 해시를 계산하고, 그 결과가 목표값보다 작아지는 순간 블록이 완성됩니다. 지름길이 없으니 성공 확률은 투입한 계산량에 비례합니다.
평균 10분이라는 간격은 저절로 생긴 게 아니라 규칙으로 붙잡아 둔 값입니다. 프로토콜은 2,016블록마다 그 구간이 걸린 실제 시간을 재서 난이도를 다시 맞춥니다. 2,016블록이 14일보다 빨리 나오면 난이도가 올라가고, 늦게 나오면 내려갑니다.
📊 실제 데이터
2026년 8월 12일 확인 기준으로 난이도는 약 127.48조, 네트워크 해시레이트는 약 888 EH/s 수준입니다. 같은 시점 다음 난이도 조정 예정 지점은 963,648번 블록이고 변동 예상치는 약 -3.9%인데, 최근 블록이 평균 10.4분 간격으로 나오면서 난이도가 조금 낮아지는 방향으로 계산되고 있습니다. 이 수치는 매 조정 주기마다 바뀌므로 실제 확인 시점의 값을 다시 보는 편이 정확합니다.
블록을 찾은 채굴자는 코인베이스 거래로 보상을 챕깁니다. 신규 발행분(블록 보조금)과 그 블록에 담긴 수수료 합계가 보상이에요. 2024년 4월 반감기 이후 보조금은 3.125 BTC이고, 다음 반감기는 1,050,000번 블록에서 1.5625 BTC로 줄어들 것으로 예상됩니다. 시점은 2028년 4월 무렵으로 추정되지만 블록 생성 속도에 따라 앞뒤로 움직입니다.
참고로 962,156번 블록의 보상은 3.125 BTC에 수수료 약 0.0221 BTC가 더해진 값이었습니다. 수수료 비중이 전체 보상의 1%도 안 되는 셈인데, 네트워크가 한가한 구간에서는 이렇게 벌어집니다. 혼잡기에는 이 비율이 훨씬 올라갑니다.
컨펌 숫자가 뜻하는 확정 정도
블록에 담긴 순간이 컨펌 1회입니다. 그런데 왜 6번을 기다리라고 할까요. 거의 동시에 두 채굴자가 블록을 찾으면 체인이 잠깐 갈라지고, 이후 더 긴 쪽이 살아남으면서 짧은 쪽 블록의 거래는 멤풀로 되돌아갑니다. 이걸 체인 재구성(reorg)이라고 부릅니다.
뒤에 블록이 하나씩 쌓일 때마다 그 블록까지 다시 뒤집으려면 필요한 계산량이 기하급수로 늘어납니다. 6블록쯤 되면 현실적으로 되돌리기가 사실상 불가능한 영역으로 들어가고, 그래서 관행적 기준이 됐습니다. 규칙으로 정해진 숫자는 아니에요.
| 상태 | 의미 | 뒤집힐 여지 |
|---|---|---|
| 멤풀 대기 | 검증 통과, 블록 미포함 | 지연·소멸 가능 |
| 1컨펌 | 블록 1개에 기록됨 | 재구성 시 복귀 가능 |
| 3컨펌 | 뒤에 블록 2개 추가 | 소액에선 매우 낮음 |
| 6컨펌 | 약 1시간 경과 | 실무상 확정 취급 |
표에서 눈여겨볼 지점은 "확정"이 단계가 아니라 확률이라는 사실입니다. 비트코인에는 은행 이체처럼 완료 도장이 찍히는 순간이 없고, 되돌릴 비용이 계속 커지는 방식으로 안전해집니다. 거래소나 결제 업체가 요구하는 컨펌 수가 서로 다른 이유도 각자 감당할 위험 수준이 달라서예요.
⚠️ 주의
블록에 기록된 거래는 취소 요청이라는 개념이 없습니다. 잘못된 주소로 보냈든 금액을 한 자리 더 붙였든, 받은 쪽이 자발적으로 돌려주지 않으면 회수 수단이 없어요. 국내에서는 2024년 7월 19일부터 가상자산이용자보호법이 시행돼 사업자의 자산 보관과 불공정거래에 대한 규제가 생겼지만, 이 법도 개인의 송금 실수를 되돌려 주지는 않습니다. 큰 금액은 소액 테스트 송금으로 주소를 먼저 확인하는 방법이 있습니다.
수수료가 결정되는 계산 구조
비트코인 수수료는 금액 비례가 아닙니다. 1 BTC를 보내도 0.001 BTC를 보내도, 거래가 블록에서 차지하는 데이터 크기에 따라 값이 정해집니다. 그래서 단위가 원이나 퍼센트가 아니라 sat/vB(가상 바이트당 사토시)예요.
블록 용량은 세그윗 도입 이후 4,000,000 웨이트 유닛으로 관리됩니다. 실제 데이터로 보면 962,156번 블록은 크기 약 1.59MB, 웨이트 3,997,664 WU로 한도를 거의 꽉 채운 상태에서 거래 4,513건을 담았습니다. 블록 하나에 들어갈 자리가 정해져 있으니 경매처럼 값이 움직입니다.
계산 예시를 들면 감이 옵니다. 입력 1개·출력 2개인 일반 세그윗 송금은 대략 140vB 안팎인데, 여기에 2 sat/vB를 적용하면 수수료는 약 280사토시입니다. 같은 거래에 50 sat/vB를 붙이면 7,000사토시로 뛰죠. 혼잡도가 곧 비용입니다.
💡 꿀팁
지갑이 제안하는 수수료를 그대로 받기 전에 블록 탐색기의 권장 수수료 지표를 한 번 보면 과납을 줄일 수 있습니다. 2026년 8월 12일 확인 기준 권장값은 1~2 sat/vB 구간이었는데, 이런 한가한 구간에 급행 수수료를 붙이면 그냥 더 내는 셈이 됩니다. 반대로 급등기에 최저값을 넣으면 며칠 묶일 수 있어요. 수수료 시장은 시간대별로 바뀌므로 송금 직전 값이 기준입니다.
UTXO 개수도 비용에 영향을 줍니다. 잔돈처럼 작은 UTXO가 여러 개면 입력을 많이 넣어야 하고, 입력이 늘면 거래 크기가 커져 수수료가 올라갑니다. 소액 입금을 자주 받는 지갑이 유독 수수료가 비싸게 나오는 이유입니다.
잘못 알려진 내용과 직접 확인하는 방법
첫 번째 오해는 지갑 안에 코인이 들어 있다는 생각입니다. 지갑에는 키만 있고, 코인에 해당하는 기록은 블록체인 쪽에 있습니다. 그래서 기기를 잃어도 시드 구문이 있으면 복구되고, 반대로 시드를 잃으면 기기가 멀쩡해도 복구가 안 됩니다.
두 번째는 익명이라는 오해예요. 비트코인은 익명이 아니라 가명입니다. 모든 거래가 공개 장부에 남아 누구나 추적할 수 있고, 주소 하나가 신원과 연결되는 순간 그 주소의 과거 기록이 함께 드러납니다.
세 번째는 51% 계산력을 확보하면 남의 코인을 가져갈 수 있다는 얘기입니다. 계산력이 많으면 자기 거래를 되돌리거나 특정 거래를 배제하는 정도가 가능한데, 서명 없이 다른 사람의 UTXO를 옮기는 건 별개 문제입니다. 서명 위조는 계산력으로 풀리는 영역이 아니에요.
직접 확인해 보는 게 이해가 가장 빠릅니다. 블록 탐색기에서 거래 ID(TXID)를 넣으면 입력·출력 목록, 수수료율, 컨펌 수, 포함된 블록 높이가 한 화면에 나옵니다. 컨펌이 0이면 아직 멤풀 단계, 블록 높이가 붙어 있으면 기록이 끝난 상태로 읽으면 됩니다. 여기서 수수료율이 현재 권장값보다 낮은지 비교하면 왜 밀리는지도 보입니다.
한 단계 더 들어가면 직접 풀노드를 돌려 스스로 검증하는 방법도 있습니다. 다만 전체 블록 데이터를 내려받아야 하니 저장 공간과 대역폭 부담이 따르고, 일반 사용자에게는 탐색기 확인만으로도 대부분 해결됩니다. 그리고 원리 이해와 투자 판단은 별개 영역이라, 자산 배분이나 세금 문제는 금융·세무 전문가 상담을 권장합니다.
자주 묻는 질문
Q. 멤풀에서 거래가 사라졌는데 코인이 없어진 건가요?
아닙니다. 블록에 기록되지 않은 거래는 성립하지 않은 상태라서 코인은 여전히 보내는 쪽 주소에 남아 있습니다. 노드들이 오래된 미확인 거래를 정리하면 지갑에서 목록이 사라지는데, 이때는 수수료를 다시 책정해 새로 전송하면 됩니다.
Q. 수수료를 낮게 넣은 거래를 취소할 수 있나요?
조건이 맞으면 대체 전송이 가능합니다. 거래에 RBF(수수료 대체) 옵션이 켜져 있고 아직 컨펌이 0이면 수수료를 올린 거래로 교체할 수 있고, 받는 쪽이라면 CPFP 방식으로 뒤 거래에 높은 수수료를 붙여 끌어올리는 방법이 있습니다. 이미 블록에 들어갔다면 어느 쪽도 불가능합니다.
Q. 블록에 기록됐는데 거래소 잔고에 안 들어오는 이유는 뭔가요?
거래소마다 요구하는 컨펌 수가 달라서 대기 중일 가능성이 큽니다. 1컨펌에 입금 처리하는 곳도 있고 3~6컨펌을 기다리는 곳도 있습니다. 컨펌 수가 충분한데도 반영되지 않으면 네트워크를 잘못 선택했거나 입금 주소가 해당 자산용이 아닌 경우가 있어 거래소 고객센터 확인이 필요합니다.
Q. 주소를 잘못 입력하면 어떻게 되나요?
형식이 깨진 주소는 체크섬 검사에서 걸려 전송 자체가 되지 않습니다. 문제는 오타가 우연히 유효한 다른 주소가 된 경우인데, 이때는 거래가 정상 처리되고 회수 수단이 없습니다. 주소 앞뒤 몇 자리를 눈으로 대조하고 소액부터 보내는 방식이 실수를 줄여 줍니다.
Q. 반감기가 지나면 채굴자가 떠나서 네트워크가 멈추지 않나요?
난이도 조정이 완충 장치 역할을 합니다. 채굴자가 이탈해 계산력이 줄면 2,016블록 뒤 난이도가 내려가 남은 채굴자들의 채산성이 회복되는 구조입니다. 실제로 2024년 4월 반감기 이후에도 네트워크는 계속 블록을 생성해 왔고, 2026년 8월 기준 해시레이트는 역사적으로 높은 수준에 있습니다.
자료 확인 기준 — 블록 높이·난이도·해시레이트·수수료 지표는 mempool.space 공개 데이터에서 2026년 8월 12일 확인, 블록 구조와 코인베이스 보상 규칙은 Bitcoin 개발자 문서, 국내 제도는 금융위원회 가상자산이용자보호법 시행 보도자료(2024년 7월 18일 배포) 기준입니다.
👉 함께 읽으면 좋은 글: 비트코인 P2P 네트워크 구조: 중앙 서버 없이 거래되는 원리
👉 함께 읽으면 좋은 글: 비트코인 메인넷과 사이드체인 차이: 확장 방식 비교
👉 함께 읽으면 좋은 글: 비트코인 거래 속도와 확장성 문제는 왜 생길까
👉 함께 읽으면 좋은 글: 비트코인 세그윗 SegWit은 무엇이고 왜 필요한가
본 포스팅은 공개 자료를 바탕으로 작성되었으며, 전문적인 의료·법률·재무 조언을 대체하지 않습니다. 정확한 정보는 해당 분야 전문가 또는 공식 기관에 확인하시기 바랍니다. 본 글의 내용은 정보 제공 목적이며, 개인 상황에 따라 결과가 다를 수 있습니다. 가상자산 관련 수치와 제도는 변경될 수 있으므로 실제 거래 전 공식 페이지에서 다시 확인하는 편이 안전하며, 투자 판단은 반드시 전문가와 상담 후 결정하시기 바랍니다.
비트코인의 기록과 검증은 서명으로 소유를 증명하고, 노드 규칙으로 이중지불을 걸러내고, 작업증명으로 순서를 굳히는 세 겹의 구조로 굴러갑니다. 컨펌은 완료 도장이 아니라 되돌리기 비용이 커지는 과정이라는 점만 잡아 두면 대기 시간도 수수료도 납득이 됩니다.
거래소 입금이 늦어 답답한 상황이라면 먼저 거래 ID로 컨펌 수와 수수료율을 확인해 보면 원인이 대체로 드러납니다. 처음 송금을 준비하는 쪽이라면 주소 대조와 소액 테스트가 가장 값싼 보험이고, 원리를 더 파고들 계획이라면 블록 헤더 필드부터 하나씩 열어 보는 순서가 이해에 도움이 됩니다.
가장 헷갈렸던 단계가 어디였는지 댓글로 남겨 주시면 그 부분을 더 자세히 다뤄 보겠습니다. 주변에 송금 대기로 고민하는 분이 있다면 이 글을 공유해 주세요.

댓글
댓글 쓰기