This article has been translated from English to Indonesian.

Bagaimana cara kerja penambangan Bitcoin?

Pada pelajaran sebelumnya, Anda telah mempelajari apa itu penambang Bitcoin , bagaimana cara menyimpan transaksi baru di dalam kumpulan memorinya , dan kemudian memulai proses "menambang" dengan membuat sebuah blok kandidat.

Jika apa yang baru saja saya tulis terdengar seperti bahasa asing bagi Anda, saya sangat menyarankan Anda untuk memulai dengan pelajaran pertama dari Panduan Pemula untuk Menambang Bitcoin.

Jika Anda masih bersama saya, mari kita lihat lebih dekat pada blok kandidat...

Seperti halnya tubuh manusia yang dapat dibagi menjadi dua bagian dasar yaitu kepala dan badan, kandidat blok juga dapat dibagi menjadi dua bagian:

  1. Kepala blok ( area kuning)
  2. Badan blok ( area abu-abu)
    Block Header and Body

Jika kita melihat lebih dekat pada sebuah kandidat blok, sebenarnya blok tersebut TIDAK hanya berisi transaksi.

Candidate Block Anatomy

Ketika seorang penambang membuat sebuah kandidat blok, ia menyertakan sebuah"tajuk blok" (areakuning).

"Badan" blok (area abu-abu) menampung transaksi.

Selain kandidat blok yang berisi sekumpulan transaksi, kandidat blok juga berisi beberapa metadata yang memberikan "ringkasan" dari blok tersebut.

Metadata merupakan data yang memberikan informasi mengenai data lainnya. Dalam hal ini, metadata memberikan informasi tentang blok itu sendiri. Informasi ini dikenal sebagai "header blok".

Di dalam header blok, ada beberapa bagian data.

Untuk tujuan pelajaran ini, saya akan menyederhanakan apa yang ada di dalam header blok.

Penanda waktu

Bagian pertama dari data di dalam Block Header adalah"Cap Waktu".

Stempel waktu menunjukkan kapan blok dibuat.

Timestamp

Hash Blok Sebelumnya

Bagian data berikutnya disebut "Blok Sebelumnya" atau lebih spesifik lagi,"Hash BlokSebelumnya".

Hash Blok Sebelumnya adalah hash blok dari blok sebelumnya dalam blockchain.

Previous Block Hash

Untuk memahami apa artinya ini, kita perlu melihat file tersebut.

Look inside blockchain

Sekarang setelah kita melihat ke dalam file tersebut, kita dapat melihat bahwa datanya terstruktur dengan cara tertentu.

Look inside the file and see blockchainstructure

Mari kita bayangkan ini sebagai blockchain.

Kandidat blok yang telah dibuat oleh penambang harus ditambahkan di atas blok terbaru.

Block must bee added on top of the most recent block

Katakanlah blok terbaru adalah blok yang berwarna biru.

Most recent block in blockchain

Karena Block Hash dari blok yang berwarna biru adalah blok terbaru dalam file ("blockchain"), maka itulah blok yang ingin dibangun oleh penambang di atasnya.

Bayangkan Block Hash seperti nomor ID yang dibuat khusus untuk sebuah blok.

Jadi, apa yang akan dilakukan oleh penambang adalah menambahkannya sebagai"Block Hash Sebelumnya"di Block Header dari kandidat bloknya sendiri.

Block hash added as Previous Block Hash of Candidate Block

Hash "Ringkasan Transaksi"

Bagian data berikutnya adalah apa yang saya sebut sebagai Hash "Ringkasan Transaksi".

Seperti namanya, ini memberikan "ringkasan" dari semua transaksi dalam blok yang dinyatakan sebagai serangkaian karakter.

Tanpa menjelaskan secara spesifik, yang terjadi adalah semua transaksi dalam blok (disorot dengan warna merah) dimasukkan ke dalam fungsi hash dan di-hash dengan urutan tertentu dan Anda akan mendapatkan satu hash.

