Block Template adalah sekumpulan data untuk menyusun blok yang header-nya akan digunakan mencari proof of work. Data ini menghubungkan blok sebelumnya, transaksi, coinbase, dan batasan penambangan; bukan bukti blok ditemukan atau diterima.
Kolom previousblockhash dan height menempatkan calon blok dalam rantai. Ada pula version, bits, dan informasi waktu. Templat merupakan bahan untuk menyusun blok, bukan sekadar header jadi untuk mengulang perhitungan yang sama tanpa pertimbangan. [BIP 22 — Block template structure]
Dalam BIP 22, depends merujuk mulai dari indeks satu ke entri sebelumnya dalam transactions, yang tidak memuat coinbase. Jika transaksi anak membelanjakan keluaran induk dalam blok yang sama, induknya harus lebih dulu. Tidak adanya depends berarti ketergantungan tidak diketahui, bukan tidak ada. [BIP 22 — Block template structure]
Bitcoin Core v29.0 menyusun coinbase dari subsidi pada ketinggian itu dan biaya sebenarnya dari transaksi yang disertakan. Setelah transaksi dihapus, coinbasevalue lama tidak otomatis tetap menjadi imbalan yang sah. Perubahan pilihan mengharuskan penghitungan ulang biaya yang tersedia. [Bitcoin Core v29.0 — Block assembler]
Menurut BIP 141, witness commitment mengikat data witness melalui wtxid. Bitcoin Core 29 menyediakan default_witness_commitment untuk templat yang tidak diubah. Setelah transaksi terkait atau urutannya berubah, periksa atau hitung ulang komitmen dan cerminkan TXID hasilnya dalam Merkle root header. [BIP 141 — Witness commitment] [Bitcoin Core 29 — getblocktemplate RPC]
Bitcoin Core v29.0 memilih paket beserta ketergantungannya dan mematuhi bobot serta sigops. Pengaturan blockmaxweight dan blockmintxfee memengaruhi penyusunan. Penghilangan transaksi oleh kebijakan ini saja tidak membuktikan ketidakabsahan konsensus; konfigurasi penambang juga tidak menaikkan batas jaringan. [Bitcoin Core v29.0 — Block assembler]
BIP 23 memakai mutable untuk menjelaskan perubahan yang diperbolehkan, misalnya waktu atau transaksi. Izin server tidak membatalkan konsensus: pendahulu, waktu, kesulitan, dan transaksi tetap harus benar. Akses templat juga tidak menjamin perangkat akhir bebas memilih isi tanpa batas. [BIP 23 — Mutations and proposals]
BIP 23 dapat membatasi pekerjaan lewat expires dan menetapkan izin mengubah prevblock. Saat ujung rantai berubah, mengganti hash pendahulu saja tidak menjamin semua data lain tetap sah. Ketinggian, transaksi, imbalan, dan kondisi kontekstual lainnya harus dinilai ulang. [BIP 23 — Mutations and proposals]
Mode proposal dalam BIP 23 memeriksa calon blok tanpa mensyaratkan proof of work yang sah. Hasil positif bukan berarti blok ditemukan, dipublikasikan, atau mendapat tempat permanen dalam rantai. Blok yang selesai tetap harus melewati validasi yang sesuai saat diajukan. [BIP 23 — Mutations and proposals]
Untuk gambaran yang lebih utuh, baca entri ini bersama Mining Pool, Header blok, Extranonce, Merkle tree. Entri ini juga dirujuk dari Transaksi coinbase, ASIC Miner, Mining Pool, Nonce.