본 글은 비트코인의 작동 원리를 이해하기 쉽게 설명해 놓은 해외 사이트 Learn me a bitcoin 내에 있는 Coinbase Transaction 페이지를 번역한 글입니다. 읽은 것을 개인적으로 이해하기 쉽게 정리하여 작성한 글이다 보니, 어색한 부분이 있을 수도 있습니다. 원문을 읽고자 하시는 분은 위의 링크를 참조해 주세요. 😀
코인베이스 트랜잭션(Coinbase transaction)
- 블록 보상(block reward)을 요청하는 데 사용되는 트랜잭션입니다.
코인베이스 트랜잭션(Coinbase transaction)은 블록의 첫 번째 트랜잭션입니다. 채굴자는 블록 보상(block reward)과 추가 트랜잭션 수수료(Fees)를 징수하기 위해서 이 트랜잭션을 사용합니다.
채굴자가 셀프로 본인이 보상 받을 상세사항이 적힌 봉투를 트랜잭션에 추가하여, 채굴에 대한 보상을 받는 트랜잭션이라고 생각하면 됩니다.
사용
채굴자가 후보 블록(Candidate block)를 생성할 때, 블록의 첫 번째 공간은 코인베이스 트랜잭션을 위해 사용됩니다. 모든 블록에는 코인베이스 트랜잭션이 있어야 합니다.
구조
코인베이스 트랜잭션은 일반적인 트랜잭션 데이터와 아주 약간 다를 뿐입니다. 주요 차이점은 input 내의 "공백"입니다.
01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4503ec59062f48616f4254432f53756e204368756e2059753a205a6875616e67205975616e2c2077696c6c20796f75206d61727279206d653f2f06fcc9cacc19c5f278560300ffffffff01529c6d98000000001976a914bfd3ebb5485b49a6cf1657824623ead693b5a45888ac00000000
TXID : 모두 0입니다. (기존 트랜잭션을 참조하지 않습니다.)
VOUT : 모두 f입니다. (16진수의 한자리 중 최대값) (기존 output을 참조하려고 하는 것이 아니기 때문입니다.)
scriptSig : 원하는 모든 데이터를 포함할 수 있습니다. (왜냐하면 여기서 언락 할 필요가 없기 때문입니다.)
그리고 output value는 블록 보상(block reward) + 트랜잭션 수수료(transaction fees)를 초과하지 않습니다.
재미로 몇몇 코인베이스 트랜잭션들의 메세지를 살펴봅시다
채굴자들은 종종 scriptSig에 텍스트를 넣기도 합니다. 이것을 읽기 위해서는 16진수에서 ASCII로 디코딩하기만 하면 됩니다.
- TxHash : 8b50f51b49f27e7bb0efb0b3bf38d12ce4f7e6258b90a75802a394cb585c879d
- 디코딩한 scriptSig : BitFury/BIP100/
채굴자들은 보통 채굴 풀의 이름을 텍스트로 넣습니다.
- TxHash : d0ec21e1d73d06be76c2b5b1e5ec486085bda8264229046c11b95f66f2eded83
- 디코딩한 scriptSig : /HaoBTC/Sun Chun Yu: Zhuang Yuan, will you marry me?/
아니 왜 프러포즈를 블록체인에다가...! 😅
- TxHash : 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
- 디코딩한 scriptSig : The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
사토시 나카모토가 채굴한 첫 번째 블록(제네시스 블록)의 코인베이스 트랜잭션.
2009년 1월 3일 “더 타임스, 은행들의 두 번째 구제금융을 앞두고 있는 U.K. 재무장관” 기사 제목을 텍스트로 넣었습니다.
'블록체인 > 비트코인' 카테고리의 다른 글
채굴(Mining) (0) | 2023.04.08 |
---|---|
VOUT (0) | 2023.04.07 |
TXID (트랜잭션 ID) (0) | 2023.04.07 |
블록 해시(Block hash) (0) | 2023.04.07 |
넌스 (Nonce) (0) | 2023.04.07 |