Merkle Root

Hash inilah yang digunakan sebagai Hash "Ringkasan Transaksi".Merkle Root Example

Hash ini menyediakan"sidik jari"yang unik berdasarkan semua transaksi yang termasuk dalam satu blok.

Hal ini membantu untuk memastikan bahwa transaksi belum diubah.

Hash "Ringkasan Transaksi" ini sebenarnya dikenal sebagai"AkarMerkle".🤓

Ingat, satu perubahan kecil pada data akan mengubah hash secara total. Ini berarti jika seseorang TRY untuk mengubah transaksi apa pun dalam blok di masa mendatang, hal itu akan menyebabkan Hash "Ringkasan Transaksi" berubah dan menjadi sangat berbeda dari nilai asli yang ada di Header Blok.Merkle Root as Fingerprint

Pada dasarnya, mengubah transaksi akan membuat "sidik jari" yang sama sekali berbeda dan tidak akan cocok dengan "sidik jari" yang asli.

Perubahan ini akan membuat semua orang langsung mengetahui bahwa sebuah transaksi telah dirusak.

Blok Hash

Sejauh ini, Block Header berisi tiga buah data:

  1. Stempel waktu
  2. Hash Blok Sebelumnya
  3. Hash "Ringkasan Transaksi"

Langkah selanjutnya adalah memasukkan data Block Header ini ke dalam fungsi hash.

Ini akan menghasilkan angka acak yang disebut"Block Hash".

(Meskipun nama yang lebih akurat adalah "Block Header Hash" karena ini adalah hash dari header blok, bukan keseluruhan blok).

Sama seperti Hash Blok Sebelumnya yang telah disebutkan sebelumnya, bayangkan Hash Blok sebagai nomor ID yang dibuat khusus yang akan diberikan kepada kandidat blok.

Run block header through hash function
Mengapa penambang melakukan ini?

Agar penambang dapat menambahkan bloknya ke dalam blockchain, ia harus menemukan sebuah Block Hash yang memenuhi persyaratan tertentu.

Jika tidak dapat memenuhi persyaratan ini, maka blok tersebut TIDAK akan dianggap valid dan penambang tidak dapat menambahkan bloknya ke dalam blockchain.

Lebih khusus lagi, Block Hash harus berupa angka yang dimulai dengan sejumlah angka nol.

Berapa banyak angka nol yang tepat?

Bervariasi. Perangkat lunak sistem Bitcoin menentukan jumlah angka nol minimum yang harus diawali dengan Block Hash.

Pada awalnya, persyaratannya adalah hanya sejumlah kecil angka nol, namun seiring dengan semakin banyaknya penambang yang bergabung, perangkat lunak Bitcoin mulai membutuhkan lebih banyak angka nol.

Bitcoin mining process without nonce

Seorang penambang harus menghasilkan output ("Block Hash") yang memenuhi ambang batas output yang ditetapkan oleh perangkat lunak Bitcoin.

"Ambang batas" ini hanya menentukan jumlah angka nol yang harus diawali dengan Block Hash.

Ini seperti tarian "limbo".

Bitcoin mining is like a limbo dance

Semakin rendah ambang batasnya, semakin banyak angka nol yang dibutuhkan.

Semakin banyak angka nol yang dibutuhkan, semakin tinggi tingkat kesulitan untuk menemukan Block Hash yang "benar".

Hal ini dikarenakan lebih banyak angka nol di depan berarti lebih sedikit solusi yang mungkin, yang berarti lebih banyak waktu yang dibutuhkan untuk "menemukan" Block Hash yang benar.

Menemukan sebuah nilai yang dimulai dengan tiga angka nol seperti"000123..." akan jauh lebih sulit dibandingkan denganmenemukan nilai dengan enam angka nol seperti"000000123..."

Berikut ini adalah contoh terbaru dari Block Hash yang valid:

