Apa yang ada di dalam blok: pengepala, ketinggian, saiz dan subsidi
Blok ialah pengepala kecil yang tetap serta badan berisi transaksi. Mengetahui yang mana satu menerangkan apa yang sebenarnya di-hash perlombongan dan mengapa.
Dua bahagian, dan hanya satu yang di-hash
Blok mempunyai pengepala dan badan. Badan ialah transaksi, dan saiznya boleh beberapa ratus bait atau beberapa megabait bergantung pada kesibukan rantaian. Pengepala ialah ringkasan tetap blok itu, dan pada kebanyakan rantaian saiznya tepat 80 bait.
Perlombongan meng-hash pengepala dan tiada yang lain. Itulah fakta paling berguna dalam artikel ini, kerana ia menjelaskan sesuatu yang sebaliknya kelihatan mustahil: perisian perlombongan mencuba berbilion variasi sesaat, dan ia tidak dapat melakukannya jika setiap cubaan bermakna meng-hash semula blok yang penuh dengan transaksi. Ia tidak berbuat begitu. Ia meng-hash semula 80 bait.
Enam medan dalam pengepala
Pengepala memegang versi, hash blok sebelumnya, akar merkle, cap masa, bit kesukaran dan nonce. Setiap satu ada sebabnya, dan dua daripadanya melakukan sebahagian besar kerja.
Hash blok sebelumnya ialah apa yang menjadikannya rantaian. Setiap pengepala menamakan blok sebelumnya, jadi menulis semula blok lama akan mengubah hashnya, yang akan merosakkan pengepala seterusnya, dan seterusnya, sehingga ke hujung rantaian. Itulah keseluruhan hujah keselamatan bukti kerja dalam satu medan.
Akar merkle ialah satu hash yang meringkaskan setiap transaksi dalam badan. Ubah satu transaksi, walaupun sebait sahaja, dan akar merkle berubah, jadi pengepala berubah, jadi setiap hash yang dicuba setakat itu tidak bernilai. Beginilah 80 bait boleh mewakili blok dalam apa jua saiz dengan jujur.
Bit kesukaran ialah sasaran yang mesti dicapai oleh hash, dalam bentuk padat. Cap masa ialah lebih kurang masa blok itu dibuat, dan ia dibenarkan tidak tepat. Nonce ialah medan yang bebas diubah oleh perisian perlombongan, dan itulah yang menjadikan pencarian itu mungkin.
Nonce akan habis, dan itu tidak mengapa
Nonce ialah pembilang kecil, dan perisian perlombongan moden menghabiskan setiap nilai yang boleh dipegangnya hampir serta-merta. Ini kedengaran seperti jalan buntu tetapi tidak, kerana nonce hanyalah perkara yang paling mudah diubah, bukan satu-satunya.
Apabila ia habis, perisian perlombongan mengubah sesuatu yang lain yang menyumbang kepada pengepala. Cap masa boleh berubah. Transaksi coinbase boleh diubah sedikit, yang mengubah akar merkle, yang memberikan pengepala yang benar-benar baharu untuk dicari. Pada kolam, inilah tujuan extranonce: ia membolehkan kolam memberi setiap perisian perlombongan titik permulaan yang berbeza supaya tiada dua daripadanya mengisar nombor yang sama.
Ketinggian ialah kedudukan, bukan medan
Ketinggian blok ialah bilangan blok yang datang sebelum sesebuah blok. Blok genesis ialah ketinggian sifar, yang seterusnya satu, dan begitulah seterusnya. Itulah angka yang anda lihat di sebelah setiap entri di halaman Blok kolam dan di mana-mana penjelajah.
Wajar diketahui bahawa ketinggian sebenarnya tidak disimpan dalam pengepala. Ia diperoleh daripada kedudukan blok dalam rantaian. Pada kebanyakan rantaian moden, ketinggian juga ditulis ke dalam transaksi coinbase, iaitu peraturan yang ditambah kemudian supaya dua blok pada ketinggian berbeza tidak akan pernah sama bait demi bait, tetapi jawapan muktamad tentang ketinggian sesebuah blok tetap kedudukannya.
Inilah juga sebabnya ketinggian ialah cara semula jadi untuk bercakap tentang pengesahan. Transaksi yang tertanam enam blok ke dalam ialah transaksi yang ketinggian bloknya enam di bawah hujung rantaian, dan setiap blok tambahan menjadikan penulisan semulanya lebih mahal.
Saiz ialah badan, dan itulah yang menjadi penuh
Saiz blok pada asasnya ialah saiz badan, kerana pengepala terlalu kecil berbanding badan. Apabila orang mengatakan rantaian mempunyai had saiz blok, mereka bercakap tentang berapa banyak transaksi yang boleh dimuatkan, bukan tentang pengepala.
Blok penuh dan blok kosong memerlukan jumlah kerja perlombongan yang sama tepat. Kesukaran menentukan betapa sukarnya blok ditemui; saiz menentukan berapa banyak yang dibawa oleh blok. Kedua-duanya tidak berkaitan, dan mengelirukan kedua-duanya ialah punca banyak tanggapan salah tentang yuran.
Yang dipengaruhi oleh saiz ialah pasaran yuran. Apabila lebih banyak transaksi mahu masuk daripada yang muat, transaksi yang menawarkan yuran lebih tinggi masuk dahulu, dan jumlah yuran dalam blok meningkat. Itu terus menyumbang kepada bayaran blok tersebut.
Transaksi coinbase dan subsidi
Transaksi pertama dalam setiap blok adalah istimewa. Ia tiada penghantar, ia mencipta syiling daripada tiada, dan membayarnya kepada sesiapa yang membuat blok itu. Ia dipanggil transaksi coinbase, yang tiada kaitan dengan bursa yang sama namanya.
Apa yang dibayarnya ialah subsidi ditambah yuran setiap transaksi lain dalam blok. Subsidi ialah bahagian yang baru diterbitkan, ditetapkan oleh jadual pengeluaran rantaian dan dikurangkan dari semasa ke semasa pada kebanyakan syiling. Yuran ialah apa yang dilampirkan pengguna pada transaksi mereka supaya dimasukkan. Bersama-sama, kedua-duanya ialah ganjaran blok.
Pada kolam, coinbase membayar kolam, yang kemudian mengagihkan ganjaran kepada semua yang menyumbang share kepada pusingan itu. Itu bukan lencongan: begitulah kolam boleh membayar ramai orang untuk ganjaran yang tiba sebagai satu bayaran yang tidak boleh dibahagikan.
Mengapa semua ini penting semasa anda melombong
Tiga perkara menjadi jelas sebaik sahaja bentuk blok difahami, dan ketiga-tiganya kerap timbul.
- Mengapa blok baharu membatalkan kerja anda serta-merta. Medan hash blok sebelumnya telah berubah, jadi pengepala yang anda cari tidak wujud lagi. Apa sahaja yang anda hantar untuknya selepas itu ialah share basi, dan tiada kelajuan yang dapat membetulkannya.
- Mengapa kolam menghantar kerja baharu kepada anda begitu kerap. Setiap transaksi baharu yang mahu dimasukkan oleh kolam mengubah akar merkle, dan templat yang lebih baharu membawa lebih banyak yuran, iaitu lebih banyak ganjaran untuk usaha yang sama.
- Mengapa saiz blok tidak pernah muncul dalam anggaran pendapatan. Apa yang anda peroleh ditentukan oleh kesukaran, subsidi dan yuran, bukan oleh bilangan bait dalam badan.
Halaman Blok kolam ini menunjukkan ketinggian, ganjaran dan bila ia ditemui, iaitu bahagian berguna daripada semua yang di atas dipadatkan dalam satu baris. Penjelajah akan menunjukkan selebihnya, termasuk transaksi coinbase yang membayarnya.