Main Puzzle Angka: Cara Komputer Menambang Bitcoin dengan Proof of Work
Di era sekarang ini tentunya kita sudah tidak asing lagi dengan teknologi blockchain, apalagi salah satu implementasinya adalah bitcoin. Mungkin sebagian pembaca sudah familiar dengan penggunaannya, baik sebagai sarana investasi maupun transaksi. Bitcoin termasuk jenis public blockchain karena bersifat open network dan mengimplementasikan sistem jaringan desentralisasi dimana setiap partisipannya dapat berpartisipasi untuk bergabung , bertransaksi dan melakukan penambangan (Chakraborty et al., 2022). Bahkan setiap peserta memiliki akses lengkap untuk melakukan transaksi read/write, melakukan audit blockchain, dan bahkan memeriksa setiap area dari blockchain.
Gambar 1. Ilustrasi Blockchain
Dalam terminologi blockchain, mining atau penambangan adalah proses verifikasi dan pencatatan transaksi dalam buku besar digital (ledger) dengan memecahkan suatu puzzle matematika yang kompleks dengan protokol Proof of Work. Sehingga jika diilustrasikan pada Gambar 1 semua transaksi yang belum masuk kedalam buku besar digital dan sudah berlangsung akan secara sementara disimpan di semacam pending transaction atau unconfirmed block (kotak paling kanan yang belum terhubung dengan buku besar digital). Kumpulan transaksi yang merupakan pending transaction akan menjadi blok baru katakanlah blok 1004 ketika proses mining sudah selesai dilakukan. Proses mining dilakukan dengan tidak sembarangan, tetapi berdasarkan konsesus yang menunjukan tingkat kesulitan proses penambangan. Lalu, seberapa rumit sebenarnya puzzle yang harus dipecahkan para penambang ini? Yuk, kita lihat contohnya pada beberapa hash value Bitcoin sungguhan di Tabel 1.
Tabel 1. Hash Block pada Bitcoin
Block Height | Hash Block |
918042 | 00000000000000000000673c5cabcf7c33e9ab35463b0141663ba7f3e08f0b84 |
918041 | 00000000000000000000e2a58d4bb94b04c9c58d6b0ef3241383203e38400900 |
918040 | 0000000000000000000114072a7c0247522eafb54530b8b19ea5a8b6c33a1d0b |
918039 | 000000000000000000011c4f266911a49ededf0cbeef21ce58c0de6fdd94aa69 |
918038 | 000000000000000000002b61ffef0c9cb8384909f9b966435c4dfbca19d1a956 |
Apa yang kamu lihat pada tabel 1? Tentunya ada yang tidak biasa pada nilai hash yang digunakan yaitu banyak sekali angka nol diawal hash value dan seperti itulah hash value yang diinginkan oleh konsensus karena kesulitannya untuk mendapatkannya. Tabel 1 menggambarkan puzzle matematika pada bitcoin. Sangatlah sulit dengan menggunakan hash function dengan SHA256 untuk memperoleh begitu banyak angka nol diawal hash value. Sebagai ilustrasi mari kita simulasikan seandaikan kita memiliki pending transaction sebanyak tiga transaksi yang akan kita masukan ke dalam ledger bitcoin dengan isi transaksi dummy seperti pada gambar 2.
Gambar 2. Data Pending Transaction Dummy.
Sebelum ke simulasi proses mining, kita perlu mengenal apa itu nonce. Nonce adalah variable bebas yang bertujuan untuk mengubah hash value sesuai dengan kriteria yang diinginkan konsensus. Proses mining untuk menyelesaikan puzzle matematika yang sulit dapat dibayangkan sebagai proses mencari nonce yang dapat menghasilkan block hash value yang memenuhi kriteria consensus, misalnya karena keterbatasan komputasi kita mencoba mencari nilai nonce yang mampu menghasilkan block hash value yang diawali dengan lima angka nol (00000xxxxxxxxxx dst). Berdasarkan tabel simulasi penambangan bitcoin pada tabel 2, untuk mendapatkan hash value yang diinginkan dan sesuai ketentuan konsensus yang kita inginkan misalkan diharusnya adanya usaha pencarian sampai 1.243.852 percobaan yaitu nonce dengan value 1.243.852 supaya diperoleh hash value yang diawali dengan lima angka nol diawal.
Tabel 2. Simulasi penambangan Bitcoin
Nonce | Hash Block |
1 | 765580db7fbf26afac77722c149bd368be622950ba1fe45b537b722fb3b1df4f |
2 | e1d2d12744202a42a2b9495b1a8a6c23c38b27b9f435ef7085b1de6976903cd8 |
3 | 11663bf5a8a751fe597f09440ebe98e803b0e65281f8237641def3a160d435c1 |
5 | 7c6978fb66971d0489c392c94aa2192a1cafa18f0350610c5323acd78a04ced4 |
10 | cd63e9d4f15e9f708e1be6ffd4938e5c03255ae8db9ce29cf080ffdd699b204b |
68 | 0974ce45b6d08d049aa554317b39f3e3c7a7357ab3b49b8e0b867bc7aba74e75 |
252 | 0091f5ab742e94fcfcfb925dc9239232fd7cd139e2bd65f3874cba99dffca7d1 |
2.239 | 000b11cef3e4ae489f06dbbdb059d2d331663ab8b516c69d2667097d168f0cc7 |
18.609 | 0000a6c8a8c79b79832d24e22f72e14a5f816ad9d83a5d98532778db7655abc8 |
1.243.852 | 000007399aa2cf7a10ba6c9b7a51c936a168fc3e8efb353a074e6131114d15a1 |
Dari simulasi penambangan bitcoin pada tabel 2 menggunakan proof of work menunjukan peningkatan yang eksponensial seiring dengan meningkatnya permintaan banyaknya jumlah angka nol diawal hash block value. Tentunya jika pada bitcoin yang pada tabel 1 dengan memiliki 19 angka nol diawal hash block value bisa sampai perkiraan percobaan pencarian. Tentu saja itu sangat berat sekali bukan. Pada nyatanya penambangan bitcoin dilakukan dengan jutaan perangkat melakukan hashing paralel, jadi waktu riil jauh lebih pendek, tapi tetap menunjukkan betapa Proof of Work itu benar-benar mahal secara komputasi.
Jadi, “puzzle angka” yang dimainkan komputer penambang Bitcoin bukan sekadar permainan angka biasa. Ia adalah bentuk nyata dari kolaborasi teknologi, matematika, dan kepercayaan tanpa batas. Dari jutaan percobaan yang dilakukan setiap detik, lahirlah satu blok baru yang menjaga keutuhan data dunia digital kita. Inilah bukti bahwa di balik rumus dan kode rumit, ada filosofi mendalam: kerja keras dan ketekunan, bahkan oleh mesin, pada akhirnya akan menghasilkan sesuatu yang berharga.
Penulis:
Karli Eka Setiawan, S.Si, M.Kom – Dosen Data Science
Referensi
Chakraborty, R., Ghosh, A., Balas, V. E., & A Elngar, A. (2022). Blockchain. Chapman and Hall/CRC. https://doi.org/10.1201/9781003203957
Comments :