Apa Arti Bukti Kerja?
Bukti kerja menggambarkan suatu sistem yang membutuhkan upaya yang tidak signifikan tetapi layak untuk mencegah penggunaan daya komputasi yang sembrono atau berbahaya, seperti mengirim email spam atau meluncurkan penolakan serangan layanan. Konsep ini diadaptasi menjadi uang oleh Hal Finney pada tahun 2004 melalui gagasan "bukti kerja yang dapat digunakan kembali." Setelah diperkenalkan pada tahun 2009, bitcoin menjadi aplikasi ide Finney yang pertama diadopsi secara luas (Finney juga merupakan penerima transaksi bitcoin pertama). Bukti kerja merupakan dasar dari banyak cryptocurrency lainnya juga.
Bukti Pekerjaan Dijelaskan
Penjelasan ini akan fokus pada bukti kerja karena berfungsi dalam jaringan bitcoin. Bitcoin adalah mata uang digital yang didukung oleh semacam buku besar terdistribusi yang dikenal sebagai "blockchain." Buku besar ini berisi catatan semua transaksi bitcoin, disusun dalam "blok" berurutan, sehingga tidak ada pengguna yang boleh menghabiskan kepemilikan mereka dua kali. Untuk mencegah gangguan, buku besar bersifat publik, atau "didistribusikan"; versi yang diubah dengan cepat akan ditolak oleh pengguna lain.
Cara pengguna mendeteksi gangguan dalam praktik adalah melalui hash, rangkaian panjang angka yang berfungsi sebagai bukti kerja. Letakkan satu set data tertentu melalui fungsi hash (bitcoin menggunakan SHA-256), dan itu hanya akan menghasilkan satu hash. Namun, karena "efek longsoran salju", bahkan perubahan kecil pada bagian mana pun dari data asli akan menghasilkan hash yang sama sekali tidak dapat dikenali. Apa pun ukuran set data asli, hash yang dihasilkan oleh fungsi yang diberikan akan memiliki panjang yang sama. Hash adalah fungsi satu arah: tidak dapat digunakan untuk mendapatkan data asli, hanya untuk memeriksa apakah data yang menghasilkan hash cocok dengan data asli.
Menghasilkan sembarang hash untuk satu set transaksi bitcoin akan sepele untuk komputer modern, jadi untuk mengubah proses menjadi "kerja, " jaringan bitcoin menetapkan tingkat "kesulitan" tertentu. Pengaturan ini disesuaikan sehingga blok baru "ditambang" - ditambahkan ke blockchain dengan menghasilkan hash yang valid - kira-kira setiap 10 menit. Menetapkan kesulitan dicapai dengan menetapkan "target" untuk hash: semakin rendah target, semakin kecil kumpulan hash yang valid, dan semakin sulit untuk menghasilkan hash. Dalam praktiknya, ini berarti hash yang dimulai dengan string panjang nol: hash untuk blok # 429818, misalnya, adalah 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Blok itu berisi 2.012 transaksi yang melibatkan lebih dari 1.000 bitcoin, serta header blok sebelumnya. Jika pengguna mengubah satu jumlah transaksi dengan 0, 0001 bitcoin, hash yang dihasilkan tidak akan dikenali, dan jaringan akan menolak penipuan.
Karena kumpulan data tertentu hanya dapat menghasilkan satu hash, bagaimana penambang memastikan mereka menghasilkan hash di bawah target? Mereka mengubah input dengan menambahkan integer, yang disebut nonce ("angka yang digunakan sekali"). Setelah hash yang valid ditemukan, disiarkan ke jaringan, dan blok ditambahkan ke blockchain.
Penambangan adalah proses yang kompetitif, tetapi lebih merupakan lotre daripada balapan. Rata-rata, seseorang akan menghasilkan bukti kerja yang dapat diterima setiap sepuluh menit, tetapi siapa yang akan menebaknya adalah siapa pun. Penambang mengumpulkan bersama untuk meningkatkan peluang mereka dalam menambang blok, yang menghasilkan biaya transaksi dan, untuk waktu yang terbatas, hadiah bitcoin yang baru dibuat.
Bukti kerja membuatnya sangat sulit untuk mengubah aspek blockchain, karena perubahan seperti itu akan membutuhkan penambangan ulang semua blok berikutnya. Ini juga menyulitkan pengguna atau kumpulan pengguna untuk memonopoli daya komputasi jaringan, karena mesin dan daya yang dibutuhkan untuk menyelesaikan fungsi hash mahal.