Bagian Keempat: Cara Kerja Bitcoin – Blok Bitcoin
Cara Kerja Bitcoin – Blok Bitcoin. Sekarang kita sampai pada pembahasan Cara Kerja Bitcoin – Blok Bitcoin. Sering kita mendengar bahwa transaksi dalam Bitcoin akan dikelompokkan bersama dalam blok. Namun kita jarang mengetahui mengapa transaksi-transaksi itu harus dikelompokkan bukan?
Satu-satunya alasan untuk menjawabnya tidak lain sebagai optimalisasi. Setiap penambang yang mengikuti konsensus Bitcoin pada setiap transaksi secara individual, rata-rata transaksi baru yang bisa diterima sistem Bitcoin akan bisa jauh lebih rendah.
Selain itu, hash rantai blok Bitcoin juga bisa lebih pendek dibandingkan dengan hash rantai transaksi di dalam jaringan Bitcoin. Karena sebagian besar transaksi tadi, sudah bisa dimasukkan ke dalam setiap blok. Maka untuk memverifikasi struktur data rantai blok juga bisa menjadi lebih efisien.
Rantai blok Bitcoin (Blockchain) adalah kombinasi cerdas antara dua hash berbasis struktur data yang berbeda. Berikut adalah dua basis hash dalam rantai blok Bitcoin:
Pertama, adalah struktur data hash rantai blok. Setiap blok mempunyai header blok, hash pointer yang menunjukkan data beberapa transaksi, dan hash pointer yang menunjukkan urutan blok sebelumnya.
Kedua, adalah pohon struktur data masing-masing blok dari keseluruhan transaksi yang telah masuk kedalam blok. Struktur data ini adalah Merkle Tree. Dengan Merkle Tree ini, bisa memperoleh digest (inti) keseluruhan transaksi dengan jalan yang lebih efisien.
Lalu bagaimana untuk bisa membuktikan bahwa sebuah transaksi sudah dimasukkan ke dalam blok? Silahkan dibuka lagi pembahasan tentang konsep Bitcoin. Kita coba mereview sedikit tentang hal ini. Untuk membuktikan transaksi sudah dimasukkan kedalam blok, bisa dengan cara memberikan jalur melalui Merkle yang ukuran panjangnya merupakan logaritmik dalam jumlah transaksi di blok tersebut. Sebuah blok terdiri dari header data, disusul kemudian daftar transaksi yang telah disusun dalam struktur pohon merkle.
Pada gambar itu, bisa kita lihat rantai blok berisi dua struktur hash yang berbeda. Perbedaan masing-masingnya bisa kita lihat pada gambar tersebut. Seperti yang telah dijelaskan sebelumnya di atas.
Di bagian header, sebagian besar berisikan informasi yang berhubungan dengan puzzle di pertambangan Bitcoin. Hash dari header blok ini, harus dimulai dengan sejumlah deret angka “nol” agar bisa menjadi blok yang valid. Selain itu, header juga berisi “nonce” sehingga para penambang bisa mengubah time stamp, dan juga “bit”. Ini merupakan indikasi tingkat kesulitan blok untuk bisa ditemukan.
Pada proses pertambangan, satu-satunya hashing yang dilakukan adalah pada header ini. Jadi pada saat memverifikasi rantai blok, yang perlu dilakukan pertama kali adalah melihat header. Karena pada header ada satu-satunya data transaksi yang termasuk di akar pohon merkle (mrkl_root).
Diatas kita lihat transaksi coinbase. Harap diperhatikan bahwa “coinbase” di sini bukan berarti sebuah wallet atau exchanger Bitcoin. Coinbase yang dimaksud disitu adalah nama yang dipakai dalam proses pengimputan transaksi Bitcoin.
Transaksi coinbase membuat koin bitcoin baru. Sehingga tidak ada penebusan output sebelumnya. Memiliki pointer hash “nol”. Dan juga memiliki parameter coinbase yang bisa berisi data arbitrary. Nilai transaksi coinbase adalah reward blok ditambah dengan semua biaya transaksi yang temasuk di dalam blok ini.
Yang menarik tentang blok Bitcoin disini adalah bahwa blok mempunyai transaksi spesial di dalam Merkle tree. Transaksi spesial ini disebut dengan transaksi “Coinbase”. Jadi sekali lagi, coinbase disini pada dasarnya bukan nama sebuah perusahaan Exchanger maupun nama wallet.
Terus terang, salah satu hal yang menambah tingkat kerumitan pemahaman Bitcoin adalah banyak perusahaan pihak ketiga Bitcoin, yang juga memakai nama dari istilah-istilah dasar Bitcoin. Contohnya ya seperti pada kata Coinbase, blockchain, dan banyak lagi yang lainnya.
Mari kita lanjutkan lagi pembahasan Cara Kerja Bitcoin – Blok Bitcoin kali ini. Jadi transaksi ini adalah sebuah proses penciptaan uang digital baru di Bitcoin. Sebagian besar akan terlihat seperti sebuah transaksi normal, namun memiliki perbedaan jika dibandingkan pada penciptaan koin baru di Scroogecoin. Berikut ini adalah penciptaan uang baru di Bitcoin.
- Selalu memiliki satu input dan satu output.
- Input tida bisa menebus output sebelumnya. Sehingga mempunyai nilai pointer hash “nol”. Karena merupakan pencetakan Bitcoin baru, dan masih tidak ada pengeluaran koin.
- Nilai output saat ini sedikit melebihi dari 25 Bitcoin. Nilai output disini adalah pendapatan penambang dari blok tersebut. Terdiri dari dua komponen. Yakni reward blok yang telah diatur oleh sistem, dan dibagi dua jika telah mencapai 210.000 blok. Dan kedua adalah biaya transaksi yang dikumpulkan dari setiap transaksi yang termasuk di dalam blok. Pembahasan tentang ini bisa dibaca lebih lanjut pada pembahasan insentif dan proof of work.
- Ada parameter khusus “coinbase”, yang sepenuhnya arbitrary. Maksudnya, para penambang bisa menampatkan apapun yang mereka inginkan disana.
Pada blok pertama kali yang pernah ditambang di Bitcoin, atau yang dikenal dengan Genesis Block¸ parameter coinbase pernah dibahas dan direferensikan dalam surat kabar Times pada tanggal 3 Januari 2009. Pembahasan pada surat kabar itu tentang kanselor yang akan mengeluarkan bailing out kedua untuk bank. Parameter itu dimaknai sebagai sebuah wacana secara politis sebagai motivasi yang tepat untuk memulai Bitcoin. Juga dipakai sebagai bukti bahwa pertambangan Bitcoin dilakukan setelah pemberitaan media itu keluar dipublikasikan.
Sementara, untuk memberikan nuansa yang lebih baik berkaitan dengan format blok dan format transaksi, adalah dengan cara mengeksplorasi blockchain itu sendiri. Sekarang banyak dijumpai situs-situs Bitcoin yang memungkinkan mengakses data Blockchain. Bisa juga melihat grafik transaksi, mencari transaksi dengna skrip yang rumit, maupun melihat struktur blok dan juga melihat bagaimana blok bisa merujuk pada blok lainnya. Itu bisa dilakukan karena rantai blok (Blockchain) adalah public ledger.