트랜잭션과 수수료
비트코인 거래는 A에서 B로 10달러를 옮기라는 메시지가 아닙니다. 이전 거래의 출력을 통째로 소비하고 새 출력을 만드는 것이며, 그래서 거스름돈 주소가 존재하고 지갑의 계산이 이따금 이상해 보입니다. UTXO는 사용 가능한 그 조각들을 가리키는 말이며, 이어지는 내용의 대부분을 설명해 줍니다.
수수료는 실제로 돈이 드는 부분입니다. 비율로 내는 것도 아니고, 보내는 금액에 대해 내는 것도 아닙니다. 거래의 크기를 가상 바이트 단위로 환산해, 직접 고른 요율로, 멤풀에서 기다리는 모든 사람과 경쟁하며 냅니다. 5달러짜리 결제와 500만 달러짜리 결제의 비용이 정확히 같을 수 있고, 작은 입력을 많이 쓸어 담는 지갑은 둘보다 훨씬 더 많이 들 수 있습니다.
나머지는 이것이 잘못되었을 때 벌어지는 일입니다. 너무 적게 지불한 거래는 때로는 며칠 동안 미확인 상태로 남습니다. 수수료 대체(RBF)는 보내는 사람이 제안을 올릴 수 있게 합니다. 자식이 부모 대신 지불(CPFP)은 받는 사람이 거래를 구제할 수 있게 합니다. 둘 다 여기에 있으며, 각각이 실제로 작동하는 조건도 함께 있습니다.
컨펌 횟수, txid, 코인베이스 거래, PSBT가 이 분야를 마무리합니다: 추측하지 않고 블록 탐색기를 읽는 데 필요한 용어입니다.
용어 40개. 마지막 검토일은 2026년 10월 29일입니다.
트랜잭션과 수수료 분야의 용어
- 가상 바이트별칭: vbyte, vB가상 바이트는 지갑이 트랜잭션의 가격을 매기는 단위로, 트랜잭션 가중치의 4분의 1을 올림한 값이므로 모든 수수료 견적은 satoshi/vbyte 단위로 표시됩니다.
- 고우선순위 트랜잭션별칭: Free transaction고우선순위 트랜잭션은 오래되고 큰 코인을 사용했기 때문에 구버전 Bitcoin Core가 무료로 채굴하던 트랜잭션이며, 이 메커니즘은 2017년에 소프트웨어에서 삭제되었습니다.
- 널 데이터 트랜잭션별칭: 데이터 캐리어 트랜잭션, OP_RETURN 트랜잭션, Null data transaction널 데이터 트랜잭션이란 돈 대신 짧은 메시지를 저장하는 출력을 담은 트랜잭션으로, 이 출력은 누구도 사용할 수 없음이 증명되는 형태로 표시되어 노드가 사용 가능한 코인 집합에서 이를 제외할 수 있습니다.
- 디지털 서명별칭: 서명, ECDSA 서명, Digital signature디지털 서명은 개인 키로 만들어지는 증명으로, 비트코인 트랜잭션을 승인한 사람이 해당 코인이 잠겨 있던 키를 관리하고 있었다는 것과 세부 내용이 변경되지 않았다는 것을 보여 줍니다.
- 멤풀별칭: Mempool, 메모리 풀멤풀은 노드가 전달받았지만 아직 블록에서 확인하지 못한 유효한 트랜잭션의 집합으로, 채굴업자가 해당 트랜잭션을 가져갈 때까지 메모리에 보관됩니다.
- 멤풀 정책별칭: Mempool policy멤풀 정책은 노드가 트랜잭션을 받아들이고 릴레이하기 전에 적용하는 추가 규칙 집합으로, 합의 규칙보다 엄격하며 노드를 운영하는 사람이 조정할 수 있습니다.
- 무게 단위별칭: WU무게 단위는 비트코인의 블록 크기 한도에서 바이트를 대체한 회계 단위로, 서명 데이터를 4분의 1 가격으로 책정하여 SegWit이 하드 포크 없이 처리 용량을 늘릴 수 있게 했습니다.
- 비트코인 트랜잭션별칭: 트랜잭션비트코인 트랜잭션은 기존 코인 일부를 소멸시키고 그 자리에 새로운 코인을 생성하는 서명된 지시문이며, 네트워크에서 가치가 이동하는 유일한 방식입니다.
- 상대적 타임락상대적 타임락은 해당 트랜잭션 입력이 사용하는 코인이 자체 확인 시점으로부터 정해진 블록 수나 512초 간격만큼 경과하기 전까지 유효하지 않게 만듭니다.
- 서명 해시별칭: Sighash서명 해시는 지갑이 실제로 서명하는 다이제스트입니다. 해당 입력에 선택된 플래그에 따라 정리된, 트랜잭션을 다시 구성한 사본에 SHA-256을 두 번 적용한 값입니다.
- 수수료 대체(Replace-by-fee)별칭: Replace-by-fee, RBF, Replace by fee, Opt-in replace by fee, Full-RBF수수료 대체(Replace-by-fee)는 미확인 트랜잭션을 더 높은 수수료를 지불하는 동일 트랜잭션의 다른 버전으로 교체할 수 있게 하며, 최신 Bitcoin Core는 원본이 이를 신호했는지 여부와 관계없이 해당 교체를 중계합니다.
- 수수료율별칭: sat/vB, 가상 바이트당 사토시, Fee rate수수료율은 트랜잭션 크기 단위당 지불하는 가격으로, 사토시/vB로 표시되며, 채굴업자가 블록을 채울 때 정렬하는 유일한 수치입니다.
- 시퀀스 번호별칭: nSequence시퀀스 번호는 모든 트랜잭션 입력에 붙는 4바이트 필드로, 수수료 대체를 신호하고, 록타임을 켜며, 상대 시간 잠금을 부호화할 수 있습니다.
- 아웃포인트아웃포인트는 정확히 하나의 트랜잭션 출력을 식별하는 36바이트 포인터로, 해당 출력을 만든 트랜잭션의 32바이트 ID와 그 출력의 위치를 나타내는 4바이트 인덱스를 결합한 것입니다.
- 에스크로 계약에스크로 계약은 거래 당사자 어느 한쪽도 단독으로 사용할 수 없는 출력에 비트코인을 잠그고, 양측이 합의하거나 지정된 제3자가 결정을 내릴 때에만 이를 풀어 주는 계약입니다.
- 잠금 시각(Locktime)별칭: 잠금 시각잠금 시각(Locktime)은 트랜잭션의 마지막 4바이트로, 네트워크가 해당 트랜잭션을 블록에 받아들일 수 있는 가장 이른 블록 높이 또는 시계 시각을 정합니다.
- 정체된 트랜잭션별칭: 멈춘 트랜잭션, 대기 중인 트랜잭션정체된 트랜잭션이란 노드에 브로드캐스트되어 수락되었지만 계속 블록에 포함되지 못하는 트랜잭션입니다. 이는 지불하는 수수료가 현재 채굴업자들이 받아들이는 수준보다 낮기 때문입니다.
- 직렬화된 트랜잭션별칭: 원시 트랜잭션직렬화된 트랜잭션이란 지갑이 네트워크에 넘기는 정확한 바이트열, 즉 모든 노드가 단 1바이트도 바꾸지 않고 파싱하고 해시하며 중계하는 16진수 형식입니다.
- 최소 중계 수수료별칭: Relay fee최소 중계 수수료는 노드가 트랜잭션을 아예 보관하기 전에 트랜잭션이 지불해야 하는 하한선이며, Bitcoin Core 30.0에서 가상 바이트당 1사토시에서 0.1사토시로 낮아졌습니다.
- 출력 인덱스별칭: vout출력 인덱스는 트랜잭션 안에서 하나의 출력이 차지하는 위치를 0부터 센 값이며, 코인이 txid:1 형식으로 표시될 때 콜론 뒤에 오는 숫자입니다.
- 컨펌별칭: Confirmation, Confirmations, 컨펌된 트랜잭션, 미컨펌 트랜잭션컨펌은 해당 트랜잭션이 포함된 블록 위에 작업 증명 블록이 1개 쌓이는 것을 말하며, 따라서 가장 최근 블록에 포함된 결제의 컨펌 수는 정확히 1입니다.
- 트랜잭션 가단성별칭: Transaction malleability트랜잭션 가단성은 제3자가 트랜잭션에 담긴 서명 데이터를 다시 인코딩하여 돈이 향하는 곳은 바꾸지 않고 트랜잭션 ID만 바꿀 수 있었던 결함입니다.
- 트랜잭션 버전 번호트랜잭션 버전 번호는 트랜잭션의 처음 4바이트로, 검증자에게 상대적 타임락 같은 어떤 선택적 규칙 집합이 해당 트랜잭션에 적용되는지를 알려 줍니다.
- 트랜잭션 수수료별칭: Transaction fee, Miner fee, Miners fee, 채굴 수수료트랜잭션 수수료는 비트코인 트랜잭션이 사용하는 금액과 지급하는 금액의 차이이며, 해당 트랜잭션을 블록에 포함하는 채굴업자가 받습니다.
- 트랜잭션 입력별칭: Input, TxIn트랜잭션 입력은 이미 보유한 특정 코인 하나를 지목하고 그 코인을 사용할 권한이 있음을 증명하는, 지급의 한쪽 절반으로서, 그 코인을 전부 소비합니다.
- 트랜잭션 출력별칭: Output, TxOut트랜잭션 출력은 비트코인 금액과 다음에 누가 이를 쓸 수 있는지 정하는 잠금을 합친 것으로, 비트코인이 실제로 존재하는 유일한 자리입니다.
- 트랜잭션 ID별칭: Txid, 트랜잭션 해시, Transaction ID트랜잭션 ID는 비트코인 트랜잭션을 SHA-256으로 두 번 해시하여 만들어지는 64자리 16진수 지문이며, 해당 결제를 가리키는 데 모든 사람이 사용하는 방식입니다.
- 패키지 중계패키지 중계는 노드가 서로 연관된 미확인 트랜잭션 묶음을 함께 받아들일 수 있게 해 주는 방식으로, 수수료가 높은 자식 트랜잭션이 네트워크가 거부했을 부모 트랜잭션을 함께 실어 나를 수 있게 합니다.
- 표준 트랜잭션표준 트랜잭션이란 일반 노드가 중계하고 자신의 멤풀에 보관하는 데 동의하는 트랜잭션으로, 단지 합의 규칙상 유효하기만 한 것보다 더 엄격한 기준입니다.
- Child pays for parent별칭: CPFP, 조상 채굴, 부모 대신 지불하는 자식Child pays for parent는 확인되지 않은 트랜잭션의 출력을 두 번째 트랜잭션에서 사용하여 낮은 수수료의 트랜잭션을 구제하는 방식이며, 두 번째 트랜잭션의 수수료가 두 트랜잭션을 모두 감당합니다. 채굴업자는 두 트랜잭션을 함께 판단하기 때문입니다.
- Coinbase코인베이스(coinbase)는 채굴 보상 트랜잭션 안에서 채굴업자가 임의의 바이트를 기록하는 자유 형식 필드이며, 거래소인 Coinbase와는 아무 관련이 없습니다.
- Coinbase 블록 높이코인베이스 블록 높이는 블록 자체의 높이로, 코인베이스 필드의 첫 바이트들로 기록되며, BIP34는 2013년 3월부터 모든 블록에 이를 요구했습니다.
- Coinbase 트랜잭션별칭: Coinbase transaction코인베이스 트랜잭션은 모든 블록의 첫 번째 트랜잭션으로, 채굴업자가 블록 보조금과 수수료를 지급하기 위해 생성하며, 사용할 입력이 없습니다.
- PSBT별칭: Partially Signed Bitcoin Transaction, BIP174, 부분 서명 비트코인 트랜잭션PSBT는 아직 완성되지 않은 트랜잭션 파일입니다. 이 파일은 입력, 출력, 그리고 서명자가 이를 검증하는 데 필요한 모든 정보를 담고 있으며, 네트워크를 거치지 않고 기기 사이를 오갑니다.
- SIGHASH_ALLSIGHASH_ALL은 서명이 트랜잭션의 모든 입력과 모든 출력에 대해 확정되도록 하는 플래그로, 서명한 뒤에는 결제에 관한 어떤 것도 변경할 수 없습니다.
- SIGHASH_ANYONECANPAYSIGHASH_ANYONECANPAY는 다이제스트에서 다른 모든 입력을 제거하는 수정자로, 서명이 지출하는 코인 하나만을 대상으로 하며 다른 사람들이 자유롭게 트랜잭션에 참여할 수 있게 합니다.
- SIGHASH_NONESIGHASH_NONE는 트랜잭션의 입력에 서명하면서 출력에는 전혀 커밋하지 않는 플래그이며, 이 때문에 자금의 목적지가 이를 다루는 누구에게나 열려 있게 됩니다.
- SIGHASH_SINGLESIGHASH_SINGLE는 서명을, 목록에서 서명 대상 입력과 같은 위치에 있는 출력 하나에만 묶는 플래그입니다.
- TRUC 트랜잭션별칭: TRUC transaction, v3 transactionTRUC 트랜잭션은 버전 3을 선언하고 확인되지 않은 부모 트랜잭션과 확인되지 않은 자식 트랜잭션을 각각 최대 1개까지 허용함으로써, 확인되지 않은 지출을 연쇄시키는 자유를 신뢰할 수 있는 수수료 인상과 맞바꾸는 트랜잭션입니다.
- UTXO별칭: 미사용 트랜잭션 출력UTXO는 하나의 주소에 있는 아직 사용되지 않은 비트코인 단위로, 이전 트랜잭션에 의해 통째로 생성되며 일부만이 아니라 전부만 사용할 수 있습니다.
나머지 13개 분야
- 기본 용어비트코인이란 무엇인지, 사토시란 무엇인지, 그리고 용어집의 나머지 항목이 기대고 있는 몇 가지 핵심 개념.
- 주소와 키코인이 보내지는 곳, 개인 키가 실제로 통제하는 것, 그리고 하나의 시드에서 수천 개의 주소가 만들어지는 방식.
- 지갑과 수탁핫월렛, 콜드 스토리지, 수탁형, 멀티시그가 각각 누가 코인을 옮길 수 있는지를 어떻게 바꾸는지.
- 프라이버시와 보안사람들의 비트코인을 노리는 공격과, 이를 막는 습관과 도구.
- 구매와 거래소주문 유형, 스프레드, 수수료 체계: 거래소가 수수료를 부과할 때 쓰는 용어.
- 시장과 투자시가총액, 변동성, 현물 ETF. 가격 전망은 빼고 가격에 관한 용어만 다룹니다.
- 채굴과 합의새 블록이 만들어지는 방식, 난이도가 조정하는 것, 그리고 관리하는 주체가 없는데도 규칙이 지켜지는 이유.
- 프로토콜과 업그레이드SegWit, Taproot, 소프트 포크, BIP: 비트코인이 어떻게 바뀌고 누가 결정하는지.
- 라이트닝과 레이어 2결제 채널, 인보이스, 라우팅: 블록 공간 비용을 내지 않고 비트코인을 옮기기 위한 방식.
- 규제와 세금KYC, 트래블 룰, MiCA, 양도소득: 본인의 계좌와 세금 신고에 닿는 규칙.
- 문화와 역사Mt. Gox, 제네시스 블록, HODL, 그리고 사람들이 비트코인을 이야기하는 방식을 만든 사건과 은어.
- 노드와 소프트웨어Bitcoin Core, 풀 노드, 프루닝, RPC: 규칙을 집행하는 소프트웨어.
- 개발자 참고 자료P2P 메시지 유형, 옵코드, 스크립트 용어: 비트코인 코드를 읽을 때 만나는 필드 이름.
자주 묻는 질문
내 지갑은 왜 전체 잔액을 보내지 못합니까?
잔액은 별개의 코인 더미이고, 각각을 쓰는 데 수수료가 들기 때문입니다. 옮기는 수수료가 가치보다 큰 소액 코인은 남겨집니다. 지갑은 이를 더스트라고 부르며, 버그가 아니라 산수입니다.
내가 내는 수수료는 무엇이 결정합니까?
보내는 금액이 아니라 바이트 단위의 크기와 네트워크의 혼잡도입니다. 입력을 적게 쓰면 100만 달러를 옮기는 거래가 50달러를 옮기는 거래보다 비용이 낮을 수 있습니다. 그래서 수수료 추정치는 가상 바이트당으로 표시됩니다.
내 거래가 멈췄습니다. 어떻게 해야 합니까?
대개는 기다리십시오. 수수료 시장은 오르는 만큼 자주 내리기 때문입니다. 기다릴 수 없다면 수수료 대체(RBF)로 같은 거래를 더 높은 요율로 다시 보낼 수 있고, 받는 사람은 CPFP로 대신 끌어올릴 수 있습니다. 둘 다 지갑의 지원이 필요합니다.
컨펌은 몇 번이면 충분합니까?
소액에는 한 번이면 충분합니다. 큰 금액에는 여섯 번이 관례인데, 블록 여섯 개를 되돌리는 데 드는 비용이 거의 모든 단일 결제의 가치보다 크기 때문입니다. 거래소는 자체 기준을 정하고 지원 페이지에 공개합니다.