0000000000000000000586b367c292dfd274bf2e67575cf8b4d00735fc1df6ff

Perhatikan berapa banyak angka nol yang diawali.

"Jumlah angka nol tertentu" berasal dari apa yang disebut dengan "tingkat kesulitanmenambang".Hal ini secara otomatis disesuaikan naik atau turun oleh perangkat lunak yang menjalankan jaringan Bitcoin. Tingkat kesulitan berubah berdasarkan jumlah penambang. Semakin banyak komputer yang menambang, semakin besar tingkat kesulitannya dan semakin banyak angka nol yang dibutuhkan di awal sehingga semakin sulit untuk menemukan nonce yang menang.

Block Hash dapat diartikan sebagai angka yang sangat besardan harus berada di bawah ambang batas tertentu. Inilah sebabnya mengapa block hash dimulai dengan serangkaian angka nol yang diikuti dengan string alfanumerik. Beberapa blok memiliki sebanyak dua puluh angka nol di depan, sementara blok sebelumnya hanya memiliki delapan angka nol. Jumlah angka nol yang dibutuhkan secara kasar menunjukkan kesulitan penambangan pada saat blok tersebut diterbitkan.

Apa yang terjadi jika Block Hash tidak dimulai dengan jumlah angka nol yang dibutuhkan?

Maka blok tersebut TIDAK dapat ditambahkan ke dalam file ("blockchain").

Untungnya, penambang dapat melakukan beberapa kali percobaan.

Akan tetapi, jika penambang hanya menjalankan Block Header yang berisi Timestamp, Hash Blok Sebelumnya, dan Hash "Ringkasan Transaksi" melalui fungsi hash lagi, ia akan selalu mendapatkan hasil yang sama.

Penambang harus mengubah data tersebut sebelum mencoba melakukan hash pada Block Header lagi.

Bitcoin menyediakan sebuah cara!

Nonce

Di dalam Block Header, terdapat sebuah kolom tambahan yang disebut dengan"nonce" (kotak birumuda)

Block header contains a nonce

Ada bagian khusus dari Bock Header yang dapat diisi oleh penambang dengan nomor sembarang.

Penambang bebas untuk memasukkan angka apa saja yang diinginkannya.

Nonce sepenuhnya terpisah dari transaksi di dalam blok. Satu-satunya tujuan nonce adalah untuk mengizinkan penambang mengisinya dengan sebuah angka, dan mengganti angka tersebut jika Block Hash tidak memenuhi persyaratan untuk dimulai dengan sejumlah angka nol.

Dengan menggunakan nonce, penambang dapat memanipulasi output dari fungsi hash untuk "menebak" output yang diinginkan.

Karena bagian data lainnya di dalam Block Header tidak dapat diubah, satu-satunya bagian data yang dapat diubah adalah nonce.

Jadi, jika usaha hashing pertama dari Block Hader gagal, penambang akan mengubah nilai nonce.

Anda dapat membayangkan proses ini seperti TRY untuk menemukan kombinasi dari sebuah gembok kombinasi.

Combination Lock

Tidak ada jalan pintas yang dapat digunakan untuk menemukan kombinasi angka yang dapat membuka gembok tersebut. Anda harus mencoba setiap kombinasi yang mungkin sampai pada titik tertentu, Anda menemukan kombinasi yang benar secara kebetulan.

Anda harus menebak berulang-ulang sampai Anda beruntung!

Dan sama seperti sangat mudah dan cepat untuk memeriksa apakah kombinasi kunci adalah kombinasi yang benar (bisa membuka atau tidak), juga sangat mudah dan cepat bagi penambang, dan node-node lain setelahnya, untuk memeriksa apakah nonce tersebut memang benar.

Penambang juga bersaing dengan penambang lainnya. Penambang pertama yang menemukan nonce yang menghasilkan Block Hash yang valid diberikan hak untuk menambahkan bloknya ke dalam blockchain dan diberi imbalan untuk melakukannya.

