Menyingkap Misteri Penambangan

PemulaJul 15, 2024
Artikel ini memberikan pengantar yang detail tentang proses "penambangan" dalam blockchain. Dengan menggunakan analogi dengan kegiatan penambangan tradisional, artikel ini menjelaskan konsep dasar dari penambangan digital, yang melibatkan penggunaan sumber daya komputasi untuk memecahkan masalah matematika untuk validasi transaksi dan penerbitan mata uang baru.
Menyingkap Misteri Penambangan

teruskan judul asli '白话区块链三:揭开挖矿神秘的面纱——挖矿是什么?为什么要挖矿?谁是我们买不起显卡的罪魁祸首?’

Salah satu konsep yang paling dikenal terkait dengan blockchain untuk semua orang mungkin adalah penambangan. Banyak orang mungkin pernah mendengar tentang penambangan berkali-kali tetapi tidak begitu yakin dengan apa sebenarnya yang terlibat. Di bagian ini, kami akan menginterupsi program reguler kami untuk pertama kali memperkenalkan "penambangan".

ringkasan cepat konten dari "plain blockchain 1: pengantar bitcoin (pelopor revolusi blockchain dan penantang mata uang kedaulatan)," di mana satoshi nakamoto merancang sistem moneter bitcoin untuk menghubungkan imbalan untuk pencatatan dengan penerbitan mata uang. Pendekatan ini memungkinkan penerbitan mata uang diotomatisasi melalui proses pencatatan, memecahkan masalah penerbitan mata uang sambil mendorong pencatat untuk aktif berpartisipasi.

1. apa itu penambangan?

di dunia nyata, penambangan melibatkan para penambang yang menggunakan berbagai alat untuk menggali logam mulia yang tersembunyi di batuan dari tambang. para penambang mengekstrak nilai dari logam langka yang tersembunyi di alam melalui kerja fisik.

untuk proyek blockchain dengan imbalan untuk pencatatan (biasanya proyek mata uang digital), node jaringan menggunakan sumber daya komputasi untuk menyelesaikan masalah. begitu mereka menemukan solusinya, mereka memasukkan blok dan menerima imbalan berupa mata uang yang baru diterbitkan. proses ini analog dengan mengekstraksi logam mulia seperti emas dari bijih, oleh karena itu sering disebut sebagai "penambangan." di sini, para pencatat adalah para penambang, yang bersaing untuk memasukkan blok menggunakan perangkat keras dan listrik, yang menghasilkan penciptaan mata uang baru.

2. mengapa penambangan diperlukan?

penambangan memiliki dua tujuan utama: memvalidasi transaksi terbaru dengan mengemasnya ke dalam blok dan mengaitkannya ke blockchain, dan mengeluarkan mata uang baru dengan memberi imbalan kepada para penjaga buku. berikut adalah fungsi-fungsi detail dari penambangan:

  1. pemilihan juru buku: diperlukan strategi untuk memilih juru buku aktual dari banyak kandidat. hasil penambangan digunakan sebagai dasar pemilihan ini, memastikan bahwa setiap transaksi diakui oleh semua peserta, mencapai konsensus di seluruh jaringan.
  2. verifikasi transaksi: setiap transaksi bitcoin perlu diverifikasi oleh para penambang di jaringan. proses ini mengkonfirmasi validitas transaksi, termasuk:
    • memastikan format dan ukuran transaksi memenuhi spesifikasi.
    • memverifikasi keabsahan tanda tangan setiap transaksi untuk memastikan bahwa transaksi tersebut diinisiasi oleh pengguna yang memiliki kunci pribadi terkait.
    • memeriksa bahwa jumlah masukan melebihi jumlah keluaran (dengan sebagian jumlah diambil sebagai biaya), memastikan bahwa token yang digunakan untuk pembayaran tidak pernah digunakan dua kali.
    • mengonfirmasi bahwa transaksi tersebut sebelumnya belum dimasukkan ke dalam blok.
  3. penambangan mata uang baru: penambangan juga merupakan cara masuknya bitcoin baru ke dalam peredaran. ketika seorang penambang berhasil menambang blok baru, mereka menerima sejumlah bitcoin sebagai imbalan. mekanisme imbalan ini tidak hanya memberikan insentif kepada orang-orang untuk berpartisipasi dalam penambangan, tetapi juga berfungsi sebagai metode penerbitan bitcoin. metode penerbitan mata uang ini memastikan peningkatan yang stabil dan terkontrol dalam peredaran mata uang, membantu mengelola inflasi.
  4. mendorong partisipasi: mekanisme penghargaan memotivasi lebih banyak orang untuk berpartisipasi dalam menjaga sistem mata uang, mempromosikan perkembangannya yang berkelanjutan dan kuat.
  5. meningkatkan keamanan jaringan dan desentralisasi: imbalan dari penambangan menghasilkan banyak penambang, sehingga mengakibatkan daya komputasi yang terdistribusi. desentralisasi ini memastikan bahwa tidak ada satu entitas pun yang dapat mengendalikan 50% dari daya komputasi, dengan demikian meningkatkan transparansi dan keamanan sistem. Mematuhi prinsip rantai terpanjang lebih lanjut meningkatkan keamanan sistem.

3. mengapa para penambang bersedia berpartisipasi dalam penambangan?

Penambang didorong untuk berpartisipasi dalam penambangan karena mereka menerima imbalan substansial untuk berhasil memasang blok ke dalam blockchain. Imbalan ini berasal dari dua sumber utama:

  • imbalan blok (mata uang yang baru diterbitkan): sistem mata uang secara otomatis menerbitkan mata uang baru, yang seluruhnya diberikan kepada penambang. sebagai contoh, dalam sistem bitcoin, saat ini, para penambang menerima 3.125 bitcoin untuk setiap blok yang mereka kemas. mengingat setiap bitcoin dihargai sekitar $65,000, mengemas satu blok dapat menghasilkan lebih dari $200,000, sekitar 1.47 juta rmb.
  • biaya transaksi yang dibayarkan oleh pengguna: karena kapasitas terbatas dari blok untuk menyimpan catatan transaksi, beberapa pengguna membayar biaya transaksi untuk mendorong penambang untuk mengutamakan transaksi mereka agar lebih cepat dikonfirmasi. saat memilih transaksi dari pool untuk dimasukkan ke dalam blok, penambang cenderung memilih transaksi dengan biaya yang lebih tinggi. satu blok dapat berisi ribuan transaksi, dan semua biaya dari transaksi ini diberikan kepada penambang, yang merupakan sumber pendapatan signifikan lainnya. ketika lebih banyak orang menggunakan bitcoin untuk transaksi, persaingan untuk dimasukkan ke dalam blok semakin intens, sehingga menyebabkan biaya yang lebih tinggi yang pengguna bersedia bayar.

Seiring berjalannya waktu, imbalan blok akan berkurang (misalnya, karena mekanisme pembelahan bitcoin, di mana imbalannya dikurangi sekitar setiap empat tahun). akhirnya, setelah semua 21 juta bitcoin ditambang, diperkirakan sekitar tahun 2141, imbalan blok otomatis akan berhenti ada, dan biaya transaksi akan menjadi sumber pendapatan utama bagi para penambang.

petunjuk

bitcoin menghasilkan blok baru sekitar setiap 10 menit. Awalnya, setiap blok baru menghasilkan 50 bitcoin. Hadiah ini mengalami pengurangan separuh setiap empat tahun, dan hingga saat ini, telah terjadi empat kali peristiwa pengurangan separuh. Saat ini, setiap blok menghasilkan 3,125 bitcoin, dengan peristiwa pengurangan separuh terbaru terjadi pada April 2024. Pengurangan separuh berikutnya diperkirakan akan terjadi sekitar tahun 2028. Pada sekitar tahun 2141, bitcoin akan mencapai batas penerbitannya.

biaya transaksi tidak hanya dipengaruhi oleh penawaran dan permintaan tetapi juga oleh ukuran transaksi, karena biaya tersebut sebanding dengan ruang yang digunakan transaksi dalam blok.

4. bagaimana cara berpartisipasi dalam penambangan

untuk para penambang, berpartisipasi dalam penambangan sangatlah mudah. unduh klien dompet mata uang digital, dan di dalam klien, klik tombol penambangan untuk memulai penambangan.

untuk proyek blockchain dengan hadiah blok, algoritma penambangan biasanya ditulis ke dalam skrip yang terintegrasi ke dalam dompet. penambang hanya perlu mengklik tombol untuk memulai skrip.

algoritma penambangan bersifat deterministik, artinya selama penambang terus menjalankan algoritma, mereka akhirnya akan mendapatkan hasil. namun, karena sumber daya komputasi yang bervariasi, waktu yang diperlukan untuk menghitung hasil ini bisa berbeda di antara penambang. begitu sebuah node menghitung nilai target, usaha penambang lain selama periode tersebut menjadi sia-sia, mengakibatkan pengembalian negatif karena sumber daya fisik yang dikeluarkan.

Untuk menghindari upaya yang sia-sia, penambang seringkali menggabungkan sumber daya komputasi mereka dengan bergabung ke dalam sebuah node penambangan yang tergabung dalam sebuah pool. Node ini beroperasi seperti node lainnya, tetapi memiliki kekuatan komputasi yang jauh lebih besar. Ketika pool berhasil menambang blok, hadiah dibagikan di antara para penambang yang berpartisipasi berdasarkan sumber daya komputasi yang mereka sumbangkan. Penting untuk dicatat bahwa dalam blockchain, penambang yang tercatat sebagai pengemas blok adalah node pool penambangan, sedangkan penambang individu menerima bagian mereka dari hadiah yang dialokasikan oleh pool, bukan langsung dari sistem mata uang.

Bitmain, sebuah perusahaan yang memproduksi chip penambangan khusus berdaya tinggi, telah mengukuhkan peran kolam penambangan, yang berkontribusi pada sentralisasi kekuasaan pencatatan buku.

5. spesifik dari teka-teki penambangan

proyek blockchain yang berbeda mungkin memiliki teka-teki penambangan yang berbeda dan tingkat kesulitan yang berbeda. di sini, kami mengambil contoh bitcoin. algoritma penambangan yang digunakan oleh bitcoin disebut proof of work (pow). inti dari algoritma ini adalah bahwa untuk mendapatkan hasil, sejumlah kerja harus dikeluarkan untuk membuktikannya.

