Skip to content

수수료Bitcoin

비트코인 멤풀과 수수료 이해하기

업데이트:

이 페이지의 내용

비트코인 수수료는 이더리움 가스와 전혀 다르게 작동합니다. 이 글에서는 멤풀, sat/vB 단위, 거래 크기가 수수료를 좌우하는 이유, 송금이 멈췄을 때 할 일을 설명합니다.

네트워크의 기본은 비트코인을, 수수료의 일반적인 개념은 가스와 수수료를 참고하세요.

멤풀

비트코인을 보내면 지갑이 거래를 네트워크에 브로드캐스트합니다. 각 노드는 거래를 검사한 뒤, 채굴자가 블록에 넣을 때까지 **멤풀(mempool, 메모리 풀)**이라는 대기 공간에 보관합니다. 멤풀은 하나만 있는 것이 아닙니다. 노드마다 자기 멤풀이 있지만 보통 서로 매우 비슷합니다.

블록의 크기는 제한되어 있습니다. 채굴자는 차지하는 공간 대비 수수료를 가장 많이 내는 거래부터 블록을 채웁니다. 그래서 멤풀에 한 블록이 담을 수 있는 양보다 많은 거래가 쌓이면 수수료가 낮은 거래는 기다리게 됩니다.

수수료는 금액이 아니라 바이트당 매겨집니다

비트코인은 보내는 금액에 따라 수수료를 매기지 않습니다. 거래가 블록에서 차지하는 공간에 따라 매깁니다. 단위는 **가상 바이트(virtual byte, vB)**이고, 가격은 **vB당 사토시(sat/vB)**로 표시합니다. 1사토시는 비트코인의 1억분의 1입니다.

수수료는 다음과 같습니다.

수수료 = vB 단위 크기 x sat/vB 단위 수수료율

예를 들어 141 vB 거래를 10 sat/vB로 보내면 1,410 사토시가 듭니다. 크기가 같다면 아주 적은 금액을 보내나 아주 큰 금액을 보내나 수수료가 같습니다. 수수료는 금액이 아니라 크기에 따라서만 달라집니다.

가상 바이트는 서명 데이터를 할인해서 계산하는 세그윗(SegWit)에서 나왔습니다. 한 블록의 한도는 400만 웨이트 유닛이며, 이는 약 100만 vB에 해당합니다.

거래 크기를 결정하는 것

비트코인 거래는 입력(input)(사용하는 코인)과 출력(output)(코인이 가는 곳)으로 이루어집니다. 입력과 출력이 많을수록 거래가 커지고 수수료도 높아집니다.

  • 입력 하나와 출력 둘(받는 사람에게 하나, 잔돈으로 나에게 돌아오는 하나)로 이루어진 단순 송금은 최신 세그윗 주소를 쓰면 약 140 vB입니다.
  • 지갑에 작은 코인이 많이 있어 이를 합쳐야 하면 입력이 많아지고 수수료도 늘어납니다.
  • 여러 수신자에게 보내는 송금은 출력이 많아서 크기도 커집니다.

주소 유형

주소 유형에 따라 입력 하나당 크기가 다릅니다.

  • 레거시(Legacy) 주소(1로 시작)가 가장 큽니다.
  • 세그윗(SegWit) 주소(bc1q로 시작)는 입력당 더 작습니다.
  • 탭루트(Taproot) 주소(bc1p로 시작)도 입력당 작고, 일부 복잡한 지출은 더 작아집니다.

따라서 같은 송금이라도 세그윗이나 탭루트 주소에서 보내면 레거시 주소보다 눈에 띄게 저렴할 수 있습니다. 주소 유형은 지갑이 고르므로 어떤 것을 쓰는지 확인하세요.

수수료 추정

지갑은 멤풀과 최근 블록을 보고 수수료율을 추정합니다. 일반적인 도구는 여러 목표를 보여 줍니다.

  • 다음 블록: 다음 블록에 들어갈 가능성을 가장 높이는 가장 높은 수수료율.
  • 약 30분: 중간 수수료율.
  • 약 1시간: 더 낮은 수수료율.
  • 이코노미: 오래 기다려도 되는 송금을 위한 최소 수수료율.

이는 추정일 뿐 약속이 아닙니다. 갑자기 거래가 몰려 멤풀이 가득 차면 다음 블록에 들어갈 것으로 예상했던 송금도 더 오래 기다릴 수 있습니다. 가스 페이지에는 이러한 비트코인 목표가 표시되며, 일반적인 141 vB 송금 기준의 달러 비용으로 환산해 줍니다.