Sebagai contoh, katakanlah Block Hash harus dimulai dengan setidaknya empat angka nol.

Satu-satunya cara untuk menemukan Block Hash dengan jumlah nol awal yang dibutuhkan adalah dengan memilih nilai nonce secara acak dan menjalankan Block Header melalui fungsi hash.

Dalam skenario ini, penambang memulai dengan "0" untuk nilai nonce (kotak biru muda).

Nonce is 0

Jika hal tersebut gagal memberikan hasil yang diinginkan, maka yang dapat dilakukan oleh penambang adalah mencoba lagi dengan nonce yang berbeda.

Penambang akan mengubah nonce, kemudian memulai lagi sampai ia berhasil menemukan sebuah Block Hash dengan setidaknya jumlah angka nol yang dibutuhkan. Dalam hal ini, empat angka nol.

Ingat, walaupun Anda hanya melakukan sedikit perubahan, dengan fungsi hash, perubahan terkecil sekalipun akan memberikan hasil yang sangat berbeda.

Jadi, upaya pertama penambang adalah menggunakan angka "0" pada nonce. Kemudian menjalankan Block Header melalui fungsi hash dan melihat apakah Block Hash dimulai dengan empat angka nol.

Seperti yang dapat Anda lihat, Bloch Hash hanya dimulai dengan dua angka nol sehingga T IDAK memenuhi kriteria yang dibutuhkan untuk menambahkan blok ke blockchain.

Jika hasilnya tidak valid, penambang akan terus mencoba dengan nilai nonce yang berbeda.

Karena nilai "0" tidak berhasil, penambang dapat mengubah nilai Nonce menjadi "1" (kotak biru muda)dankemudian menjalankan Block Header melalui fungsi hash lagi.

Nonce changed to 1

Seperti yang dapat Anda lihat, Block Hash dimulai tanpa angka nol, jadi ini juga tidak berhasil.

Karena nilai "1" tidak berhasil, penambang dapat mengubah nilai Nonce menjadi "2" (kotak biru muda)dankemudian menjalankan Block Header melalui fungsi hash lagi.

Nonce changed to 2

Dalam kasus ini, Block Hash akhirnya dimulai dengan empat angka nol dan memenuhi kriteria.

Ini adalah hasil Block Hash yang berhasil! 🎉

Seperti yang dapat Anda lihat, tidak dapat diprediksi nonce mana yang akan menghasilkan Block Hash dengan jumlah angka nol yang tepat, sehingga penambang harus terus mencoba nonce yang berbeda untuk menemukan nilai yang tepat.

Penambang dapat menambang dalam jangka waktu yang lama tanpa ada jaminan bahwa mereka akan menemukan nonce yang tepat. Sebagian besar tidak akan pernah!

Nonce digunakan sebagai penghitung, di mana nilainya akan terus bertambah hingga ia menemukan Block Hash yang benar atau penambang lain yang menemukannya.

Ini seperti permainan menebak angka!

Anda hanya TRY untuk menemukan hash yang dimulai dengan sejumlah angka nol dengan mengubah nilai nonce.

Para penambang melakukan hal ini berulang kali.... dengan harapan bahwa hasilnya akan menghasilkan sebuah Block Hash yang memenuhi kriteria.

Semakin kuat komputer mereka, semakin banyak "tebakan" yang dapat mereka lakukan.

Proses "menebak" ini dikenal sebagai penambangan.

Penambang yang "menang" akan mendapatkan imbalan sejumlah bitcoin (ditambah biaya transaksi) yang disebut dengan "block reward".

Seorang penambang memenangkan block reward kira-kira setiap 10 menit.

Hadiah Blok

