본문으로 건너뛰기
buybitcoinsmart

용어집 / 트랜잭션과 수수료

가상 바이트

별칭은 vbyte, vB입니다.

가상 바이트란 무엇입니까?
가상 바이트는 지갑이 트랜잭션의 가격을 매기는 단위로, 트랜잭션 가중치의 4분의 1을 올림한 값이므로 모든 수수료 견적은 satoshi/vbyte 단위로 표시됩니다.

BIP-141에 명시되어 있습니다.

지갑이 수수료를 가중치 단위로 표시하고 바이트는 다시 언급하지 않을 수도 있지만, 가상 바이트는 오래된 산술을 그대로 유지합니다. 위트니스 데이터가 없는 트랜잭션은 vsize가 바이트 단위 크기와 정확히 같습니다. 하나의 블록에는 1,000,000개의 가상 바이트가 들어갑니다. 견적을 sat/vB로 읽는 것이 공정한 출금 수수료와 부풀려진 수수료를 구별하는 방법입니다.

작동 방식

가상 크기는 한 줄의 산술로 나옵니다. 가중치를 구해 4로 나누고 올림합니다.

그 숫자와 원시 직렬화 크기 사이의 차이가 바로 돈이 새는 지점입니다. 네이티브 segwit 코인 하나를 지출해 두 개의 출력을 만드는 결제는 전송 시 222바이트이고, 가중치는 561 단위이며, 가격은 141 가상 바이트로 매겨집니다. 141이 아니라 222에 선택한 요율을 곱하면 약 57%를 과다 지불하게 됩니다. 블록 탐색기는 두 수치를 나란히 표시하고 size와 vsize로 이름 붙이는데, 잘못된 쪽을 고르는 것이 수수료 추정에서 가장 흔한 산술 실수입니다.

올림은 맨 끝에서 한 번만 일어납니다. 각 조각은 정수로 떨어지지 않습니다. Taproot 키 경로 입력은 57.5 vbyte로 측정되므로 중간 합계가 반 단위로 끝날 수 있습니다. 따라서 동일한 지출을 구성하는 두 지갑이 어느 쪽도 틀리지 않고 1 vbyte만큼 차이날 수 있습니다. Bitcoin Core는 같은 트랜잭션의 세 가지 보기인 size, vsize, weight를 모두 제공하므로 어느 것이든 직접 확인할 수 있습니다.

수수료 추정기는 같은 단위를 변장한 형태로 사용합니다. estimatesmartfee는 킬로 가상 바이트당 비트코인으로 응답하므로, 반환된 요율 0.00005000은 5,000 satoshi로 1,000 가상 바이트를 산다는 뜻이며, 이는 5 sat/vB입니다. 모든 멤풀 대시보드 구간, 모든 지갑 슬라이더, 중계 하한에 관한 모든 거부 메시지는 같은 방식으로 표시됩니다.

확인할 수 있는 곳

가상 바이트는 거래소 출금에 실제로 드는 비용을 결정하며, 정액 수수료를 받아들이기 전에 이 산술을 해 볼 가치가 있습니다.

일괄 처리하는 플랫폼을 예로 들어 보겠습니다. 입력 하나가 단일 트랜잭션으로 고객 출금 100건의 자금을 댑니다. 네이티브 segwit 출력당 31 vbyte에 입력의 68과 약 11의 부가 비용을 더하면 전체 트랜잭션은 대략 3,179 vbyte입니다. 5 sat/vB에서는 15,895 satoshi가 들며, 여기에 포함된 백 명 각각에게는 약 159 satoshi가 부과됩니다. 0.0001 BTC의 정액 수수료는 그 공간에 대해 이들 모두에게 각각 10,000 satoshi를 청구하며, 이는 각자의 몫보다 60배가 넘습니다. 수요가 몰리면 관계가 역전됩니다. 100 sat/vB에서 같은 일괄 처리는 1인당 3,179 satoshi가 들고 정액 수수료는 오히려 보조금이 됩니다. 정액 출금 수수료는 하나의 내기이며, 한산한 날에는 운영 측이 이깁니다.

같은 단위는 이용자 자신의 정리 작업에도 가격을 매깁니다. 작은 코인을 모아 쓸어담는 작업은 거의 전적으로 입력 개수로 청구되므로, 네이티브 segwit 입력 12개를 하나의 출력으로 통합하는 작업은 관련 금액과 무관하게 약 858 vbyte입니다. 2 sat/vB에서 하면 2,000 satoshi 미만이 듭니다. 수수료가 급등할 때 하면 동일한 작업에 그 50배가 듭니다.

가상 바이트 vs 가중치 단위

가상 바이트와 가중치 단위는 4배 차이 나는 눈금으로 같은 데이터를 측정하며, 올림이 이 둘이 서로 교환되지 않게 되는 유일한 지점입니다. 합의 한도는 가중치로 작성되므로 블록 상한은 4,000,000 단위로 표시됩니다. 인터페이스는 vbyte로 작성되는데, 8 sat/vB가 가중치 단위당 2 satoshi보다 머리에 담기 쉽기 때문입니다. 올림 함수 때문에 561 가중치 단위 트랜잭션은 140.25가 아니라 141 vbyte로 청구되므로, 쓰지도 않은 바이트의 4분의 3에 대해 지불하게 됩니다. 사양을 읽으면 가중치 단위로 생각하게 되고, 무언가에 지불하면 vbyte로 생각하게 됩니다.

혼동하기 쉬운 용어

자주 묻는 질문

왜 제 지갑은 141 vbyte라고 하는데 블록 탐색기는 222바이트라고 합니까?

두 수치 모두 맞습니다. 222는 전송 시 직렬화된 길이이고, 141은 서명 데이터를 4분의 1 비율로 계산한 뒤의 그 길이입니다. 수수료는 더 작은 수치로 부과되므로 요율을 곱할 때는 항상 vsize를 사용하십시오.

sat/vB는 sat/byte와 같은 단위입니까?

위트니스 데이터가 없는 트랜잭션, 즉 두 크기가 동일한 경우에만 같습니다. segwit 또는 Taproot 출력을 지출하는 모든 경우에는 vsize가 더 작으므로, 여전히 sat/byte로 견적을 내는 도구는 수수료를 최대 4배까지 과대평가합니다.

다음에 읽을 글

관련 용어

트랜잭션과 수수료 분야의 다른 용어

이 페이지를 영어로 읽기