비트코인 수수료 계산법: sat/vB, 멤풀, 수수료 올리기
비트코인 거래 크기와 sat/vB, 멤풀 수요, 수수료 추정, RBF·CPFP가 온체인 전송 비용과 확인 가능성에 미치는 영향을 살펴봅니다.
이 글에서 다루는 내용수수료는 비트코인 블록의 공간에 대한 비용입니다
짧은 요약
비트코인 거래 수수료는 보통 거래의 가상 크기와 수수료율로 계산합니다. 사토시 단위 수수료 = 가상 바이트(vB) × vB당 사토시(sat/vB)입니다. 보내는 BTC 금액 자체가 수수료의 기준은 아닙니다. 수수료 추정치는 계속 바뀌는 네트워크 상황을 반영할 뿐, 확인 시간을 보장하지 않습니다.
수수료는 비트코인 블록의 공간에 대한 비용입니다
비트코인 거래는 하나 이상의 미사용 거래 출력(UTXO)을 소비하고 새 출력을 만듭니다. 거래 입력의 총액에서 출력의 총액을 뺀 차이가 거래 수수료입니다. 거래를 포함하는 블록을 만든 채굴자가 수수료를 받습니다. 프로토콜이 전송 금액에서 일정 비율을 떼는 구조도 아니고, 지갑 업체가 받는 서비스 요금과 같은 것도 아닙니다.
거래들은 제한된 블록 공간을 두고 경쟁합니다. 채굴자는 블록 후보를 만들 때 거래가 제시한 수수료와 거래 사이의 의존 관계를 고려할 수 있습니다. 다른 조건이 비슷하다면 수수료율이 높은 거래가 더 매력적으로 보일 수 있지만, 그렇다고 다음 블록의 자리를 예약하는 것은 아닙니다. 실제 포함 여부는 수수료 시장, 거래 간 의존성, 채굴자의 선택, 관련 노드에 거래가 전달됐는지에 따라 달라집니다.
이 글은 비트코인 네트워크를 이용한 온체인 비트코인 거래를 다룹니다. 거래소 출금에는 거래소가 정한 별도 요금이 들어갈 수 있고, 라이트닝 결제는 다른 거래 경로와 수수료 구조를 사용합니다. 지갑 화면 하나에 여러 비용 항목이 합쳐져 보일 수 있으니, 표시된 금액이 네트워크 수수료인지 서비스 요금인지 또는 둘 다인지 먼저 구분하세요. Bitcoin.org의 수수료 안내는 거래 크기, sat/vB, 블록 공간 수요의 관계를 설명합니다.
총 수수료와 수수료율은 서로 다른 정보를 줍니다
총 수수료는 거래에 지불되는 사토시 수입니다. 수수료율은 가상 바이트당 사토시를 뜻하며 sat/vB로 표시합니다. 총 수수료를 거래의 가상 크기로 나누면 수수료율을 구할 수 있습니다. 반대로 가상 크기에 선택한 수수료율을 곱하면 예상 총 수수료가 됩니다. 크기가 다른 거래는 같은 수수료율을 적용해도 총액이 달라지므로, 많은 지갑이 사용자가 수수료율을 선택하거나 확인하도록 합니다.
가상의 거래가 140 vB이고 25 sat/vB를 적용한다고 해보겠습니다. 수수료는 140 × 25 = 3,500 sat입니다. 1 BTC가 100,000,000 sat이므로 3,500 sat는 0.000035 BTC입니다. 같은 크기의 거래에 40 sat/vB를 적용하면 수수료는 5,600 sat, 즉 0.000056 BTC가 됩니다. 이 수치는 계산법을 보여주는 가정이며 현재 수수료 추정치나 권장 요율이 아닙니다.
수수료율은 송금액 대비 수수료 비율이 아닙니다. 가상 크기와 수수료율이 같으면 전송하는 BTC 금액이 서로 다른 두 거래라도 수수료는 같을 수 있습니다. 작은 금액을 보내는 거래라도 입력 데이터가 더 많거나 수수료율이 높으면 더 큰 거래보다 수수료가 비쌀 수 있습니다. 거스름돈(change) 출력도 영향을 줍니다. 입력 총액이 송금액보다 크면 차액을 보내는 사람에게 다시 돌려주는 출력을 추가할 수 있는데, 이 출력도 거래 공간을 차지합니다.
가상 크기는 거래가 차지하는 블록 공간을 반영합니다
비트코인 지갑은 모든 직렬화 바이트를 똑같이 세는 대신 가상 크기(vsize)를 사용해 수수료를 계산하는 경우가 많습니다. SegWit 거래 데이터에는 가중치가 붙습니다. BIP 141에 따르면 거래 가중치는 기본 크기에 3을 곱한 값과 전체 크기를 더해 계산합니다. 전체 크기에는 witness 데이터도 들어갑니다. 식으로 쓰면 거래 가중치 = 기본 크기 × 3 + 전체 크기이고, 가상 크기 = 거래 가중치 ÷ 4를 올림한 값입니다. witness 데이터에 서로 다른 가중치를 적용하는 공식이므로 원시 파일 크기와 같다고 보면 안 됩니다.
입력과 출력은 서로 다른 양의 데이터를 추가합니다. 입력은 과거 출력을 가리키고 그 출력의 사용 조건을 충족하는 데이터를 제공해야 합니다. 정확한 크기는 출력 유형과 서명 등을 포함한 해제 데이터에 따라 달라집니다. 출력은 값과 잠금 스크립트를 지정합니다. 따라서 여러 개의 작은 입력을 가진 거래는 송금 총액이 같더라도 입력 하나만 가진 거래보다 클 수 있습니다.
지갑이 여러 개의 작은 수신 출력을 모아 결제에 사용하면 입력 수가 특히 중요할 수 있습니다. 선택한 출력마다 거래가 소비해야 하고, 입력이 늘 때마다 데이터도 추가됩니다. 거스름돈 출력을 만들면 바이트가 더 필요합니다. 주소와 스크립트 유형에 따라 크기도 달라질 수 있으며 서명 길이에도 차이가 생길 수 있습니다. 따라서 “일반적인 거래”의 크기는 모든 비트코인 송금에 고정 적용되는 숫자가 아니라 한 가지 예에 불과합니다.
수신자를 추가하거나 사용할 코인을 선택하거나, 다른 유형의 거스름돈 주소를 선택하거나, 수수료율을 바꾸면 지갑의 추정치가 달라질 수 있습니다. 송금액만 확인해서는 충분하지 않은 이유입니다. 거래의 구성 요소가 가상 크기를 결정하고, 수수료율은 vB마다 지불할 사토시 수를 정합니다. BIP 141은 witness 데이터의 가중치를 반영하는 가상 크기 계산을 정의합니다.
멤풀은 미확인 거래를 추적하지만 전 세계가 공유하는 단일 대기열은 아닙니다
거래를 브로드캐스트하면 이를 전달받고 받아들인 노드의 메모리 풀, 즉 멤풀에 들어갈 수 있습니다. 멤풀은 각 노드가 보유한 미확인 거래의 집합이지 네트워크 전체가 동기화해 공유하는 하나의 대기열이 아닙니다. 노드마다 거래를 본 순서가 다를 수 있고, 릴레이 정책과 용량 한도가 다를 수도 있으며, 특정 거래를 아예 받지 못한 노드도 있을 수 있습니다.
채굴자는 합의 규칙과 각자의 선택 정책에 따라 알고 있는 거래 중 일부를 블록 후보에 넣습니다. 아직 확인되지 않은 다른 거래가 만든 출력을 소비하는 거래에는 의존 관계가 있습니다. 이때 채굴자는 각 거래를 독립적으로 보기보다 부모 거래와 자식 거래를 함께 평가할 수 있습니다. 그래서 제3자 사이트가 보여주는 간단한 “순위” 숫자는 불완전하거나 일시적일 수 있습니다.
더 많은 이용자가 블록 공간을 두고 경쟁하면 빠르게 포함될 가능성이 있는 수수료율이 오를 수 있습니다. 수요가 줄어들면 낮은 요율을 제시한 거래도 경쟁력이 생길 수 있습니다. 혼잡 정도와 지갑 또는 노드가 파악한 거래는 빠르게 변합니다. 한 블록 탐색기나 지갑의 멤풀 화면에 거래가 표시된다고 해서 모든 노드와 채굴자가 같은 상태를 보고 있다는 뜻은 아닙니다.
확인되지 않았다고 표시되는 거래는 아직 미확인 상태입니다. 그 표시만으로 거래가 유실되거나 무효가 됐다고 볼 수는 없습니다. 노드 정책과 멤풀 상황이 바뀌면 어떤 노드의 멤풀에서 거래가 보이지 않게 됐다가 다시 브로드캐스트되거나 받아들여질 수 있습니다. 지갑에서 계속 대기 중으로 보인다면 입력이 이미 다른 송금에 사용 가능하다고 단정하지 마세요. 다른 지출을 시도하기 전에 거래 상태와 지갑의 공식 안내를 확인하세요.