teka-teki penambangan bukanlah masalah matematika tradisional tetapi melibatkan menemukan nomor acak, yang dikenal sebagai nonce. nonce ini, saat digabungkan dengan data dalam blok dan diproses melalui sebuah fungsi hash, harus menghasilkan nilai hash yang memenuhi kondisi tertentu. Biasanya, kondisi ini memerlukan nilai hash agar lebih kecil dari nilai target (atau, ekuivalen, bahwa n bit pertama nilai hash adalah nol). Persamaannya adalah sebagai berikut: hash(nonce+block_data)≤target\text{hash}(\text{nonce} + \text{block_data}) \leq \text{target}hash(nonce+block_data)≤target

Bitcoin menggunakan fungsi hash sha-256, yang mengonversi panjang input apa pun menjadi output berukuran tetap sebesar 256 bit (setara dengan 64 digit heksadesimal atau 32 byte). Outputnya hampir acak tapi dijamin akan sama untuk input yang sama. Penambangan melibatkan terus-menerus mengubah nonce dan menghash data header blok menggunakan sha-256 sampai nilai hash yang memenuhi kondisi target ditemukan.

sebagai contoh, sebuah nilai hash sha-256 dengan 30 bit pertama adalah nol: 000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110

mengonversi ini menjadi heksadesimal menghasilkan nilai yang dimulai dengan tujuh nol: 00000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac90

untuk menyederhanakan, probabilitas menemukan hash dengan n bit pertama yang nol adalah 12n\frac{1}{2^n}2n1​. semakin besar n, semakin banyak bit yang nol, dan semakin rendah probabilitasnya:

  • n=10n = 10n=10: 1 in 1,024
  • n=20n = 20n=20: 1 in 1,048,576
  • n=30n = 30n=30: 1 dalam 1,073,741,824
  • n=40n = 40n=40: 1 dari 1.099.511.627.776
  • n=50n = 50n=50: 1 in 1,125,899,906,842,624

dengan n hingga 256, menemukan nilai hash seperti itu dengan kekuatan komputasi manusia saat ini, kecuali komputer kuantum, hampir tidak mungkin sebelum bumi berhenti ada.

karena sifat sha-256, satu-satunya metode adalah kekerasan, yang melibatkan terus-menerus mencoba nonce yang berbeda sampai kondisi terpenuhi. kebutuhan akan peralatan komputasi berkinerja tinggi itulah mengapa penambangan memerlukan perangkat tersebut.

karena Anda tidak dapat memprediksi nilai hash yang dihasilkan dengan menambahkan nonce ke data blok dan melewatinya melalui sha-256, prosesnya sepenuhnya acak. misalnya, jika nilai hash target adalah 10.000, Anda tidak memiliki cara untuk mengetahui nonce mana yang dikombinasikan dengan data blok akan menghasilkan nilai hash kurang dari 10.000. sifat yang tidak dapat diprediksi dan acak ini berarti para penambang harus terus menghitung kemungkinan sampai kondisinya terpenuhi. jika beberapa nilai memenuhi kondisi, nilai hash terkecil dipilih karena nilai hash yang lebih kecil menunjukkan kesulitan yang lebih tinggi dan kemungkinan terjadinya yang lebih rendah.

memverifikasi apakah nilai hash yang dihasilkan memenuhi persyaratan adalah mudah, hanya memerlukan satu operasi perbandingan. Namun, menemukan nilai hash yang kurang dari atau sama dengan nilai target hanya dapat dicapai melalui enumerasi kekerasan. Karakteristik ini, di mana memverifikasi hasilnya mudah tetapi menemukan hasilnya sulit, dikenal sebagai asimetri komputasi.

6. simulasi kode dari algoritma penambangan

kode berikut mensimulasikan proses penambangan. dimulai dengan string data header blok “geekbang” dan mencari secara bertahap dari nilai nonce 10.000 sampai menemukan nonce yang memenuhi kondisi yang ditentukan.

berikut adalah skrip python yang menggambarkan proses penambangan:

impor hashlibdef utama ():    base_string = "geekbang"    nonce = 10000    hitung = 0    saat benar:        target_string = base_string + str(nonce)        pow_hash = hashlib.sha256(target_string.encode ()). hexdigest ()        hitung + = 1        if pow_hash.startswith ("0000"):  # 4 digit heksa pertama adalah 0, setara dengan 16 bit pertama yang merupakan 0            print ("hash:", pow_hash)            print ("nonce:", nonce, "jumlah pemindaian:", hitung)            break        nonce + = 1if __name__ == '__main__':    utama ()

saat persyaratannya adalah bahwa 4 digit heksadesimal pertama dari hasil hash adalah nol (setara dengan 16 bit pertama yang nol), jumlah perhitungan sekitar 58.000. jika persyaratannya ditingkatkan menjadi 5 digit pertama yang nol, jumlah perhitungan meningkat menjadi 1,23 juta. saat persyaratannya adalah 7 digit pertama yang nol, jumlah perhitungan mencapai 160 juta. ini mengilustrasikan bahwa setiap nol tambahan dalam awalan hash meningkatkan komputasi sekitar 16 kali.

ini adalah hasil untuk kondisi target yang berbeda:

empat digit hex pertama adalah nol (16 bit):

import hashlib

def utama():

base_string = "geekbang"nonce = 10000count = 0while true:    target_string = base_string + str(nonce)    pow_hash = hashlib.sha256(target_string).hexdigest()    count = count + 1    if pow_hash.startswith("0000"): # 前4个16进制位是0,相当于前16个比特位是0    print pow_hash    print "nonce: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/51d786353cf4ac886dbb869fc7abf883dac67ceb.png"  scan times: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/4ebdb22f10c27f8797a1c2ae7bbbd78f40220ed4.png"" % (nonce, count)    break    nonce = nonce + 1

jika nama == ‘utama‘:

main()

seperti yang terlihat, peningkatan jumlah nol terdepan yang diperlukan dalam hash secara signifikan meningkatkan jumlah percobaan yang diperlukan, mengikuti pola pertumbuhan eksponensial. ini menunjukkan kesulitan komputasi dan sumber daya yang diperlukan untuk penambangan, yang menekankan perlunya perangkat komputasi berkinerja tinggi dalam proses penambangan.

7. penyesuaian kesulitan dinamis

untuk memastikan bahwa blok dihasilkan kira-kira setiap 10 menit, sistem bitcoin menyesuaikan kesulitan penambangan dengan mengubah jumlah nol terkemuka yang diperlukan dalam nilai hash. mekanisme penyesuaian kesulitan ini merupakan bagian penting dari sistem bitcoin. mekanisme ini mengevaluasi waktu yang diperlukan untuk menghasilkan 2016 blok terakhir, yang seharusnya idealnya sekitar dua minggu. jika blok-blok ini ditambang dalam waktu kurang dari dua minggu, kesulitan meningkat dengan menambahkan lebih banyak nol terkemuka (menurunkan nilai target). sebaliknya, jika membutuhkan waktu lebih dari dua minggu, kesulitan berkurang dengan mengurangi jumlah nol terkemuka (menaikkan nilai target). mekanisme ini memastikan bahwa waktu untuk menghasilkan blok tetap sekitar 10 menit, bahkan ketika hash rate total jaringan bergejolak.

mekanisme penyesuaian kesulitan ini, dirancang oleh pencipta bitcoin satoshi nakamoto, direncanakan dari awal untuk secara otomatis beradaptasi dengan total daya komputasi jaringan. Ini menjaga kecepatan penambangan yang stabil dan mencegah mata uang diterbitkan terlalu cepat, yang dapat mengganggu ekonomi pasar.

8. proses eksekusi algoritma penambangan

berbagai proyek blockchain mungkin memiliki algoritma penambangan yang berbeda. di sini, kami mendeskripsikan yang paling terkenal: algoritma penambangan bitcoin.

proses eksekusi algoritma penambangan yang mendasari bitcoin adalah sebagai berikut:

  1. memilih transaksi: pilih beberapa transaksi dari memori pool (biasanya memprioritaskan transaksi dengan biaya yang lebih tinggi). secara otomatis menghasilkan transaksi khusus (sering disebut transaksi coinbase) di mana penerima adalah penambang, dan jumlah transaksi adalah hadiah blok ditambah semua biaya transaksi yang dipilih. letakkan transaksi khusus ini di awal transaksi yang dipilih untuk membentuk set transaksi untuk blok yang akan dikemas.
  2. membangun pohon merkle: membangun pohon hash merkle dari set transaksi. sebuah pohon merkle adalah pohon biner di mana setiap simpul daun menyimpan hash dari transaksi, secara unik mengidentifikasi dan mengindeksnya. setiap simpul atas menyimpan hash gabungan dari simpul anaknya, yang berakhir di simpul akar. simpul akar secara unik mengidentifikasi pohon merkle dan, dengan perpanjangan, semua transaksi.
  3. membangun header blok: merangkai header blok dari nilai merkle root, nonce, versi blok, hash blok sebelumnya, timestamp, target kesulitan, dan nonce. ukuran header blok adalah 80 byte.
  4. melakukan hash pada header blok: terus-menerus mengubah nilai nonce di header blok dan melakukan hash sha-256 ganda pada konten header blok (yaitu, sha256(sha256(header_blok))). bandingkan hash yang dihasilkan dengan nilai target saat ini jaringan. jika hasilnya kurang dari nilai target (menunjukkan bahwa n bit pertama adalah nol), maka teka-teki terpecahkan, dan bukti kerja selesai.
  5. menyiarkan blok: mengirim blok yang baru ditambang ke node tetangga, memberi tahu mereka bahwa blok telah berhasil ditambang.
  6. verifikasi dan penyebaran: setelah menerima blok baru, node lain melakukan double hash pada header blok untuk mendapatkan hash blok. mereka memverifikasi bahwa n bit pertama dari hash blok adalah nol, mengakui blok tersebut, menghentikan perhitungan untuk blok ini, dan menyebarkannya ke node tetangga mereka.

ukuran setiap kolom dalam header blok adalah sebagai berikut:

https://time.geekbang.org/column/article/5963

alt="">

struktur pohon merkle adalah sebagai berikut:

