07 / 736HASH

Penambangan

Mining

Bagaimana pembayaran yang menunggu masuk ke blok terkonfirmasi, untuk apa penambang dibayar, dan mengapa pihak lain tetap harus memeriksa hasilnya.

Penambangan adalah persaingan untuk menambahkan blok berikutnya ke riwayat Bitcoin. Penambang merangkai transaksi menjadi blok dan melakukan kerja komputasi untuk mencari hasil yang mudah diperiksa orang lain. Blok yang diterima dapat menghasilkan bitcoin baru dan biaya dari pembayaran di dalamnya. Namun, penambang tidak menetapkan aturan: komputer lain di jaringan memeriksa usulan itu secara mandiri dan menolak blok tidak sah.

Mining: model hasil operasionalBandingkan perkiraan bagian subsidi blok dengan biaya listrik pada hashrate, daya dan biaya pool yang Anda masukkan.

Penambangan bukan menggali koin yang tersembunyi di dalam komputer. Persaingannya adalah mengusulkan blok sah berikutnya: sekumpulan transaksi yang melanjutkan riwayat sebelumnya. Penambang mencari hasil perhitungan yang sulit diperoleh untuk usulan itu. Setelah berhasil, ia mengirim blok kepada pihak lain. Mereka memeriksa perhitungan dan transaksi, lalu memakai aturan yang sama untuk menentukan apakah blok dapat diterima. Bitcoin baru merupakan bagian imbalannya, tetapi penerbitan koin bukan satu-satunya tujuan penambangan. Bagi pengguna, yang penting adalah perubahan dari pembayaran yang menunggu menjadi pembayaran yang tercatat dalam riwayat yang dapat diperiksa. [1] [2]

Saat Anda mengirim pembayaran, transaksi terlebih dahulu menyebar antarnode. Node adalah komputer yang berpartisipasi dalam jaringan Bitcoin; mempool-nya merupakan kumpulan lokal transaksi yang belum terkonfirmasi. Tidak ada satu antrean yang dikelola untuk semua orang. Penambang menyusun blok kandidat dari transaksi yang tersedia, dengan mempertimbangkan biaya dan ruang terbatas. Jika suatu transaksi membelanjakan keluaran transaksi lain yang juga belum terkonfirmasi, transaksi sebelumnya harus ditempatkan lebih dahulu dalam blok yang sama. Perintah getblocktemplate menyediakan bahan untuk membuat blok, termasuk ketergantungan tersebut. Batas bobot blok dan biaya pemeriksaan tanda tangan turut membatasi pemilihan. [1]

Transaksi pertama dalam blok disebut Coinbase Transaction. Ini tidak terkait dengan akun di bursa bernama sama, melainkan transaksi khusus untuk mengalokasikan imbalan yang diizinkan kepada penambang. Imbalan menggabungkan subsidi blok, yaitu bitcoin yang baru dibuat, dengan biaya transaksi lain dalam blok. Biaya adalah selisih nilai masukan dan keluaran, sehingga hanya memindahkan bitcoin yang sudah ada. Jika penambang mengambil terlalu banyak, node menolak seluruh blok. Bahkan imbalan yang benar tidak dapat langsung dibelanjakan: keluaran Coinbase Transaction baru boleh digunakan dalam blok yang tingginya setidaknya 100 lebih besar. [2]

Bayangkan undian yang hasil pemenangnya tidak diketahui sebelumnya, tetapi dapat segera diperiksa siapa pun setelah diumumkan. Penambang menghitung hash, sidik jari digital data yang juga dapat dibaca sebagai angka besar. Untuk blok Bitcoin, angka itu harus lebih kecil atau sama dengan batas bernama target. Itulah syarat Proof of Work. Secara khusus, fungsi hash SHA-256 diterapkan dua kali pada header blok sepanjang 80 byte yang memuat data ringkas utamanya. Penambang tidak memecahkan setiap pembayaran sebagai soal tersendiri. Mereka mengubah data perhitungan dan menguji apakah hasil baru memenuhi syarat. [3]

ASIC adalah cip yang dirancang untuk tugas komputasi tertentu; ASIC penambangan Bitcoin berulang kali menerapkan SHA-256 ganda pada variasi header 80 byte. Salah satu data yang diubah adalah nonce, angka empat byte di dalam header. Rentangnya terbatas. Setelah semua nilainya dicoba, penambang dapat mengubah extra nonce, data tambahan dalam Coinbase Transaction. Perubahan itu mengubah Merkle Root, sidik jari gabungan transaksi, lalu header, sehingga tersedia kandidat baru. Tidak ada kegagalan yang mendekatkan mesin pada kemenangan pasti. Sepuluh menit juga bukan janji bagi seorang penambang, melainkan rata-rata sasaran seluruh jaringan. [3]

