225 / 691TARGET

Mining Target

Ambang numerik untuk bukti kerja

Mining Target adalah ambang pembanding hash header. Bedakan angkanya, pengodean ringkas nBits, dan target yang benar-benar diwajibkan aturan untuk blok tersebut.

Mining Target adalah ambang numerik nonnegatif untuk hash header saat memverifikasi bukti kerja. Target jaringan yang valid harus positif dan diizinkan aturan; hash tidak boleh melampauinya. Target lebih rendah membuat pencarian lebih sulit.

Bitcoin Core v29.0 menolak hash yang lebih besar dari target hasil dekode dalam pemeriksaan bukti kerja. Jadi syaratnya hash ≤ target, bukan hanya lebih kecil secara ketat. Yang dibandingkan ialah hash numerik seluruh header, bukan nonce saja. [Bitcoin Core v29.0 — Proof-of-work checks]

Hash dengan nilai berbeda bisa memiliki jumlah nol awal sama. Digit sisanya dan nilai numeriknya terhadap target juga menentukan. Nol menggambarkan kelangkaan tetapi tidak menggantikan perbandingan lengkap hash ≤ target. [Bitcoin Core v29.0 — Proof-of-work checks]

Kolom nBits berukuran 32 bit, sedangkan target ditafsirkan dalam ruang 256 bit. Kode memuat eksponen dan koefisien dengan bit tanda. Misalnya 0x04123456 didekode menjadi 0x12345600; ini contoh pengodean, bukan target jaringan yang sedang diwajibkan. [Bitcoin Core v29.0 — Compact arithmetic]

Dalam header 80 byte, nBits diserialisasi sebagai empat byte little-endian. Angka 0x1d00ffff berarti ff ff 00 1d. Jangan samakan urutan byte saat membaca data dengan urutan digit pada angka yang ditampilkan. [Bitcoin Developer Reference — Block headers and nBits]

DeriveTarget dalam Bitcoin Core v29.0 menolak target negatif, nol, overflow dan nilai di atas powLimit jaringan. Menaikkan angka nBits sesuka hati tidak cukup. Berhasil mengurai bentuk ringkas tidak membuktikan validitas target. [Bitcoin Core v29.0 — Proof-of-work checks]

Validasi kontekstual membandingkan nBits dengan GetNextWorkRequired berdasarkan blok sebelumnya dan aturan jaringan. Ketidakcocokan menghasilkan bad-diffbits. Bahkan hash di bawah target lebih mudah yang dipilih sendiri tidak membenarkan nBits yang salah dalam header. [Bitcoin Core v29.0 — Contextual and block validation]

Untuk model hash seragam 256 bit dan target T yang diizinkan, peluang per percobaan ialah p = (T + 1) / 2^256: nilai nol sampai T, termasuk keduanya, diterima. Ini penurunan dari aturan perbandingan; target saja tidak menentukan hashrate atau waktu tepat blok berikutnya. [Bitcoin Core v29.0 — Proof-of-work checks]

Selain header, Bitcoin Core memeriksa akar transaksi, coinbase, batas blok dan validitas transaksi. Memenuhi target yang benar itu perlu, tetapi tidak menggantikan pemeriksaan tersebut. Hash rendah tidak memperbaiki isi blok yang tidak valid. [Bitcoin Core v29.0 — Contextual and block validation]

Untuk gambaran yang lebih utuh, baca entri ini bersama Share Difficulty, Proof of Work, Nonce, Header blok. Entri ini juga dirujuk dari ASIC Miner, Nonce, Mining Share, Share Difficulty.

DOC · 001Bitcoin Core v29.0 — Proof-of-work checksSumber primer ↗DOC · 002Bitcoin Developer Reference — Block headers and nBitsDokumentasi ↗DOC · 003Bitcoin Core v29.0 — Compact arithmeticSumber primer ↗DOC · 004Bitcoin Core v29.0 — Contextual and block validationSumber primer ↗
Utamakan sumber · Bukan nasihat investasi