수수료 추정치는 목표이지 확인 보장이 아닙니다
지갑은 경제형·일반·우선 같은 옵션이나 목표 블록 수를 보여줄 수 있습니다. 이는 관측된 상황에서 경쟁력이 있을 법한 수수료율을 추정하는 표시입니다. Bitcoin Core의 수수료 추정 문서는 충분한 이력이 있을 때 목표 블록 수 안에 확인을 시작하도록 하는 대략적인 요율을 설명합니다. 최근 데이터가 부족하면 추정치를 제공하지 못할 수도 있습니다. 지갑이나 서비스마다 사용하는 데이터, 모델, 갱신 간격, 목표의 정의가 다를 수 있습니다.
“다음 블록” 목표는 거래가 반드시 다음 블록에 포함된다는 약속이 아닙니다. 거래가 전달되는 사이에 추정에 사용한 상황이 달라질 수 있고, 더 높은 수수료의 새 거래가 경쟁에 들어올 수 있습니다. 거래 간 의존성도 블록 선택에 영향을 줄 수 있습니다. 목표 블록 수는 추정치의 입력이지 채굴자와의 계약이 아닙니다.
수수료 견적이 언제 갱신됐는지, 지갑이 수수료율을 표시하는지 총액만 보여주는지 확인하세요. 급한 송금이 아니라면 낮은 요율로 기다리는 선택도 가능하지만, 확인까지 걸리는 시간은 불확실합니다. 시간에 민감한 거래라면 지갑의 추정치와 현재 수수료 정보를 비교하고, 상황이 바뀔 때 지갑이 어떤 기능을 제공하는지도 살펴보세요. “혹시 몰라서” 수수료를 올리면 비용만 커지고 특정 블록에 포함된다는 보장은 얻지 못할 수 있습니다.
추정기가 제시한 요율이 모든 노드가 릴레이를 위해 받아들이는 최소 요율을 결정하는 것도 아닙니다. 릴레이 정책, 멤풀 한도, 지갑 설정, 확인 예상치는 서로 관련은 있지만 다른 질문에 답합니다. Bitcoin Core의 멤풀 설계 문서는 거래 의존성이 선택과 교체 정책에 미치는 영향을 설명합니다. 한 소프트웨어 버전이나 한 노드의 정책을 네트워크 전체에 영구 적용되는 규칙으로 보면 안 됩니다.
RBF는 대기 중인 거래를 수수료가 높은 새 거래로 바꿀 수 있습니다
수수료로 대체하기(Replace-by-fee, RBF)는 지갑과 관련 노드 정책이 허용하는 경우, 미확인 거래와 충돌하는 더 높은 수수료의 거래로 교체하는 방법입니다. 교체 거래는 기존 거래와 입력을 하나 이상 공유하므로 같은 입력을 유효하게 소비하는 두 버전이 모두 확인될 수는 없습니다. 지갑에 “수수료 올리기” 기능이 있을 수 있지만, 사용 가능 여부와 조건, 새 수수료는 지갑과 거래 구조에 따라 달라집니다.
특정한 방식으로 RBF 신호를 보내지 않으면 거래를 절대로 바꿀 수 없다는 오래된 설명을 그대로 믿지 마세요. Bitcoin Core의 현재 정책 문서는 버전 28.0부터 전체 RBF를 기본 정책으로 설명하며 해당 정책에서는 교체를 위해 신호가 필요하지 않다고 밝힙니다. 다른 노드나 지갑, 서비스, 이전 버전은 다르게 동작할 수 있습니다. 지갑에서 버튼을 사용할 수 없다고 모든 노드가 같은 정책을 적용한다고 볼 수는 없습니다. 지갑 자체의 제한이나 거래 구성 때문일 수도 있습니다.
교체 거래는 “사토시 하나만 더 내기”보다 많은 조건을 충족해야 합니다. Bitcoin Core의 현재 정책에서는 원래 거래들의 총수수료 이상을 지불하고, 교체 거래를 릴레이하는 데 드는 추가 대역폭 비용을 부담하며, 교체 후 멤풀의 수수료율 도표를 개선해야 합니다. 원래 거래와 연결된 미확인 거래가 있으면 계산이 더 복잡해질 수 있습니다. 현재 교체 정책에 구체적인 조건이 나옵니다.
RBF는 되돌리기 버튼이 아니며 확인된 거래를 취소하지 않습니다. 서로 충돌하는 미확인 지출 중 하나가 선택되는 구조입니다. 받는 쪽이 미확인 입금을 최종 결제처럼 취급하면 교체 위험을 감수할 수 있으므로, 미확인 거래를 확인 완료 거래와 동일하게 보면 안 됩니다. 송금을 받고 있다면 처음 본 거래가 그대로 확인된다고 가정하지 말고 받는 서비스가 정한 확인 기준을 따르세요.
CPFP는 부모·자식 거래를 함께 채굴할 유인을 높일 수 있습니다
부모가 수수료를 내도록 하는 자식(Child Pays for Parent, CPFP)은 아직 확인되지 않은 부모 거래의 출력을 사용하는 새 자식 거래를 만듭니다. 자식 거래의 수수료율을 높게 설정해 채굴자가 두 거래를 함께 포함하도록 유도할 수 있습니다. 이때 부모와 자식의 합산 수수료와 합산 가상 크기가 중요합니다. 자식 거래가 부모의 수수료를 지우거나 두 거래를 비용 없이 합쳐주는 것은 아닙니다.
지갑이 사용할 수 있는 적절한 미확인 출력을 통제하고, 자식 거래 생성을 지원해야 합니다. 부모·자식 관계, 릴레이와 패키지 정책, 채굴자의 선택이 모두 영향을 줍니다. 합산 수수료는 거래 하나만 보낼 때 선택했을 수수료보다 높아질 수도 있으며, 포함이 보장되는 것도 아닙니다. 어떤 출력을 쓰는지와 거스름돈을 지갑이 어떻게 관리하는지 이해하지 못한다면 자식 거래를 직접 만들지 마세요.
RBF와 CPFP는 연관된 문제를 다루지만 방식은 다릅니다. RBF는 대기 중인 거래와 충돌하는 새 버전을 만듭니다. CPFP는 미확인 부모 출력을 소비하는 거래를 추가해 부모·자식 묶음이 채굴자에게 더 매력적으로 보이도록 할 수 있습니다. 지갑은 둘 중 하나, 둘 다 또는 아무것도 지원하지 않을 수 있습니다. Bitcoin Core의 멤풀 설계와 버전별 정책에 따라 노드가 받아들이는 방식이 달라지므로, 이는 작동 메커니즘이지 확인 시간을 약속하는 기능은 아닙니다.
거래소 출금 수수료와 비트코인 네트워크 수수료는 다를 수 있습니다
거래소는 자체 수수료표에 따라 출금 요금을 정할 수 있습니다. 정액일 수도 있고 주기적으로 조정될 수도 있으며, 거래소가 여러 고객의 출금을 묶어서 처리하는 방식도 반영할 수 있습니다. 따라서 거래소가 표시하는 금액이 개별 온체인 거래 하나의 수수료율과 일치하지 않을 수 있습니다. 거래소는 여러 사람의 출금을 하나의 거래로 묶을 수 있고, 개인 지갑은 대체로 사용자가 선택한 출력으로 거래를 구성합니다.
출금 전에 수수료, 실제 도착 금액, 선택한 네트워크를 각각 확인하세요. 거래소의 출금 비용이 현재 sat/vB 요율을 그대로 보여준다고 추정하면 안 됩니다. 플랫폼이 “네트워크 수수료”라고 표시해도 특정 출금 거래의 직접적인 수수료 추정치가 아니라 플랫폼이 계산한 금액일 수 있습니다. 해당 플랫폼이 공개한 수수료표와 출금 미리보기의 세부 항목을 확인하세요.
반대로 개인 지갑에서는 제공업체 요금 없이 네트워크 수수료만 표시될 수 있습니다. 블록에 포함되는 비트코인 거래가 네트워크 수수료를 내며, 지갑 업체가 이를 송금액의 비율로 가져가는 구조는 아닙니다. 거래소 출금과 개인 지갑의 온체인 송금을 비교할 때는 받는 사람이 실제로 받는 금액, 선택한 네트워크, 각 수수료 항목을 함께 비교하세요. 전송 전에 네트워크와 주소를 확인하려면 암호화폐 전송 체크리스트를 참고하세요. 이더리움의 다른 가스 수수료 구조는 이더리움 가스비 안내에서 설명합니다.
서명 전에 거래 세부 정보를 확인하세요
비트코인 거래를 확정하기 전에 네트워크, 받는 주소, 송금액, 총 수수료, 지갑에 표시되는 경우 수수료율을 확인하세요. 온체인 비트코인 송금인지 다른 경로의 결제인지도 확인합니다. 수신자나 입력을 선택한 뒤 거래 크기와 수수료를 미리 보여주는 화면을 살펴보세요. 거래 구성이 바뀌면 같은 수수료율에서도 가상 크기와 총 수수료가 달라질 수 있습니다.
거래가 대기 중이라면 조치하기 전에 지갑이 RBF 또는 CPFP를 지원하는지, 어떤 조건이 필요한지 확인하세요. 기존 거래가 여전히 확인될 수 있는지 이해하지 못한 채 같은 결제를 별도 거래로 다시 보내면 안 됩니다. 거래 ID를 저장하고 지갑이나 신뢰할 수 있는 블록 탐색기에서 상태를 확인하세요. 한 서비스에서 거래가 사라졌다는 사실만으로 확인되었거나 취소되었거나 대체해도 안전하다는 결론을 내릴 수는 없습니다.
급한 정도와 기다릴 수 있는 시간을 고려해 수수료율을 정하되, 어떤 견적도 특정 블록에 들어간다고 보장하지 않는다는 점을 기억하세요. 예상보다 수수료가 높다면 입력 수와 출력 구조를 확인하세요. 송금액 자체는 거래 크기를 설명하지 않습니다. 지갑이 총액만 보여주면 상세 화면이나 공식 안내를 열어 포함된 비용 항목을 확인하세요. 본문의 숫자는 이해를 돕기 위한 가정이며 현재 시세를 반영한 견적이 아닙니다.
자주 묻는 질문
Q1비트코인 수수료는 송금액의 일정 비율인가요?
아닙니다. 네트워크 수수료는 일반적으로 거래의 가상 크기와 수수료율로 계산합니다. 가상 크기와 요율이 같다면 송금액이 달라도 수수료는 같을 수 있습니다.
Q2거래가 확인되지 않았으면 비트코인이 사라진 건가요?
그렇다고 단정할 수 없습니다. 거래가 아직 대기 중일 수 있고, 노드의 멤풀 상태도 달라질 수 있습니다. 거래 ID와 지갑의 상태를 확인하고 대기 중인 거래가 취소되었거나 다시 보내도 안전하다고 가정하지 마세요.
Q3sat/vB를 높게 내면 다음 블록에 반드시 들어가나요?
아닙니다. 비슷한 조건에서는 요율이 높을수록 경쟁력이 커질 수 있지만 수수료 시장, 거래 간 의존성, 릴레이와 채굴자 선택이 달라집니다. 추정치가 특정 블록을 약속하지는 않습니다.
출처와 더 읽을 자료
내용 정정 제보
이 아티클 링크를 담은 이메일 초안을 준비합니다. 직접 보내야 Mark에 제보가 접수됩니다
QUICK CHECK
글을 다 읽었다면, 3문항으로 확인해보세요
Question 01
가상의 거래 크기가 140 vB이고 수수료율이 25 sat/vB라면 총 수수료는 얼마인가요?
정답을 고르면 바로 설명을 볼 수 있어요