大后端私房菜]. alt="">

9. kontroversi dalam penambangan

kontroversi utama yang melibatkan penambangan adalah algoritma proof of work (pow) yang digunakan oleh bitcoin dan derivatifnya. algoritma-algoritma ini memerlukan para penambang untuk mengalokasikan sumber daya komputasi yang substansial untuk menyelesaikan masalah yang disepakati oleh jaringan. Banyak orang bekerja pada komputasi-komputasi ini secara bersamaan, tetapi hanya yang pertama menyelesaikan masalah yang mendapatkan imbalan. Sumber daya komputasi dan listrik para peserta lainnya pada dasarnya terbuang percuma, tidak menghasilkan nilai tambah.

ada dua jalur utama untuk mengoptimalkan pemborosan sumber daya ini:

  1. beralih ke algoritma yang membutuhkan sumber daya lebih sedikit: misalnya, ethereum telah beralih dari algoritma pow ke algoritma proof of stake (pos), yang secara signifikan mengurangi pemborosan sumber daya.
  2. menggunakan sumber daya listrik yang tidak terpakai: node penambangan sedang bereksperimen dengan menggunakan sumber energi terbarukan, seperti tenaga angin, untuk operasi penambangan. perkembangan signifikan lainnya adalah pemanfaatan gas alam yang seharusnya terbuang. selain itu, beberapa lembaga sedang menjelajahi cara untuk mendaur ulang panas berlebih yang dihasilkan oleh penambangan bitcoin.

10. pertanyaan

apa nilai dari penambangan? sepertinya pemborosan sumber daya dan tidak berarti bagi masyarakat.

ketika mengunjungi bagian 'mengapa penambangan diperlukan?' dari artikel ini, signifikansi langsung dari penambangan adalah bahwa itu mendukung penerbitan mata uang digital. Hadiah penambangan mendorong lebih banyak orang untuk berpartisipasi dalam mempertahankan mata uang digital, membuatnya lebih stabil. Selain itu, algoritma penambangan menopang konsistensi transaksi dalam sistem mata uang digital, membuatnya lebih kuat dan kurang rentan terhadap serangan internal dan eksternal.

signifikansi tidak langsung dari penambangan berasal dari mata uang digital itu sendiri. mata uang digital menciptakan sistem moneter global yang tidak memerlukan kepercayaan di mana transaksi aman dapat terjadi tanpa perlu institusi terpusat, menghindari kelemahan sentralisasi. sifat global mereka juga memungkinkan transaksi lintas batas yang efisien dan murah.

Apakah pengembalian penambangan akan berkurang hingga di bawah biaya, menyebabkan para penambang berhenti menambang dan transaksi berhenti?

Ini adalah kekhawatiran umum bahwa hasil penambangan semata-mata bergantung pada imbalan sistem, yang menurun seiring waktu. Namun, penambangan juga menghasilkan pendapatan yang signifikan dari biaya transaksi. Saat mata uang digital semakin diterima, pasar untuk transaksi mata uang digital akan berkembang. Volume transaksi yang meningkat ini akan memperkuat persaingan untuk inklusi blok, menyebabkan biaya yang lebih tinggi yang pengguna bersedia bayar untuk memprioritaskan transaksi mereka. Akibatnya, penambang dapat terus menghasilkan biaya transaksi yang substansial, memastikan kelangsungan proses transaksi.

Jika biaya penambangan melebihi biaya blockchain, apakah penambangan dapat dilanjutkan?

apakah biaya transaksi akan mengkompensasi biaya penambangan?

Ya, biaya transaksi dapat membantu mengkompensasi biaya penambangan. Seiring berkurangnya hadiah blok dari waktu ke waktu, biaya transaksi menjadi sumber pendapatan yang penting bagi para penambang. Hal ini memastikan bahwa meskipun biaya listrik tinggi, para penambang masih dapat menjalankan operasi mereka melalui biaya yang dibayarkan oleh pengguna untuk pemrosesan transaksi.

Apa yang terjadi jika beberapa penambang menyelesaikan teka-teki secara bersamaan?

Apakah beberapa penambang membagi hadiah penambangan jika mereka secara bersamaan menyiarkan blok baru mereka?

tidak, jika beberapa penambang menyelesaikan teka-teki dan menyiarkan blok baru mereka pada saat yang bersamaan, itu menciptakan garpu sementara dalam blockchain. Berikut cara kerjanya:

  1. cabang sementara: ketika beberapa node menerima dua blok valid dengan tinggi yang sama, mereka sementara menyimpan kedua blok tersebut, menyebabkan cabang sementara di blockchain.
  2. menyelesaikan fork: saat blok baru ditambang, node akan terus membangun pada rantai terpanjang. jaringan akhirnya akan konvergen pada satu rantai, membuang yang lebih pendek.
  3. memilih rantai utama: node mengikuti rantai terpanjang (yang memiliki bukti kerja terbanyak). penambang yang bloknya berakhir di rantai terpanjang menerima hadiah, sementara blok lain menjadi blok “yatim piatu”.

contoh:

  • penambang a dan penambang b sama-sama menambang blok pada ketinggian yang sama dan menyiaratkannya.
  • beberapa node menerima blok penambang a terlebih dahulu, sementara yang lain menerima blok penambang b.
  • kedua rantai ada sementara waktu.
  • Ketika blok berikutnya ditambang, jika ditambahkan ke rantai penambang A, rantai itu menjadi yang terpanjang, dan node akan mengadopsinya sebagai rantai utama.
  • Penambang A menerima hadiah, dan blok penambang B dibuang.

mengapa node dengan lebih dari 50% hash power tidak curang?

apa itu serangan 51% dan mengapa tidak ada penambang super yang curang?

serangan 51% terjadi ketika satu entitas atau kelompok mengendalikan lebih dari 50% dari daya komputasi jaringan. inilah mengapa supernode biasanya tidak curang:

  1. mustahil secara praktis: memiliki 51% dari total kekuatan hash jaringan sangat tidak mungkin terjadi karena skala dan desentralisasi yang sangat besar pada mata uang kripto utama seperti bitcoin.
  2. validasi jaringan: bahkan jika super node mencoba untuk curang, semua node akan memvalidasi setiap blok secara independen. transaksi yang tidak valid atau percobaan double-spend akan ditolak oleh jaringan, membuat upaya super node menjadi sia-sia.
  3. reputasi dan insentif ekonomi: super node mendapatkan keuntungan lebih dari menjaga integritas blockchain daripada menyerangnya. serangan yang berhasil dapat menurunkan nilai mata uang kripto, merugikan investasi penyerang.
  4. jenis serangan:
    • double spend: mencoba untuk menghabiskan koin yang sama dua kali.
    • pemblokiran transaksi: mencegah beberapa transaksi tertentu untuk dimasukkan ke dalam blok.
    • penambangan egois: mencoba mendapatkan lebih banyak imbalan penambangan dengan secara selektif mengungkapkan blok.
    • manipulasi timestamp: mengubah timestamp blok untuk memperoleh keuntungan dalam penambangan.
    • Empty Block Attack: Menambang blok tanpa transaksi untuk memperlambat jaringan.

mengapa blockchain mengasumsikan tidak adanya penjaga buku tetap untuk mencegah transaksi penipuan

bagaimana blockchain mencegah gangguan yang disengaja dan transaksi penipuan?

  1. verifikasi oleh node tetangga: ketika sebuah blok didistribusikan ke node tetangga, node-node ini akan memeriksa transaksi dalam blok tersebut. jika mereka menemukan transaksi yang tidak valid, mereka akan menolak blok tersebut dan tidak menyebarkannya lebih lanjut.
  2. mekanisme konsensus: mekanisme konsensus bitcoin mengandalkan prinsip rantai terpanjang. semua simpul jaringan mencoba memperpanjang rantai valid terpanjang. jika seseorang mencoba mengubah catatan sejarah (misalnya, menghapus transaksi), mereka harus memodifikasi semua blok berikutnya yang terhubung ke blok yang dimanipulasi dan memastikan rantai yang dimodifikasi lebih panjang dari rantai utama saat ini. ini memerlukan sumber daya komputasi yang sangat besar, sehingga praktis tidak mungkin dilakukan.

mencegah distribusi blok yang tidak konsisten oleh penambang

  1. Konsistensi dalam distribusi blok: Seorang penambang tidak dapat menemukan beberapa nilai nonce yang valid dalam jangka waktu singkat, mencegah mereka mendistribusikan blok sah yang berbeda ke node yang berbeda secara bersamaan. Setiap blok ilegal akan dibuang oleh node tetangga.

apa itu kolam transaksi (mempool)?

definisi dan fungsi: dalam jaringan blockchain, semua transaksi yang disiarkan yang belum termasuk dalam blok disimpan sementara di memori pool (mempool) dari node jaringan. para penambang memantau mempool mereka untuk memilih transaksi untuk membangun blok baru.

strategi pemilihan transaksi: penambang dapat memilih transaksi dari mempool berdasarkan strategi mereka. Umumnya, mereka memprioritaskan transaksi dengan biaya yang lebih tinggi, tetapi beberapa mungkin juga mempertimbangkan faktor lain, seperti usia transaksi (waktu yang dihabiskannya di mempool).

sumber pendapatan dalam sistem bitcoin

siapa yang berpartisipasi dan bagaimana mereka mendapatkan: selain pengguna, tiga peserta utama dalam sistem bitcoin adalah penambang, pengembang, dan operator node.

  1. penambang: dapatkan imbalan dan biaya transaksi melalui penambangan.
  2. pengembang dan operator node: umumnya tidak langsung menghasilkan dari sistem bitcoin. kontribusi mereka seringkali idealis, bertujuan untuk menjaga integritas sistem. mereka mungkin menerima penghasilan melalui cara lain, seperti sumbangan dan sponsor. partisipasi mereka dalam penambangan bergantung pada preferensi individual.

Mengapa harga GPU meningkat? Mengapa GPU penambangan tidak diinginkan?

kenaikan harga gpu: permintaan tinggi dari para penambang untuk keperluan penambangan telah menyebabkan kelangkaan pasokan, sehingga menyebabkan harga naik.