Karena para penambang menghabiskan begitu banyak waktu dan energi untuk "menebak" nonce yang benar dan mengonfirmasi transaksi di blockchain Bitcoin, maka perangkat lunak Bitcoin memberikan imbalan kepada mereka atas usaha mereka:

  1. Bitcoin yang baru dibuat Ketika seorang penambang mengonfirmasi transaksi, transaksi tersebut digabungkan dalam sebuah blok dan ditambahkan ke dalam blockchain Bitcoin. Untuk setiap blok baru yang ditambahkan ke dalam blockchain, bitcoin baru akan dibayarkan kepada penambang. Hal ini dikenal sebagai subsidi blok. Jumlah bitcoin yang spesifik didasarkan pada jadwal penerbitan yang ditentukan oleh protokol pada saat pembuatan blok. Pada tanggal 20 April 2024, penerbitan baru adalah 3,125 BTC per blok, setelah peristiwa halving terbaru. Halving berikutnya dijadwalkan akan terjadi sekitar tanggal 2 April 2028, ketika hadiah blok akan turun menjadi 1,5625 BTC per blok.
  2. Biaya transaksi. Ketika orang bertransaksi dengan bitcoin, mereka membayar biaya kepada penambang untuk memberikan insentif lebih lanjut kepada mereka untuk mengonfirmasi transaksi mereka. Ketika seorang penambang mengonfirmasi sekumpulan transaksi, ia juga mengumpulkan semua biaya dari setiap transaksi.

Menambang adalah sebuah proses yang monoton dan berulang:

Bitcoin Mining Process

Ambil sebuah Block Header dengan nonce, hash, lihat apakah hash dimulai dengan sejumlah angka nol, dan jika tidak, ulangi prosesnya dengan nonce yang berbeda.

Saya mulai mengantuk hanya dengan memikirkannya. 😴

Jadi, ketika Anda membaca atau mendengar bahwa menambang melibatkan "memecahkan masalah matematika yang rumit", sekarang Anda tahu bahwa itu bukanlah deskripsi yang benar.

Tidak ada yang rumit dalam menambang! Prosesnya sendiri cukup sederhana. Anda hanya perlu menebak angka yang benar secepat mungkin atau cukup cepat untuk menjadi penambang PERTAMA yang menebak dengan benar, sehingga blok kandidat Anda adalah blok yang akan ditambahkan ke dalam blockchain. Itu saja!

"Tingkat hash" menunjukkan "kekuatan menebak" dari sebuah komputer penambangan. Semakin banyak hash yang dapat Anda tebak per detik, semakin tinggi tingkat hash Anda. Sebagai contoh, 1 triliun (1.000.000.000) tebakan per detik sama dengan tingkat hash 1 terrahash (TH/s).

Hanya karena prosesnya sederhana, bukan berarti mudah. Itulah mengapa ini disebut "menambang". Anda TRY untuk "menggali" angka yang benar yang membutuhkan banyak usaha, mirip dengan penambangan yang sebenarnya di dunia nyata.

Setelah penambang menemukan sebuah nonce yang dapat menghasilkan sebuah Block Hash yang memenuhi persyaratan (dimulai dengan setidaknya 4 angka nol), maka blok tersebut akan ditambahkan ke dalam salinan file milik penambang ("blockchain").

Ingatkah Anda bahwa blok biru merupakan blok terbaru dalam blockchain penambang? Sekarang tidak lagi.

Karena penambang dapat menebak nonce yang benar, ia dapat menambahkan bloknya ke blockchain (berwarna hijau).

Block added to blockchain

Jadi, dari tampilan tingkat tinggi, file di komputer penambang telah diperbarui (dilambangkan dengan warna hijau).

Miner's blockchain updated

Kemudian, node akan mengirimkan blok ini ke node terdekat yang terhubung langsung dengannya.

Node-node tersebut akan memeriksanya, memverifikasinya, dan memastikan bahwa Block Header menghasilkan Block Hash yang memenuhi kriteria. Dalam kasus ini, Block Hash harus dimulai dengan empat angka nol.Bitcoin miner propogates new block

Node-node ini akan memperbarui file mereka ("blockchain") dengan menambahkan blok tersebut ke dalam file.

File mereka akan diperbarui dan sekarang menjadi versi yang sama dengan file penambang yang menang (file hijau).

Semua transaksi di mempool mereka yang merupakan bagian dari blok pemenang akan berpindah daristatus "baru"(atau "belum dikonfirmasi") ke status "dikonfirmasi"dan sekarang ditambahkansecara permanen ke dalam file.

Setiap transaksi yang bertentangan akan dikeluarkan.

Berkat proses penambangan, hanya transaksi berwarna ungu yang akan masuk ke dalam blockchain.Blockchain synced across network

Kemudian node-node ini akan meneruskan blok tersebut ke node lainnya.Nodes will pass on the block to other nodes.

Setelah blok baru diterima oleh mayoritas penambang, semua penambang memulai kembali dan membuat kandidat blok baru dan proses penambangan berulang dengan sendirinya.

Penambangan bertindak sebagai mekanisme penyortiran untuk transaksi di seluruh jaringan komputer, di mana blok yang "ditambang" memiliki keputusan akhir tentang apa yang ada di blockchain.

Block Hash dari blok yang baru dibuat ini akan digunakan oleh penambang untuk "Block Hash Sebelumnya" di blok kandidat mereka.

Newly created block will now be used by miners

Block Hash bertindak sebagai"rantai".

Para penambang sekarang harus menyertakan Block Hash dari blok sebelumnya ke dalam blok baru yang mereka buat.

Miner include new block hash in new block

Sebagai contoh, ini berarti untuk menambang blok 101, penambang harus mengetahui hash dari blok 100.

Hingga blok 101 telah ditambang, blok 102 tidak dapat ditambang.

Hal ini memaksa penambang untuk fokus pada blok 101 yang pada gilirannya mencakup hash dari blok 100. Tidak ada penambang yang dapat melewatinya.

Namun, alih-alih memiliki "nomor blok", setiap blok mengacu pada blok sebelumnya dengan Bock Hash-nya .

Hal ini mengimplikasikan bahwa setiap blok terhubung satu sama lain dan inilah yang menciptakan sebuah"rantai blok" yangdikenal sebagai blockchain.

"Rantai blok" ini disatukan bukan oleh nomor blok, tetapi oleh hash blok .

Mengapa Anda Tidak Bisa Menipu Bitcoin

Katakanlah semua orang sedang mengerjakan blok 101.

Namun, seorang penambang ingin mengubah transaksi di blok 80.

Ia harus melakukan perubahan dan mengulang semua perhitungan untuk blok 80-100 DAN juga mengerjakan blok 101.

Itu adalah 21 blok komputasi yang mahal!

Tidak hanya itu, penambang harus melakukan semuanya sebelum penambang lain di jaringan Bitcoin menyelesaikan blok saat ini (blok 101) yang sedang mereka kerjakan. Hal ini pada dasarnya mustahil.

Sangat sulit untuk melakukan perusakan terhadap transaksi yang sudah menjadi bagian dari blockchain.

Inilah yang dimaksud ketika blockchain digambarkan sebagai tidak dapat diubah.

Proof-of-Work (PoW)

Proses penambangan sering disebut sebagai"Proof-of-Work"atau PoW.

PoW dikenal sebagai"mekanisme konsensus" yang digunakan Bitcoin untuk membuat semua node menyetujui salinan "resmi" blockchain Bitcoin. Ini adalah bagaimana Bitcoin dapat mencapai konsensus tanpa perlu penyelesaian sengketa atau intervensi dari otoritas pusat.

Istilah "proof-of-work" hanya mengacu pada fakta bahwa dibutuhkan "kerja" untuk menemukan hash blok di bawah ambang batas tertentu. Dan ketika Anda berhasil menemukannya, siapa pun dapat memverifikasinya dan memberikan "bukti".