멤풀이 가득 차면 어떻게 되나요

수요가 많으면 다음 블록에 들어가는 데 필요한 수수료율이 오릅니다. 수수료가 낮은 거래는 멤풀에 남습니다. 노드는 멤풀의 크기에 제한이 있어, 가득 차면 수수료가 가장 낮은 거래부터 버립니다. 버려진 거래가 돈을 잃는 것은 아닙니다. 그 코인은 체인에서 사용된 적이 없기 때문입니다. 지갑에서 다시 보낼 수 있습니다.

예를 들어 많은 사람이 한꺼번에 코인을 옮길 때 멤풀이 몰리는 시기가 생깁니다. 비트코인 페이지에서 상황을 지켜보세요. 각 블록 타일은 블록이 얼마나 찼는지와 담긴 수수료를 보여 줍니다.

멈춘 송금 풀기: RBF와 CPFP

수수료를 너무 적게 냈다면 흔한 해결책이 두 가지 있습니다.

  • RBF(replace-by-fee, 수수료 대체). 같은 거래의 새 버전을 더 높은 수수료로 보냅니다. 노드는 이전 거래를 새 거래로 교체합니다. 이를 지원하는 지갑이 필요하며, 예전 노드는 원래 거래가 교체 가능으로 표시된 경우에만 이를 받아들였습니다. 요즘 대부분의 노드는 어느 쪽이든 교체를 받아들이지만, 거래를 교체 가능으로 표시하지 않는 지갑은 이 옵션을 제공하지 않을 수 있습니다.
  • CPFP(child pays for parent, 자식이 부모를 대신 지불). 본인 또는 받는 사람이 멈춘 거래의 출력을 쓰는 새 거래를 만들고 높은 수수료를 지불합니다. 채굴자는 자식 거래의 수수료를 원하고, 자식은 부모보다 먼저 채굴될 수 없으므로 둘을 함께 포함합니다.

보내는 사람은 보통 RBF를 쓰고, 원래 거래를 바꿀 수 없는 받는 사람은 CPFP를 쓸 수 있습니다.

블록 간격이 정확히 10분이 아닌 이유

비트코인은 평균적으로 약 10분에 블록 하나를 목표로 합니다. 채굴은 복권과 같습니다. 채굴자들이 수많은 값을 시도하고, 유효한 블록을 찾는 시간은 무작위입니다. 어떤 블록은 1분 안에 나오고 어떤 블록은 30분 넘게 걸립니다. 2016개 블록마다 네트워크가 채굴 난이도를 조정해 평균이 10분 근처에 머물도록 합니다.

이 무작위성은 "다음 블록" 수수료 추정이 틀릴 수 있는 이유이기도 합니다. 블록이 늦게 나오면 대기하는 거래가 더 쌓입니다.

실시간으로 보기

ChainMonitor의 비트코인을 열면 최근 블록이 타일로 표시되며, 각 블록이 얼마나 찼는지와 수수료율을 볼 수 있습니다. 블록을 클릭하면 거래를 볼 수 있고, 헤더 검색창에 거래 ID를 붙여 넣으면 상태를 확인할 수 있습니다. 찾은 내용을 읽는 방법은 거래 읽는 법과 최종성과 컨펌을 참고하세요.

자주 묻는 질문

sat/vB란 무엇인가요?

비트코인의 수수료율입니다. 거래 크기 가상 바이트당 지불하는 사토시를 뜻합니다. 여기에 거래 크기를 곱하면 수수료가 됩니다.

내 비트코인 거래가 왜 멈춰 있나요?

수수료율이 지금 채굴자가 받아들이는 수준보다 낮을 가능성이 큽니다. 수수료율이 내려가거나, 거래를 가속하거나, 노드가 거래를 버릴 때까지 멤풀에 남아 있습니다.

비트코인 거래를 빠르게 하려면 어떻게 하나요?

지갑이 지원하면 RBF를 쓰거나, 받는 사람에게 CPFP를 요청하세요. 둘 다 같은 공간에 더 높은 수수료를 지불하는 방식입니다.

비트코인을 더 많이 보내면 수수료도 더 드나요?

아니요. 수수료는 금액이 아니라 거래 크기에 따라 정해집니다. 입력이 많은 거래는 금액과 상관없이 단순한 거래보다 비쌉니다.

컨펌을 몇 번 기다려야 하나요?

금액이 큰 송금은 컨펌 6회를 기다리는 것이 흔한 경험칙입니다. 최종성과 컨펌을 참고하세요.