penambangan gpu: penambangan gpu adalah gpu yang sebelumnya digunakan untuk penambangan cryptocurrency. gpu ini menjalani komputasi intensif, yang mengakibatkan kerusakan yang signifikan. karena performanya yang menurun, sebagian besar orang lebih memilih untuk tidak membeli gpu penambangan bekas.

Apakah penambang perlu menyimpan seluruh data ledger?

Persyaratan penyimpanan redundan penuh: Ya, penambang perlu menyimpan seluruh buku besar blockchain untuk memverifikasi apakah token sebelumnya telah dihabiskan dan untuk memastikan keamanan dan integritas buku besar. Namun, untuk blok yang sangat awal, penambang hanya perlu menyimpan header blok, bukan isi blok penuh. Ini membantu menjaga efisiensi blockchain sambil menjaga keamanannya.

Apa yang terjadi ketika batas suplai bitcoin tercapai?

tidak ada hadiah otomatis di luar 21 juta bitcoin: begitu pasokan total bitcoin mencapai batasnya sebesar 21 juta, sistem tidak akan lagi mengeluarkan bitcoin baru sebagai hadiah untuk penambang. jika pengguna juga tidak bersedia membayar biaya transaksi, secara teoritis, sistem transaksi dapat menghadapi tantangan operasional. Namun, kemungkinan besar pengguna akan bersedia membayar biaya transaksi untuk memproses transaksi mereka, memastikan kelangsungan sistem.

tinggi blok akan terus meningkat: bahkan setelah mencapai pasokan maksimum 21 juta bitcoin, tinggi blok (jumlah total blok) akan terus meningkat selama penambang bersedia menambang dan memasukkan transaksi ke dalam blok baru. tinggi blok tidak terbatas oleh batas pasokan bitcoin.

potensi perubahan konsensus: komunitas dapat mengusulkan perubahan pada aturan konsensus, seperti meningkatkan pasokan total bitcoin, untuk memungkinkan pembuatan koin baru jika diperlukan.

Bagaimana penambang dihargai?

transaksi coinbase: dalam blockchain bitcoin, hadiah penambang didistribusikan melalui transaksi khusus yang dikenal sebagai “transaksi coinbase” atau “hadiah blok.” transaksi ini memiliki karakteristik unik:

  1. Tidak diperlukan penyiaran: Transaksi Coinbase adalah transaksi pertama di setiap blok, dibuat secara otomatis oleh algoritma penambangan dan tidak perlu disiarkan ke node lain.
  2. tidak ada input: berbeda dengan transaksi bitcoin biasa, transaksi coinbase tidak memiliki input (tidak ada pengirim). transaksi ini menghasilkan bitcoin baru yang diberikan kepada penambang.
  3. keluaran: transaksi coinbase mengeluarkan hadiah ke alamat dompet penambang, yang mencakup bitcoin yang baru dicetak dan semua biaya transaksi dari transaksi yang dimasukkan dalam blok.

Bagaimana pendapatan penambang dihitung?

perhitungan pendapatan per blok: pendapatan penambang dihitung setiap kali blok berhasil ditambang dan dikonfirmasi oleh mekanisme konsensus jaringan. penambang (atau kolam penambangan) yang menambang blok menerima imbalan blok dan biaya transaksi kumulatif dari semua transaksi yang disertakan dalam blok.

proses penerimaan imbalan: setelah penambang atau kolam penambangan berhasil menambang blok dan blok tersebut dikonfirmasi oleh jaringan, mereka menerima imbalan blok dan biaya transaksi. ini dilakukan melalui transaksi coinbase, yang mengkonversi biaya dan imbalan menjadi output transaksi yang belum dihabiskan (utxo) yang dikreditkan ke akun penambang.

apakah blok dibuat secara berurutan atau secara paralel?

penciptaan berurutan: blok-blok dibuat secara berurutan dalam blockchain. blok baru hanya dapat dibuat setelah blok sebelumnya berhasil ditambang dan ditambahkan ke dalam rantai.

Transaksi pengemasan

beberapa transaksi per blok: blok biasanya berisi beberapa transaksi. penambang menyertakan sebanyak mungkin transaksi untuk memaksimalkan penghasilan biaya transaksi mereka, bukan memaketkan transaksi secara individu.

penggunaan ruang blok

Blok yang terisi sebagian: Sebagian besar blok tidak sepenuhnya digunakan. Penambang mulai bekerja pada blok berikutnya segera setelah mereka menemukan hash yang valid yang memenuhi persyaratan kesulitan, terlepas dari apakah blok tersebut benar-benar penuh.

penambangan tanpa transaksi

blok kosong: blok dapat ditambang bahkan jika tidak ada transaksi yang akan dimasukkan. blok-blok ini, disebut blok kosong, masih memberikan imbalan sistem kepada penambang.

Menangani cabang blockchain

Aturan rantai terpanjang: ketika terjadi fork, jaringan mengikuti rantai dengan bukti kerja yang paling banyak terakumulasi, yang biasanya merupakan rantai terpanjang. node beralih ke rantai yang lebih panjang begitu menjadi jelas mana yang memiliki lebih banyak pekerjaan yang dimasukkan ke dalamnya.

mencegah pengeluaran ganda

Resolusi pengeluaran ganda:

  • jika sebuah blok berisi transaksi yang bertentangan (double spend), hanya transaksi valid pertama yang disertakan dalam blok yang dianggap valid. transaksi bertentangan lainnya dibuang.
  • jika dua transaksi yang konflik dimasukkan ke dalam blok yang berbeda, yang ada di blok yang dikonfirmasi terlebih dahulu dianggap valid.

penanganan penggandaan pengeluaran yang detail

proses validasi:

  • antara blok: jika dua transaksi yang mencoba menghabiskan koin yang sama disertakan dalam blok-blok terpisah, transaksi dalam blok yang dikonfirmasi pertama akan dianggap sah. blok yang berisi transaksi yang bertentangan akan ditolak.
  • dalam satu blok: jika dua transaksi yang saling bertentangan dimasukkan ke dalam satu blok, penambang hanya akan memasukkan satu. Penambang biasanya memilih berdasarkan biaya transaksi (biaya yang lebih tinggi mendapat prioritas) atau usia transaksi (transaksi yang lebih awal mendapat prioritas).

Bagaimana pengguna mengontrol jumlah biaya transaksi yang mereka bayar?

perhitungan biaya transaksi: pengguna dapat mengontrol biaya transaksi untuk mempercepat konfirmasi transaksi mereka. biaya ditentukan oleh rumus berikut:

Biaya transaksi = total input − total output − perubahan

pengguna menetapkan biaya transaksi dengan menyesuaikan jumlah masukan, jumlah keluaran, dan jumlah kembalian.

proses penambangan mata uang digital

  1. persiapkan peralatan penambangan: siapkan perangkat keras penambangan atau perangkat komputasi berperforma tinggi.
  2. memastikan akses internet: hubungkan peralatan penambangan ke internet.
  3. unduh dompet digital: dapatkan dompet digital dan hasilkan kunci pribadi dan publik Anda.
  4. Mulai menambang: Klik tombol penambangan di dompet untuk mulai menambang.

penambangan dalam kolam renang

pembagian penghasilan: saat penambangan dalam sebuah pool, node pool menerima hadiah blok. pool kemudian membagikan penghasilan kepada anggotanya berdasarkan daya komputasi yang mereka sumbangkan. pembagian ini dilakukan melalui transfer ke dompet para penambang.

apa itu penambangan egois?

penambangan egois: penambangan egois adalah strategi di mana seorang penambang (atau kolam penambangan) menemukan blok baru tetapi tidak segera menyiarkannya. sebaliknya, mereka terus menambang secara pribadi pada rantai mereka (rantai tersembunyi). begitu mereka menemukan blok tambahan, mereka menyiarkannya semua sekaligus. ini dapat membatalkan pekerjaan penambang lain dan memiringkan kekuatan komputasi serta imbalan ke arah penambang egois. bitcoin dapat mengurangi dampak penambangan egois dengan memperbaiki protokol penyiaran.

validasi node saat menerima transaksi dan blok

validasi transaksi: ketika suatu transaksi disiarkan ke sebuah node, ia akan mengalami beberapa pemeriksaan untuk menentukan apakah harus ditambahkan ke mempool:

  1. format transaksi: memverifikasi kebenaran struktur data transaksi.
  2. tanda tangan transaksi: memvalidasi keaslian tanda tangan transaksi.
  3. double-spending: pastikan bahwa input tidak pernah digunakan sebelumnya di mempool atau blockchain.
  4. masukan dan keluaran: pastikan jumlah masukan total lebih besar atau sama dengan jumlah keluaran total.
  5. script transaksi: menjalankan dan memverifikasi skrip (terutama dalam kontrak pintar).
  6. locktime: periksa apakah kondisi locktime (tinggi blok atau waktu) terpenuhi.
  7. Ukuran dan biaya transaksi: Pastikan ukuran dan biaya transaksi memadai.

validasi blok: ketika node penambang menerima blok baru, ia melakukan pemeriksaan yang ekstensif terhadap blok dan transaksinya:

  1. validitas transaksi: validasi setiap transaksi dalam blok (pemeriksaan yang sama seperti validasi transaksi).
  2. Pemeriksaan khusus blok:
    • ukuran blok: pastikan ukuran blok berada dalam batas yang diizinkan.
    • hadiah blok: memverifikasi hadiah blok (bitcoin baru yang baru dicetak dan biaya transaksi) benar.
    • Merkle root: menghitung dan memvalidasi akar Merkle blok.
    • timestamp: konfirmasikan bahwa timestamp blok berada dalam rentang waktu yang wajar.
    • Target kesulitan: Periksa apakah blok memenuhi target kesulitan saat ini.

11. Referensi

[1] kuliah 12 | teknologi blockchain mendalam (4): konsensus pow-penjelasan mendalam tentang blockchain-geek time:sanggahan:

  1. artikel ini dicetak ulang dari[Gate.io belajartim, dan mereka akan menanganinya dengan segera.
  2. penyangkalan tanggung jawab: pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan nasihat investasi apa pun.
  3. Penerjemahan artikel ke bahasa lain dilakukan oleh tim Gate.io Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Menyingkap Misteri Penambangan

PemulaJul 15, 2024
Artikel ini memberikan pengantar yang detail tentang proses "penambangan" dalam blockchain. Dengan menggunakan analogi dengan kegiatan penambangan tradisional, artikel ini menjelaskan konsep dasar dari penambangan digital, yang melibatkan penggunaan sumber daya komputasi untuk memecahkan masalah matematika untuk validasi transaksi dan penerbitan mata uang baru.
Menyingkap Misteri Penambangan

teruskan judul asli '白话区块链三:揭开挖矿神秘的面纱——挖矿是什么?为什么要挖矿?谁是我们买不起显卡的罪魁祸首?’

Salah satu konsep yang paling dikenal terkait dengan blockchain untuk semua orang mungkin adalah penambangan. Banyak orang mungkin pernah mendengar tentang penambangan berkali-kali tetapi tidak begitu yakin dengan apa sebenarnya yang terlibat. Di bagian ini, kami akan menginterupsi program reguler kami untuk pertama kali memperkenalkan "penambangan".

ringkasan cepat konten dari "plain blockchain 1: pengantar bitcoin (pelopor revolusi blockchain dan penantang mata uang kedaulatan)," di mana satoshi nakamoto merancang sistem moneter bitcoin untuk menghubungkan imbalan untuk pencatatan dengan penerbitan mata uang. Pendekatan ini memungkinkan penerbitan mata uang diotomatisasi melalui proses pencatatan, memecahkan masalah penerbitan mata uang sambil mendorong pencatat untuk aktif berpartisipasi.

1. apa itu penambangan?

di dunia nyata, penambangan melibatkan para penambang yang menggunakan berbagai alat untuk menggali logam mulia yang tersembunyi di batuan dari tambang. para penambang mengekstrak nilai dari logam langka yang tersembunyi di alam melalui kerja fisik.

untuk proyek blockchain dengan imbalan untuk pencatatan (biasanya proyek mata uang digital), node jaringan menggunakan sumber daya komputasi untuk menyelesaikan masalah. begitu mereka menemukan solusinya, mereka memasukkan blok dan menerima imbalan berupa mata uang yang baru diterbitkan. proses ini analog dengan mengekstraksi logam mulia seperti emas dari bijih, oleh karena itu sering disebut sebagai "penambangan." di sini, para pencatat adalah para penambang, yang bersaing untuk memasukkan blok menggunakan perangkat keras dan listrik, yang menghasilkan penciptaan mata uang baru.

2. mengapa penambangan diperlukan?

penambangan memiliki dua tujuan utama: memvalidasi transaksi terbaru dengan mengemasnya ke dalam blok dan mengaitkannya ke blockchain, dan mengeluarkan mata uang baru dengan memberi imbalan kepada para penjaga buku. berikut adalah fungsi-fungsi detail dari penambangan:

  1. pemilihan juru buku: diperlukan strategi untuk memilih juru buku aktual dari banyak kandidat. hasil penambangan digunakan sebagai dasar pemilihan ini, memastikan bahwa setiap transaksi diakui oleh semua peserta, mencapai konsensus di seluruh jaringan.
  2. verifikasi transaksi: setiap transaksi bitcoin perlu diverifikasi oleh para penambang di jaringan. proses ini mengkonfirmasi validitas transaksi, termasuk:
    • memastikan format dan ukuran transaksi memenuhi spesifikasi.
    • memverifikasi keabsahan tanda tangan setiap transaksi untuk memastikan bahwa transaksi tersebut diinisiasi oleh pengguna yang memiliki kunci pribadi terkait.
    • memeriksa bahwa jumlah masukan melebihi jumlah keluaran (dengan sebagian jumlah diambil sebagai biaya), memastikan bahwa token yang digunakan untuk pembayaran tidak pernah digunakan dua kali.
    • mengonfirmasi bahwa transaksi tersebut sebelumnya belum dimasukkan ke dalam blok.
  3. penambangan mata uang baru: penambangan juga merupakan cara masuknya bitcoin baru ke dalam peredaran. ketika seorang penambang berhasil menambang blok baru, mereka menerima sejumlah bitcoin sebagai imbalan. mekanisme imbalan ini tidak hanya memberikan insentif kepada orang-orang untuk berpartisipasi dalam penambangan, tetapi juga berfungsi sebagai metode penerbitan bitcoin. metode penerbitan mata uang ini memastikan peningkatan yang stabil dan terkontrol dalam peredaran mata uang, membantu mengelola inflasi.
  4. mendorong partisipasi: mekanisme penghargaan memotivasi lebih banyak orang untuk berpartisipasi dalam menjaga sistem mata uang, mempromosikan perkembangannya yang berkelanjutan dan kuat.
  5. meningkatkan keamanan jaringan dan desentralisasi: imbalan dari penambangan menghasilkan banyak penambang, sehingga mengakibatkan daya komputasi yang terdistribusi. desentralisasi ini memastikan bahwa tidak ada satu entitas pun yang dapat mengendalikan 50% dari daya komputasi, dengan demikian meningkatkan transparansi dan keamanan sistem. Mematuhi prinsip rantai terpanjang lebih lanjut meningkatkan keamanan sistem.

3. mengapa para penambang bersedia berpartisipasi dalam penambangan?

Penambang didorong untuk berpartisipasi dalam penambangan karena mereka menerima imbalan substansial untuk berhasil memasang blok ke dalam blockchain. Imbalan ini berasal dari dua sumber utama:

  • imbalan blok (mata uang yang baru diterbitkan): sistem mata uang secara otomatis menerbitkan mata uang baru, yang seluruhnya diberikan kepada penambang. sebagai contoh, dalam sistem bitcoin, saat ini, para penambang menerima 3.125 bitcoin untuk setiap blok yang mereka kemas. mengingat setiap bitcoin dihargai sekitar $65,000, mengemas satu blok dapat menghasilkan lebih dari $200,000, sekitar 1.47 juta rmb.
  • biaya transaksi yang dibayarkan oleh pengguna: karena kapasitas terbatas dari blok untuk menyimpan catatan transaksi, beberapa pengguna membayar biaya transaksi untuk mendorong penambang untuk mengutamakan transaksi mereka agar lebih cepat dikonfirmasi. saat memilih transaksi dari pool untuk dimasukkan ke dalam blok, penambang cenderung memilih transaksi dengan biaya yang lebih tinggi. satu blok dapat berisi ribuan transaksi, dan semua biaya dari transaksi ini diberikan kepada penambang, yang merupakan sumber pendapatan signifikan lainnya. ketika lebih banyak orang menggunakan bitcoin untuk transaksi, persaingan untuk dimasukkan ke dalam blok semakin intens, sehingga menyebabkan biaya yang lebih tinggi yang pengguna bersedia bayar.

Seiring berjalannya waktu, imbalan blok akan berkurang (misalnya, karena mekanisme pembelahan bitcoin, di mana imbalannya dikurangi sekitar setiap empat tahun). akhirnya, setelah semua 21 juta bitcoin ditambang, diperkirakan sekitar tahun 2141, imbalan blok otomatis akan berhenti ada, dan biaya transaksi akan menjadi sumber pendapatan utama bagi para penambang.

petunjuk

bitcoin menghasilkan blok baru sekitar setiap 10 menit. Awalnya, setiap blok baru menghasilkan 50 bitcoin. Hadiah ini mengalami pengurangan separuh setiap empat tahun, dan hingga saat ini, telah terjadi empat kali peristiwa pengurangan separuh. Saat ini, setiap blok menghasilkan 3,125 bitcoin, dengan peristiwa pengurangan separuh terbaru terjadi pada April 2024. Pengurangan separuh berikutnya diperkirakan akan terjadi sekitar tahun 2028. Pada sekitar tahun 2141, bitcoin akan mencapai batas penerbitannya.

biaya transaksi tidak hanya dipengaruhi oleh penawaran dan permintaan tetapi juga oleh ukuran transaksi, karena biaya tersebut sebanding dengan ruang yang digunakan transaksi dalam blok.

4. bagaimana cara berpartisipasi dalam penambangan

untuk para penambang, berpartisipasi dalam penambangan sangatlah mudah. unduh klien dompet mata uang digital, dan di dalam klien, klik tombol penambangan untuk memulai penambangan.

untuk proyek blockchain dengan hadiah blok, algoritma penambangan biasanya ditulis ke dalam skrip yang terintegrasi ke dalam dompet. penambang hanya perlu mengklik tombol untuk memulai skrip.

algoritma penambangan bersifat deterministik, artinya selama penambang terus menjalankan algoritma, mereka akhirnya akan mendapatkan hasil. namun, karena sumber daya komputasi yang bervariasi, waktu yang diperlukan untuk menghitung hasil ini bisa berbeda di antara penambang. begitu sebuah node menghitung nilai target, usaha penambang lain selama periode tersebut menjadi sia-sia, mengakibatkan pengembalian negatif karena sumber daya fisik yang dikeluarkan.

Untuk menghindari upaya yang sia-sia, penambang seringkali menggabungkan sumber daya komputasi mereka dengan bergabung ke dalam sebuah node penambangan yang tergabung dalam sebuah pool. Node ini beroperasi seperti node lainnya, tetapi memiliki kekuatan komputasi yang jauh lebih besar. Ketika pool berhasil menambang blok, hadiah dibagikan di antara para penambang yang berpartisipasi berdasarkan sumber daya komputasi yang mereka sumbangkan. Penting untuk dicatat bahwa dalam blockchain, penambang yang tercatat sebagai pengemas blok adalah node pool penambangan, sedangkan penambang individu menerima bagian mereka dari hadiah yang dialokasikan oleh pool, bukan langsung dari sistem mata uang.

Bitmain, sebuah perusahaan yang memproduksi chip penambangan khusus berdaya tinggi, telah mengukuhkan peran kolam penambangan, yang berkontribusi pada sentralisasi kekuasaan pencatatan buku.

5. spesifik dari teka-teki penambangan

proyek blockchain yang berbeda mungkin memiliki teka-teki penambangan yang berbeda dan tingkat kesulitan yang berbeda. di sini, kami mengambil contoh bitcoin. algoritma penambangan yang digunakan oleh bitcoin disebut proof of work (pow). inti dari algoritma ini adalah bahwa untuk mendapatkan hasil, sejumlah kerja harus dikeluarkan untuk membuktikannya.

teka-teki penambangan bukanlah masalah matematika tradisional tetapi melibatkan menemukan nomor acak, yang dikenal sebagai nonce. nonce ini, saat digabungkan dengan data dalam blok dan diproses melalui sebuah fungsi hash, harus menghasilkan nilai hash yang memenuhi kondisi tertentu. Biasanya, kondisi ini memerlukan nilai hash agar lebih kecil dari nilai target (atau, ekuivalen, bahwa n bit pertama nilai hash adalah nol). Persamaannya adalah sebagai berikut: hash(nonce+block_data)≤target\text{hash}(\text{nonce} + \text{block_data}) \leq \text{target}hash(nonce+block_data)≤target

Bitcoin menggunakan fungsi hash sha-256, yang mengonversi panjang input apa pun menjadi output berukuran tetap sebesar 256 bit (setara dengan 64 digit heksadesimal atau 32 byte). Outputnya hampir acak tapi dijamin akan sama untuk input yang sama. Penambangan melibatkan terus-menerus mengubah nonce dan menghash data header blok menggunakan sha-256 sampai nilai hash yang memenuhi kondisi target ditemukan.

sebagai contoh, sebuah nilai hash sha-256 dengan 30 bit pertama adalah nol: 000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110000000000000000000000000000000111111010000011011000100100110111011000110100010011011000110100010110110101010011101011010100100011011010001111101001111110101001101111101011110011100011110011110000111000100110000001011011010001110011100110010111010010010010001101010110010110

mengonversi ini menjadi heksadesimal menghasilkan nilai yang dimulai dengan tujuh nol: 00000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac9000000003f41b126ec689b1a2da9d5d46d13d0fd1bece47983d59c5d32eb4ac90

untuk menyederhanakan, probabilitas menemukan hash dengan n bit pertama yang nol adalah 12n\frac{1}{2^n}2n1​. semakin besar n, semakin banyak bit yang nol, dan semakin rendah probabilitasnya:

  • n=10n = 10n=10: 1 in 1,024
  • n=20n = 20n=20: 1 in 1,048,576
  • n=30n = 30n=30: 1 dalam 1,073,741,824
  • n=40n = 40n=40: 1 dari 1.099.511.627.776
  • n=50n = 50n=50: 1 in 1,125,899,906,842,624

dengan n hingga 256, menemukan nilai hash seperti itu dengan kekuatan komputasi manusia saat ini, kecuali komputer kuantum, hampir tidak mungkin sebelum bumi berhenti ada.

karena sifat sha-256, satu-satunya metode adalah kekerasan, yang melibatkan terus-menerus mencoba nonce yang berbeda sampai kondisi terpenuhi. kebutuhan akan peralatan komputasi berkinerja tinggi itulah mengapa penambangan memerlukan perangkat tersebut.

karena Anda tidak dapat memprediksi nilai hash yang dihasilkan dengan menambahkan nonce ke data blok dan melewatinya melalui sha-256, prosesnya sepenuhnya acak. misalnya, jika nilai hash target adalah 10.000, Anda tidak memiliki cara untuk mengetahui nonce mana yang dikombinasikan dengan data blok akan menghasilkan nilai hash kurang dari 10.000. sifat yang tidak dapat diprediksi dan acak ini berarti para penambang harus terus menghitung kemungkinan sampai kondisinya terpenuhi. jika beberapa nilai memenuhi kondisi, nilai hash terkecil dipilih karena nilai hash yang lebih kecil menunjukkan kesulitan yang lebih tinggi dan kemungkinan terjadinya yang lebih rendah.

memverifikasi apakah nilai hash yang dihasilkan memenuhi persyaratan adalah mudah, hanya memerlukan satu operasi perbandingan. Namun, menemukan nilai hash yang kurang dari atau sama dengan nilai target hanya dapat dicapai melalui enumerasi kekerasan. Karakteristik ini, di mana memverifikasi hasilnya mudah tetapi menemukan hasilnya sulit, dikenal sebagai asimetri komputasi.

6. simulasi kode dari algoritma penambangan

kode berikut mensimulasikan proses penambangan. dimulai dengan string data header blok “geekbang” dan mencari secara bertahap dari nilai nonce 10.000 sampai menemukan nonce yang memenuhi kondisi yang ditentukan.

berikut adalah skrip python yang menggambarkan proses penambangan:

impor hashlibdef utama ():    base_string = "geekbang"    nonce = 10000    hitung = 0    saat benar:        target_string = base_string + str(nonce)        pow_hash = hashlib.sha256(target_string.encode ()). hexdigest ()        hitung + = 1        if pow_hash.startswith ("0000"):  # 4 digit heksa pertama adalah 0, setara dengan 16 bit pertama yang merupakan 0            print ("hash:", pow_hash)            print ("nonce:", nonce, "jumlah pemindaian:", hitung)            break        nonce + = 1if __name__ == '__main__':    utama ()

saat persyaratannya adalah bahwa 4 digit heksadesimal pertama dari hasil hash adalah nol (setara dengan 16 bit pertama yang nol), jumlah perhitungan sekitar 58.000. jika persyaratannya ditingkatkan menjadi 5 digit pertama yang nol, jumlah perhitungan meningkat menjadi 1,23 juta. saat persyaratannya adalah 7 digit pertama yang nol, jumlah perhitungan mencapai 160 juta. ini mengilustrasikan bahwa setiap nol tambahan dalam awalan hash meningkatkan komputasi sekitar 16 kali.

ini adalah hasil untuk kondisi target yang berbeda:

empat digit hex pertama adalah nol (16 bit):

import hashlib

def utama():

base_string = "geekbang"nonce = 10000count = 0while true:    target_string = base_string + str(nonce)    pow_hash = hashlib.sha256(target_string).hexdigest()    count = count + 1    if pow_hash.startswith("0000"): # 前4个16进制位是0,相当于前16个比特位是0    print pow_hash    print "nonce: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/51d786353cf4ac886dbb869fc7abf883dac67ceb.png"  scan times: https://s3.ap-northeast-1.amazonaws.com/gimg.gateimg.com/learn/4ebdb22f10c27f8797a1c2ae7bbbd78f40220ed4.png"" % (nonce, count)    break    nonce = nonce + 1

jika nama == ‘utama‘:

main()

seperti yang terlihat, peningkatan jumlah nol terdepan yang diperlukan dalam hash secara signifikan meningkatkan jumlah percobaan yang diperlukan, mengikuti pola pertumbuhan eksponensial. ini menunjukkan kesulitan komputasi dan sumber daya yang diperlukan untuk penambangan, yang menekankan perlunya perangkat komputasi berkinerja tinggi dalam proses penambangan.

7. penyesuaian kesulitan dinamis

untuk memastikan bahwa blok dihasilkan kira-kira setiap 10 menit, sistem bitcoin menyesuaikan kesulitan penambangan dengan mengubah jumlah nol terkemuka yang diperlukan dalam nilai hash. mekanisme penyesuaian kesulitan ini merupakan bagian penting dari sistem bitcoin. mekanisme ini mengevaluasi waktu yang diperlukan untuk menghasilkan 2016 blok terakhir, yang seharusnya idealnya sekitar dua minggu. jika blok-blok ini ditambang dalam waktu kurang dari dua minggu, kesulitan meningkat dengan menambahkan lebih banyak nol terkemuka (menurunkan nilai target). sebaliknya, jika membutuhkan waktu lebih dari dua minggu, kesulitan berkurang dengan mengurangi jumlah nol terkemuka (menaikkan nilai target). mekanisme ini memastikan bahwa waktu untuk menghasilkan blok tetap sekitar 10 menit, bahkan ketika hash rate total jaringan bergejolak.

mekanisme penyesuaian kesulitan ini, dirancang oleh pencipta bitcoin satoshi nakamoto, direncanakan dari awal untuk secara otomatis beradaptasi dengan total daya komputasi jaringan. Ini menjaga kecepatan penambangan yang stabil dan mencegah mata uang diterbitkan terlalu cepat, yang dapat mengganggu ekonomi pasar.

8. proses eksekusi algoritma penambangan

berbagai proyek blockchain mungkin memiliki algoritma penambangan yang berbeda. di sini, kami mendeskripsikan yang paling terkenal: algoritma penambangan bitcoin.

proses eksekusi algoritma penambangan yang mendasari bitcoin adalah sebagai berikut:

  1. memilih transaksi: pilih beberapa transaksi dari memori pool (biasanya memprioritaskan transaksi dengan biaya yang lebih tinggi). secara otomatis menghasilkan transaksi khusus (sering disebut transaksi coinbase) di mana penerima adalah penambang, dan jumlah transaksi adalah hadiah blok ditambah semua biaya transaksi yang dipilih. letakkan transaksi khusus ini di awal transaksi yang dipilih untuk membentuk set transaksi untuk blok yang akan dikemas.
  2. membangun pohon merkle: membangun pohon hash merkle dari set transaksi. sebuah pohon merkle adalah pohon biner di mana setiap simpul daun menyimpan hash dari transaksi, secara unik mengidentifikasi dan mengindeksnya. setiap simpul atas menyimpan hash gabungan dari simpul anaknya, yang berakhir di simpul akar. simpul akar secara unik mengidentifikasi pohon merkle dan, dengan perpanjangan, semua transaksi.
  3. membangun header blok: merangkai header blok dari nilai merkle root, nonce, versi blok, hash blok sebelumnya, timestamp, target kesulitan, dan nonce. ukuran header blok adalah 80 byte.
  4. melakukan hash pada header blok: terus-menerus mengubah nilai nonce di header blok dan melakukan hash sha-256 ganda pada konten header blok (yaitu, sha256(sha256(header_blok))). bandingkan hash yang dihasilkan dengan nilai target saat ini jaringan. jika hasilnya kurang dari nilai target (menunjukkan bahwa n bit pertama adalah nol), maka teka-teki terpecahkan, dan bukti kerja selesai.
  5. menyiarkan blok: mengirim blok yang baru ditambang ke node tetangga, memberi tahu mereka bahwa blok telah berhasil ditambang.
  6. verifikasi dan penyebaran: setelah menerima blok baru, node lain melakukan double hash pada header blok untuk mendapatkan hash blok. mereka memverifikasi bahwa n bit pertama dari hash blok adalah nol, mengakui blok tersebut, menghentikan perhitungan untuk blok ini, dan menyebarkannya ke node tetangga mereka.

ukuran setiap kolom dalam header blok adalah sebagai berikut:

https://time.geekbang.org/column/article/5963

alt="">

struktur pohon merkle adalah sebagai berikut:

大后端私房菜]. alt="">