Proses "menebak nonce" dan kemudian menjalankan header blok melalui fungsi hash digunakan sebagai cara untuk membuktikan bahwa Anda telah melakukan sejumlah "pekerjaan" yang diperlukan pada blok Anda.

Penambang pertama yang menghasilkan hash yang valid diizinkan untuk menambahkan blok baru ke dalam blockchain dan mereka akan mendapatkan hadiah berupa bitcoin.

Jika ada banyak penambang yang bergabung dengan jaringan Bitcoin, PoW akan menyesuaikan diri untuk membuat lebih sulit menemukan hash blok yang valid. Jika peningkatan kesulitan ini membuat banyak penambang enggan untuk menambang dan mereka berhenti menambang, maka tingkat kesulitan akan diturunkan untuk mempermudah penambangan.

Proses ini, yang dikenal sebagai penyesuaian tingkat kesulitan, terjadi kira-kira setiap dua minggu, dan memastikan bahwa blok baru ditambahkan ke dalam blockchain kira-kira setiap 10 menit, tidak peduli berapa banyak penambang yang bergabung atau meninggalkan jaringan.

Penyesuaian tingkat kesulitan dibuat berdasarkan kecepatan penambang dalam membuat blok baru.

Dengan menyesuaikan tingkat kesulitan penambangan, Bitcoin dapat memastikan bitcoin baru tercipta pada kecepatan yang telah ditentukan, terlepas dari jumlah daya komputasi yang berpartisipasi dalam jaringan.

Penyesuaian tingkat kesulitan ini penting karena memastikan bahwa para penambang tidak dapat menambang terlalu banyak pasokan bitcoin terlalu cepat.

Perangkat keras komputer khusus dan listrik yang dibutuhkan untuk menambang juga berarti bahwa menyerang jaringan akan sangat mahal. Hal ini memastikan keamanan dan integritas blockchain Bitcoin.

Siapa pun yang memiliki daya komputasi yang cukup untuk menyerang jaringan lebih baik menambang dengan jujur dan mendapatkan hadiah blok (bitcoin baru ditambah biaya transaksi).

Tertarik untuk mempelajari lebih lanjut tentang aspek teknis Bitcoin? learnmeabitoin.com menyediakan panduan yang mudah diikuti untuk membantu Anda memahami cara kerja Bitcoin.

Ringkasan

Selamat! Sekarang Anda sudah mengetahui cara kerja "menambang" Bitcoin!

  • Penambang mencari hash yang dapat diterima yang akan menjadi "Block Hash" dengan memilih nonce, menjalankan fungsi hash, dan memeriksa hasilnya.
  • Jika hash tidak memiliki jumlah nol di depan yang tepat, penambang akan mengubah nonce, menjalankan fungsi hash, dan memeriksa lagi.
  • Ketika seorang penambang akhirnya cukup beruntung untuk menemukan nonce yang bekerja, dan "menang", blok tersebut akan dikirim ke node lain (termasuk penambang lain) di jaringan Bitcoin, yang masing-masing kemudian dapat menjalankan fungsi hash dengan nonce penambang yang menang, dan memverifikasi bahwa ia bekerja.
  • Jika solusi tersebut diterima oleh mayoritas node, maka blok tersebut akan ditambahkan ke dalam blockchain dan penambang yang menang akan mendapatkan reward blok tersebut.
  • Semua penambang "mengatur ulang" dan mulai mengerjakan kandidat blok baru, menggunakan hash blok yang baru saja ditambang sebagai referensi di Header Blok mereka (sebagai "Header Blok Sebelumnya").
  • Proses di mana para penambang TRY "menebak" atau menemukan nonce yang benar ini dikenal sebagai "Proof-of-Work" (PoW).

Sekarang setelah kita mempelajari tentang penambang dan penambangan, mari kita perbarui peta sistem Bitcoin:

Bitcoin as a System (Mining Added)