블록체인

[블록체인] 비트코인의 Transaction & Mempool

iemxl 2025. 4. 23. 14:10

비트코인의 transaction

: 누가 얼마를 누구에게 보냈는지를 증명하는 디지털 메시지

: 돈을 주고 받는 과정 + 보안 + 위변조 방지

 

Input 

  • 이 사람이 어디서 비트코인을 받았는지를 나타냄
  • 과거에 받은 UTXO를 참조함
  • 디지털 서명 포함 (진짜 주인임을 증명)

 

Output

  • 이 트랜잭션을 통해 누가 얼마를 받았는지
  • 실제 수신자의 비트코인 주소 (public key hash) 포함

 

Change

  • 남은 돈은 보낸 사람에게 다시 출력으로 돌아감
  • 즉, 사용된 코인 전부는 써야 되고, 남으면 거슬러 받아야 함

 

transaction example

 

 

UTXO (Unspent Transaction Output) 모델 

  • 비트코인은 잔액 개념이 없음
  • 대신 아직 쓰지 않은 거래 결과들을 추저감
  • 트랜잭션은 항상 과거의 UXO를 소모하고 새로운 UTXO를 생성함

* 나의 지갑 = 내가 아직 안 쓴 UTXO들의 집합

* 트랜잭션 추적 = 거래 명세서/ 영수증

 

 

Mempool

: 아직 블록에 포함되지 않은 미확정 트랜잭션들이 대기 중인 공간

: 확인되지 않은 트랜잭션들을 임시로 저장하는 공간

(= 채굴장 앞 줄 서 있는 대기표)

  • 수수료 비율은 sat/vB단위로 측정
  • 거래와 블록의 크기를 측정할 때, 가상 바이트와 무게 단위(WU) 사용
  • 거래의 크기는 입출력 개수, 서명의 개수, 사용하는 포맷에 따라 결정
  • 블록 크기는 최대 4000000WU로 제한

 

*RBF (Replace by Fee) : 수수료를 올려 블록에 포함될 확률을 높이는 방식

 

 

트랜잭션의 흐름

  1. 사용자가 트랜잭션을 만들어 네트워크에 브로드캐스트
  2. 주변 노드들은 이걸 mempool에 저장
  3. 채굴자는 mempool에서 트랜잭션을 선택해서 블록 생성
  4. 블록에 포함되면 트랜잭션은 emepool에서 제거