9. kontroversi dalam penambangan

kontroversi utama yang melibatkan penambangan adalah algoritma proof of work (pow) yang digunakan oleh bitcoin dan derivatifnya. algoritma-algoritma ini memerlukan para penambang untuk mengalokasikan sumber daya komputasi yang substansial untuk menyelesaikan masalah yang disepakati oleh jaringan. Banyak orang bekerja pada komputasi-komputasi ini secara bersamaan, tetapi hanya yang pertama menyelesaikan masalah yang mendapatkan imbalan. Sumber daya komputasi dan listrik para peserta lainnya pada dasarnya terbuang percuma, tidak menghasilkan nilai tambah.

ada dua jalur utama untuk mengoptimalkan pemborosan sumber daya ini:

  1. beralih ke algoritma yang membutuhkan sumber daya lebih sedikit: misalnya, ethereum telah beralih dari algoritma pow ke algoritma proof of stake (pos), yang secara signifikan mengurangi pemborosan sumber daya.
  2. menggunakan sumber daya listrik yang tidak terpakai: node penambangan sedang bereksperimen dengan menggunakan sumber energi terbarukan, seperti tenaga angin, untuk operasi penambangan. perkembangan signifikan lainnya adalah pemanfaatan gas alam yang seharusnya terbuang. selain itu, beberapa lembaga sedang menjelajahi cara untuk mendaur ulang panas berlebih yang dihasilkan oleh penambangan bitcoin.

10. pertanyaan

apa nilai dari penambangan? sepertinya pemborosan sumber daya dan tidak berarti bagi masyarakat.

ketika mengunjungi bagian 'mengapa penambangan diperlukan?' dari artikel ini, signifikansi langsung dari penambangan adalah bahwa itu mendukung penerbitan mata uang digital. Hadiah penambangan mendorong lebih banyak orang untuk berpartisipasi dalam mempertahankan mata uang digital, membuatnya lebih stabil. Selain itu, algoritma penambangan menopang konsistensi transaksi dalam sistem mata uang digital, membuatnya lebih kuat dan kurang rentan terhadap serangan internal dan eksternal.

signifikansi tidak langsung dari penambangan berasal dari mata uang digital itu sendiri. mata uang digital menciptakan sistem moneter global yang tidak memerlukan kepercayaan di mana transaksi aman dapat terjadi tanpa perlu institusi terpusat, menghindari kelemahan sentralisasi. sifat global mereka juga memungkinkan transaksi lintas batas yang efisien dan murah.

Apakah pengembalian penambangan akan berkurang hingga di bawah biaya, menyebabkan para penambang berhenti menambang dan transaksi berhenti?

Ini adalah kekhawatiran umum bahwa hasil penambangan semata-mata bergantung pada imbalan sistem, yang menurun seiring waktu. Namun, penambangan juga menghasilkan pendapatan yang signifikan dari biaya transaksi. Saat mata uang digital semakin diterima, pasar untuk transaksi mata uang digital akan berkembang. Volume transaksi yang meningkat ini akan memperkuat persaingan untuk inklusi blok, menyebabkan biaya yang lebih tinggi yang pengguna bersedia bayar untuk memprioritaskan transaksi mereka. Akibatnya, penambang dapat terus menghasilkan biaya transaksi yang substansial, memastikan kelangsungan proses transaksi.

Jika biaya penambangan melebihi biaya blockchain, apakah penambangan dapat dilanjutkan?

apakah biaya transaksi akan mengkompensasi biaya penambangan?

Ya, biaya transaksi dapat membantu mengkompensasi biaya penambangan. Seiring berkurangnya hadiah blok dari waktu ke waktu, biaya transaksi menjadi sumber pendapatan yang penting bagi para penambang. Hal ini memastikan bahwa meskipun biaya listrik tinggi, para penambang masih dapat menjalankan operasi mereka melalui biaya yang dibayarkan oleh pengguna untuk pemrosesan transaksi.

Apa yang terjadi jika beberapa penambang menyelesaikan teka-teki secara bersamaan?

Apakah beberapa penambang membagi hadiah penambangan jika mereka secara bersamaan menyiarkan blok baru mereka?

tidak, jika beberapa penambang menyelesaikan teka-teki dan menyiarkan blok baru mereka pada saat yang bersamaan, itu menciptakan garpu sementara dalam blockchain. Berikut cara kerjanya:

  1. cabang sementara: ketika beberapa node menerima dua blok valid dengan tinggi yang sama, mereka sementara menyimpan kedua blok tersebut, menyebabkan cabang sementara di blockchain.
  2. menyelesaikan fork: saat blok baru ditambang, node akan terus membangun pada rantai terpanjang. jaringan akhirnya akan konvergen pada satu rantai, membuang yang lebih pendek.
  3. memilih rantai utama: node mengikuti rantai terpanjang (yang memiliki bukti kerja terbanyak). penambang yang bloknya berakhir di rantai terpanjang menerima hadiah, sementara blok lain menjadi blok “yatim piatu”.

contoh:

  • penambang a dan penambang b sama-sama menambang blok pada ketinggian yang sama dan menyiaratkannya.
  • beberapa node menerima blok penambang a terlebih dahulu, sementara yang lain menerima blok penambang b.
  • kedua rantai ada sementara waktu.
  • Ketika blok berikutnya ditambang, jika ditambahkan ke rantai penambang A, rantai itu menjadi yang terpanjang, dan node akan mengadopsinya sebagai rantai utama.
  • Penambang A menerima hadiah, dan blok penambang B dibuang.

mengapa node dengan lebih dari 50% hash power tidak curang?

apa itu serangan 51% dan mengapa tidak ada penambang super yang curang?

serangan 51% terjadi ketika satu entitas atau kelompok mengendalikan lebih dari 50% dari daya komputasi jaringan. inilah mengapa supernode biasanya tidak curang:

  1. mustahil secara praktis: memiliki 51% dari total kekuatan hash jaringan sangat tidak mungkin terjadi karena skala dan desentralisasi yang sangat besar pada mata uang kripto utama seperti bitcoin.
  2. validasi jaringan: bahkan jika super node mencoba untuk curang, semua node akan memvalidasi setiap blok secara independen. transaksi yang tidak valid atau percobaan double-spend akan ditolak oleh jaringan, membuat upaya super node menjadi sia-sia.
  3. reputasi dan insentif ekonomi: super node mendapatkan keuntungan lebih dari menjaga integritas blockchain daripada menyerangnya. serangan yang berhasil dapat menurunkan nilai mata uang kripto, merugikan investasi penyerang.
  4. jenis serangan:
    • double spend: mencoba untuk menghabiskan koin yang sama dua kali.
    • pemblokiran transaksi: mencegah beberapa transaksi tertentu untuk dimasukkan ke dalam blok.
    • penambangan egois: mencoba mendapatkan lebih banyak imbalan penambangan dengan secara selektif mengungkapkan blok.
    • manipulasi timestamp: mengubah timestamp blok untuk memperoleh keuntungan dalam penambangan.
    • Empty Block Attack: Menambang blok tanpa transaksi untuk memperlambat jaringan.

mengapa blockchain mengasumsikan tidak adanya penjaga buku tetap untuk mencegah transaksi penipuan

bagaimana blockchain mencegah gangguan yang disengaja dan transaksi penipuan?

  1. verifikasi oleh node tetangga: ketika sebuah blok didistribusikan ke node tetangga, node-node ini akan memeriksa transaksi dalam blok tersebut. jika mereka menemukan transaksi yang tidak valid, mereka akan menolak blok tersebut dan tidak menyebarkannya lebih lanjut.
  2. mekanisme konsensus: mekanisme konsensus bitcoin mengandalkan prinsip rantai terpanjang. semua simpul jaringan mencoba memperpanjang rantai valid terpanjang. jika seseorang mencoba mengubah catatan sejarah (misalnya, menghapus transaksi), mereka harus memodifikasi semua blok berikutnya yang terhubung ke blok yang dimanipulasi dan memastikan rantai yang dimodifikasi lebih panjang dari rantai utama saat ini. ini memerlukan sumber daya komputasi yang sangat besar, sehingga praktis tidak mungkin dilakukan.

mencegah distribusi blok yang tidak konsisten oleh penambang

  1. Konsistensi dalam distribusi blok: Seorang penambang tidak dapat menemukan beberapa nilai nonce yang valid dalam jangka waktu singkat, mencegah mereka mendistribusikan blok sah yang berbeda ke node yang berbeda secara bersamaan. Setiap blok ilegal akan dibuang oleh node tetangga.

apa itu kolam transaksi (mempool)?

definisi dan fungsi: dalam jaringan blockchain, semua transaksi yang disiarkan yang belum termasuk dalam blok disimpan sementara di memori pool (mempool) dari node jaringan. para penambang memantau mempool mereka untuk memilih transaksi untuk membangun blok baru.

strategi pemilihan transaksi: penambang dapat memilih transaksi dari mempool berdasarkan strategi mereka. Umumnya, mereka memprioritaskan transaksi dengan biaya yang lebih tinggi, tetapi beberapa mungkin juga mempertimbangkan faktor lain, seperti usia transaksi (waktu yang dihabiskannya di mempool).

sumber pendapatan dalam sistem bitcoin

siapa yang berpartisipasi dan bagaimana mereka mendapatkan: selain pengguna, tiga peserta utama dalam sistem bitcoin adalah penambang, pengembang, dan operator node.

  1. penambang: dapatkan imbalan dan biaya transaksi melalui penambangan.
  2. pengembang dan operator node: umumnya tidak langsung menghasilkan dari sistem bitcoin. kontribusi mereka seringkali idealis, bertujuan untuk menjaga integritas sistem. mereka mungkin menerima penghasilan melalui cara lain, seperti sumbangan dan sponsor. partisipasi mereka dalam penambangan bergantung pada preferensi individual.

Mengapa harga GPU meningkat? Mengapa GPU penambangan tidak diinginkan?

kenaikan harga gpu: permintaan tinggi dari para penambang untuk keperluan penambangan telah menyebabkan kelangkaan pasokan, sehingga menyebabkan harga naik.