Penambang punya alasan untuk menyusun blok sah: usulan yang ditolak tidak memberi imbalan yang dapat digunakan. Namun, pemeriksaannya tidak menggantikan pemeriksaan pihak lain. Full Node adalah komputer yang memeriksa sendiri aturan Bitcoin, termasuk transaksi, imbalan, dan Proof of Work. Misalnya, ia menolak blok yang membuat bitcoin melebihi jumlah yang diizinkan, sekalipun penambang mengerahkan daya komputasi besar. Dengan menjalankan node sendiri, pengguna tidak perlu hanya percaya pada klaim penambang bahwa bloknya benar. [2] [4]

Penambang solo mungkin menunggu sangat lama untuk berhasil. Mining Pool memungkinkan peserta membagi kerja dan pendapatan. Untuk memperkirakan kontribusi mesin, operator juga menerima hasil yang memenuhi batas internal lebih mudah. Hasil ini disebut share. Sebagian besar share tidak cukup untuk jaringan Bitcoin; hanya sebagian yang juga memenuhi syarat jaringan yang lebih ketat. Pembayaran kepada peserta bergantung pada model pembayaran, ketentuan yang disepakati, dan biaya pool. Bergabung dengan pool tidak memberi hak untuk mengubah aturan Bitcoin. Operator juga belum tentu memiliki mesin yang terhubung; porsi blok yang ditemukan tidak membuktikan kepemilikan peralatan. [3]

Setelah perhitungan berhasil, blok lengkap masih harus sampai ke node lain. Dua penambang dapat menemukan blok sah berbeda dengan pendahulu sama hampir bersamaan. Untuk sementara, sebagian jaringan mengenal satu cabang dan sebagian lain cabang kedua. Node mengikuti cabang sah dengan kerja terakumulasi terbesar, yaitu jumlah kerja yang diperhitungkan bagi blok-bloknya. Blok berikutnya dapat mengarahkan pilihan ke salah satu cabang. Blok pada cabang yang ditinggalkan mungkin sah, tetapi imbalannya tidak menjadi bagian riwayat aktif. Karena itu penambang perlu menyebarkan hasil dengan cepat dan berhenti mengerjakan usulan lama setelah menerima ujung rantai yang baru. [4]

Hashrate mengukur jumlah percobaan hash per detik. Bagian seorang penambang dari total daya komputasi jaringan membantu memperkirakan frekuensi keberhasilan, tetapi tidak menjamin pendapatan teratur. Pendapatan pun bukan laba: biaya listrik, pendinginan, peralatan, perawatan, dan pool harus dikurangi. Waktu henti dapat memperburuk hasil. Perhatikan pula satuan: TH/s mengukur kinerja komputasi, sedangkan watt mengukur daya listrik yang dipakai. Mesin berkinerja tinggi bisa merugi saat listrik mahal, dan satu temuan beruntung tidak membuktikan keuntungan jangka panjang. [3]

Pada node sendiri, Anda dapat membandingkan usulan getblocktemplate dengan header, Coinbase Transaction, dan transaksi biasa dalam blok yang ditemukan. Perintah seperti getblocktemplate merupakan bagian antarmuka teknis node, bukan layanan tempat Anda harus menitipkan uang. submitblock menyerahkan blok yang selesai kepada node untuk diperiksa. Penerimaan lokal tidak menjamin blok akan selamanya berada dalam riwayat jaringan. Pada pool, bedakan share yang dikirim, blok Bitcoin yang diterima, dan jumlah yang benar-benar dibayarkan. Bersama biaya operasi, data itu memperlihatkan hasil ekonomi penambangan. [5]

Untuk gambaran yang lebih utuh, baca entri ini bersama Proof of Work, Difficulty Adjustment, Block Subsidy, Transaction Fees, Mempool. Entri ini juga dirujuk dari Proof of Work, Difficulty Adjustment, Block Subsidy, Halving.

DOC · 001Bitcoin Core v29.0: block assemblerSumber primer DOC · 002Bitcoin Core v29.0: block validationSumber primer DOC · 003Bitcoin Developer Guide: MiningSumber primer DOC · 004Bitcoin whitepaperSumber primer DOC · 005BIP 22: getblocktemplateSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi