Blok Header
Blok header adalah bagian ringkasan dari sebuah
blok dalam blockchain yang berisi data identifikasi inti blok, bukan daftar transaksi lengkapnya.
Header menyimpan
metadata yang menjelaskan sebuah blok: waktu pembuatan blok, hubungan blok tersebut dengan blok sebelumnya, dan satu hash yang merepresentasikan semua transaksi yang dikandungnya. Pada dasarnya, header blok mencakup semua hal tentang sebuah blok, kecuali daftar transaksi mentahnya.
Dalam Bitcoin, header blok adalah struktur tetap berukuran 80 byte yang terdiri dari enam bidang:
Versi: Menandakan aturan konsensus yang diikuti blok, dan dapat digunakan untuk menunjukkan dukungan terhadap peningkatan protokol.
Hash blok sebelumnya: Hash dari header blok sebelumnya yang menghubungkan blok-blok menjadi sebuah rantai.
Merkle root: Satu hash yang diturunkan dari semua transaksi dalam blok, dihasilkan dari struktur
Merkle root sehingga setiap perubahan pada transaksi akan mengubah nilai ini.
Tanda waktu: Mencatat perkiraan waktu saat blok dibuat, dinyatakan sebagai tanda waktu Unix.
Target kesulitan (nBits): Mengodekan ambang batas yang harus dilampaui ke bawah oleh hash header. Kesulitan jaringan diturunkan dari target ini, bukan disimpan secara langsung.
Nonce: Penghitung yang berulang kali diubah oleh miner melalui bidang
nonce saat mencari hash yang valid.
Blok header adalah bagian yang melalui hashing oleh miner saat mereka mencoba membuat sebuah blok menjadi valid. Karena header hanya berukuran 80 byte, proses ini jauh lebih efisien daripada meng-hash setiap transaksi dalam blok, yang jumlahnya bisa mencapai ribuan. Saat sebuah blok
di-mining, header diproses melalui hash SHA-256 ganda, lalu hasilnya menjadi pengenal blok.
Ukurannya yang kecil juga membuat header blok berguna untuk klien ringan. Menyimpan blockchain
Bitcoin secara penuh dapat memerlukan ruang penyimpanan yang besar, tetapi perangkat yang hanya menyimpan header blok menggunakan sebagian kecil dari ruang tersebut. Karena setiap header melakukan commit terhadap transaksinya melalui Merkle root, light client dapat memeriksa nanti apakah transaksi tertentu disertakan dalam sebuah blok tanpa harus mengunduh seluruh chain. Pendekatan ini masih bergantung sebagian pada pihak ketiga untuk data, tetapi memungkinkan tingkat verifikasi tertentu pada perangkat dengan sumber daya terbatas.