penambangan gpu: penambangan gpu adalah gpu yang sebelumnya digunakan untuk penambangan cryptocurrency. gpu ini menjalani komputasi intensif, yang mengakibatkan kerusakan yang signifikan. karena performanya yang menurun, sebagian besar orang lebih memilih untuk tidak membeli gpu penambangan bekas.

Apakah penambang perlu menyimpan seluruh data ledger?

Persyaratan penyimpanan redundan penuh: Ya, penambang perlu menyimpan seluruh buku besar blockchain untuk memverifikasi apakah token sebelumnya telah dihabiskan dan untuk memastikan keamanan dan integritas buku besar. Namun, untuk blok yang sangat awal, penambang hanya perlu menyimpan header blok, bukan isi blok penuh. Ini membantu menjaga efisiensi blockchain sambil menjaga keamanannya.

Apa yang terjadi ketika batas suplai bitcoin tercapai?

tidak ada hadiah otomatis di luar 21 juta bitcoin: begitu pasokan total bitcoin mencapai batasnya sebesar 21 juta, sistem tidak akan lagi mengeluarkan bitcoin baru sebagai hadiah untuk penambang. jika pengguna juga tidak bersedia membayar biaya transaksi, secara teoritis, sistem transaksi dapat menghadapi tantangan operasional. Namun, kemungkinan besar pengguna akan bersedia membayar biaya transaksi untuk memproses transaksi mereka, memastikan kelangsungan sistem.

tinggi blok akan terus meningkat: bahkan setelah mencapai pasokan maksimum 21 juta bitcoin, tinggi blok (jumlah total blok) akan terus meningkat selama penambang bersedia menambang dan memasukkan transaksi ke dalam blok baru. tinggi blok tidak terbatas oleh batas pasokan bitcoin.

potensi perubahan konsensus: komunitas dapat mengusulkan perubahan pada aturan konsensus, seperti meningkatkan pasokan total bitcoin, untuk memungkinkan pembuatan koin baru jika diperlukan.

Bagaimana penambang dihargai?

transaksi coinbase: dalam blockchain bitcoin, hadiah penambang didistribusikan melalui transaksi khusus yang dikenal sebagai “transaksi coinbase” atau “hadiah blok.” transaksi ini memiliki karakteristik unik:

  1. Tidak diperlukan penyiaran: Transaksi Coinbase adalah transaksi pertama di setiap blok, dibuat secara otomatis oleh algoritma penambangan dan tidak perlu disiarkan ke node lain.
  2. tidak ada input: berbeda dengan transaksi bitcoin biasa, transaksi coinbase tidak memiliki input (tidak ada pengirim). transaksi ini menghasilkan bitcoin baru yang diberikan kepada penambang.
  3. keluaran: transaksi coinbase mengeluarkan hadiah ke alamat dompet penambang, yang mencakup bitcoin yang baru dicetak dan semua biaya transaksi dari transaksi yang dimasukkan dalam blok.

Bagaimana pendapatan penambang dihitung?

perhitungan pendapatan per blok: pendapatan penambang dihitung setiap kali blok berhasil ditambang dan dikonfirmasi oleh mekanisme konsensus jaringan. penambang (atau kolam penambangan) yang menambang blok menerima imbalan blok dan biaya transaksi kumulatif dari semua transaksi yang disertakan dalam blok.

proses penerimaan imbalan: setelah penambang atau kolam penambangan berhasil menambang blok dan blok tersebut dikonfirmasi oleh jaringan, mereka menerima imbalan blok dan biaya transaksi. ini dilakukan melalui transaksi coinbase, yang mengkonversi biaya dan imbalan menjadi output transaksi yang belum dihabiskan (utxo) yang dikreditkan ke akun penambang.

apakah blok dibuat secara berurutan atau secara paralel?

penciptaan berurutan: blok-blok dibuat secara berurutan dalam blockchain. blok baru hanya dapat dibuat setelah blok sebelumnya berhasil ditambang dan ditambahkan ke dalam rantai.

Transaksi pengemasan

beberapa transaksi per blok: blok biasanya berisi beberapa transaksi. penambang menyertakan sebanyak mungkin transaksi untuk memaksimalkan penghasilan biaya transaksi mereka, bukan memaketkan transaksi secara individu.

penggunaan ruang blok

Blok yang terisi sebagian: Sebagian besar blok tidak sepenuhnya digunakan. Penambang mulai bekerja pada blok berikutnya segera setelah mereka menemukan hash yang valid yang memenuhi persyaratan kesulitan, terlepas dari apakah blok tersebut benar-benar penuh.

penambangan tanpa transaksi

blok kosong: blok dapat ditambang bahkan jika tidak ada transaksi yang akan dimasukkan. blok-blok ini, disebut blok kosong, masih memberikan imbalan sistem kepada penambang.

Menangani cabang blockchain

Aturan rantai terpanjang: ketika terjadi fork, jaringan mengikuti rantai dengan bukti kerja yang paling banyak terakumulasi, yang biasanya merupakan rantai terpanjang. node beralih ke rantai yang lebih panjang begitu menjadi jelas mana yang memiliki lebih banyak pekerjaan yang dimasukkan ke dalamnya.

mencegah pengeluaran ganda

Resolusi pengeluaran ganda:

  • jika sebuah blok berisi transaksi yang bertentangan (double spend), hanya transaksi valid pertama yang disertakan dalam blok yang dianggap valid. transaksi bertentangan lainnya dibuang.
  • jika dua transaksi yang konflik dimasukkan ke dalam blok yang berbeda, yang ada di blok yang dikonfirmasi terlebih dahulu dianggap valid.

penanganan penggandaan pengeluaran yang detail

proses validasi:

  • antara blok: jika dua transaksi yang mencoba menghabiskan koin yang sama disertakan dalam blok-blok terpisah, transaksi dalam blok yang dikonfirmasi pertama akan dianggap sah. blok yang berisi transaksi yang bertentangan akan ditolak.
  • dalam satu blok: jika dua transaksi yang saling bertentangan dimasukkan ke dalam satu blok, penambang hanya akan memasukkan satu. Penambang biasanya memilih berdasarkan biaya transaksi (biaya yang lebih tinggi mendapat prioritas) atau usia transaksi (transaksi yang lebih awal mendapat prioritas).

Bagaimana pengguna mengontrol jumlah biaya transaksi yang mereka bayar?

perhitungan biaya transaksi: pengguna dapat mengontrol biaya transaksi untuk mempercepat konfirmasi transaksi mereka. biaya ditentukan oleh rumus berikut:

Biaya transaksi = total input − total output − perubahan

pengguna menetapkan biaya transaksi dengan menyesuaikan jumlah masukan, jumlah keluaran, dan jumlah kembalian.

proses penambangan mata uang digital

  1. persiapkan peralatan penambangan: siapkan perangkat keras penambangan atau perangkat komputasi berperforma tinggi.
  2. memastikan akses internet: hubungkan peralatan penambangan ke internet.
  3. unduh dompet digital: dapatkan dompet digital dan hasilkan kunci pribadi dan publik Anda.
  4. Mulai menambang: Klik tombol penambangan di dompet untuk mulai menambang.

penambangan dalam kolam renang

pembagian penghasilan: saat penambangan dalam sebuah pool, node pool menerima hadiah blok. pool kemudian membagikan penghasilan kepada anggotanya berdasarkan daya komputasi yang mereka sumbangkan. pembagian ini dilakukan melalui transfer ke dompet para penambang.

apa itu penambangan egois?

penambangan egois: penambangan egois adalah strategi di mana seorang penambang (atau kolam penambangan) menemukan blok baru tetapi tidak segera menyiarkannya. sebaliknya, mereka terus menambang secara pribadi pada rantai mereka (rantai tersembunyi). begitu mereka menemukan blok tambahan, mereka menyiarkannya semua sekaligus. ini dapat membatalkan pekerjaan penambang lain dan memiringkan kekuatan komputasi serta imbalan ke arah penambang egois. bitcoin dapat mengurangi dampak penambangan egois dengan memperbaiki protokol penyiaran.

validasi node saat menerima transaksi dan blok

validasi transaksi: ketika suatu transaksi disiarkan ke sebuah node, ia akan mengalami beberapa pemeriksaan untuk menentukan apakah harus ditambahkan ke mempool:

  1. format transaksi: memverifikasi kebenaran struktur data transaksi.
  2. tanda tangan transaksi: memvalidasi keaslian tanda tangan transaksi.
  3. double-spending: pastikan bahwa input tidak pernah digunakan sebelumnya di mempool atau blockchain.
  4. masukan dan keluaran: pastikan jumlah masukan total lebih besar atau sama dengan jumlah keluaran total.
  5. script transaksi: menjalankan dan memverifikasi skrip (terutama dalam kontrak pintar).
  6. locktime: periksa apakah kondisi locktime (tinggi blok atau waktu) terpenuhi.
  7. Ukuran dan biaya transaksi: Pastikan ukuran dan biaya transaksi memadai.

validasi blok: ketika node penambang menerima blok baru, ia melakukan pemeriksaan yang ekstensif terhadap blok dan transaksinya:

  1. validitas transaksi: validasi setiap transaksi dalam blok (pemeriksaan yang sama seperti validasi transaksi).
  2. Pemeriksaan khusus blok:
    • ukuran blok: pastikan ukuran blok berada dalam batas yang diizinkan.
    • hadiah blok: memverifikasi hadiah blok (bitcoin baru yang baru dicetak dan biaya transaksi) benar.
    • Merkle root: menghitung dan memvalidasi akar Merkle blok.
    • timestamp: konfirmasikan bahwa timestamp blok berada dalam rentang waktu yang wajar.
    • Target kesulitan: Periksa apakah blok memenuhi target kesulitan saat ini.

11. Referensi

[1] kuliah 12 | teknologi blockchain mendalam (4): konsensus pow-penjelasan mendalam tentang blockchain-geek time:sanggahan:

  1. artikel ini dicetak ulang dari[Gate.io belajartim, dan mereka akan menanganinya dengan segera.
  2. penyangkalan tanggung jawab: pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan nasihat investasi apa pun.
  3. Penerjemahan artikel ke bahasa lain dilakukan oleh tim Gate.io Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!