227 / 691BTPL

Block Template

채굴 후보 블록을 구성하는 데이터

Block Template은 다음 후보 블록, 거래 및 변경 조건을 설명합니다. 내용을 바꾼 뒤 기존 보상과 해시를 복사하는 것만으로는 부족하며, 모든 종속 데이터가 최종 블록과 일치해야 합니다.

Block Template은 헤더의 proof of work를 찾을 블록을 구성하기 위한 데이터 집합입니다. 이전 블록, 거래, coinbase 및 채굴 제약을 연결하지만 블록 발견이나 수락을 증명하지는 않습니다.

previousblockhash와 height 필드는 후보의 체인상 위치를 정합니다. version, bits 및 시간 정보도 포함됩니다. 템플릿은 블록 구성의 재료이며, 같은 계산을 무작정 반복하기 위한 완성된 헤더만을 뜻하지 않습니다. [BIP 22 — Block template structure]

BIP 22에서 depends는 coinbase를 제외한 transactions 목록의 앞선 항목을 1부터 시작하는 인덱스로 참조합니다. 자식 거래가 같은 블록에 포함된 부모 거래의 출력을 쓰면 부모가 먼저 있어야 합니다. depends가 없다는 것은 의존 관계를 모른다는 뜻이지 없다는 뜻이 아닙니다. [BIP 22 — Block template structure]

Bitcoin Core v29.0은 해당 높이의 보조금과 포함된 거래의 실제 수수료로 coinbase를 구성합니다. 거래를 제거한 뒤 기존 coinbasevalue를 정당한 보상으로 자동 유지할 수 없습니다. 거래 선택을 바꾸면 사용 가능한 수수료를 다시 계산해야 합니다. [Bitcoin Core v29.0 — Block assembler]

BIP 141의 witness commitment는 wtxid를 통해 witness 데이터를 묶습니다. Bitcoin Core 29의 default_witness_commitment는 수정하지 않은 템플릿용입니다. 관련 거래나 순서를 바꾸면 커밋먼트를 확인하거나 다시 계산하고 최종 TXID를 헤더의 Merkle root에 반영해야 합니다. [BIP 141 — Witness commitment] [Bitcoin Core 29 — getblocktemplate RPC]

Bitcoin Core v29.0은 의존 관계를 포함한 패키지를 선택하고 무게와 sigops를 준수합니다. blockmaxweight 및 blockmintxfee 설정은 구성에 영향을 줍니다. 이 정책이 거래를 제외했다는 사실만으로 합의상 무효임을 증명할 수 없으며, 채굴자 설정이 네트워크 한도를 높이지도 않습니다. [Bitcoin Core v29.0 — Block assembler]

BIP 23은 mutable로 시간이나 거래 등 허용된 변경을 설명합니다. 서버 허가는 합의를 없애지 않습니다. 이전 블록, 시간, 난이도 및 거래는 여전히 정확해야 합니다. 템플릿 접근도 최종 장치의 무제한 내용 선택을 보장하지 않습니다. [BIP 23 — Mutations and proposals]

BIP 23은 expires로 작업을 제한하고 prevblock 변경 권한을 지정할 수 있습니다. 체인 끝이 바뀌었을 때 이전 블록 해시만 바꾼다고 나머지가 모두 유효한 것은 아닙니다. 높이, 거래, 보상 및 다른 맥락 조건을 다시 평가해야 합니다. [BIP 23 — Mutations and proposals]

BIP 23의 proposal 모드는 유효한 proof of work를 요구하지 않고 후보를 확인합니다. 긍정적 결과는 블록 발견, 공개 또는 체인 내 영구적 포함을 뜻하지 않습니다. 완성된 블록은 제출 시 적절한 검증을 거쳐야 합니다. [BIP 23 — Mutations and proposals]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Mining Pool, 블록 헤더, Extranonce, Merkle tree. 다음 항목에서도 이 글을 참조합니다 코인베이스 트랜잭션, ASIC Miner, Mining Pool, Nonce.

DOC · 001BIP 22 — Block template structure명세 ↗DOC · 002BIP 23 — Mutations and proposals명세 ↗DOC · 003Bitcoin Core 29 — getblocktemplate RPC문서 ↗DOC · 004Bitcoin Core v29.0 — Block assembler1차 출처 ↗DOC · 005BIP 141 — Witness commitment명세 ↗
1차 출처 우선 · 투자 조언이 아닙니다