Bukti pekerjaan

Apa Bukti pekerjaan?

Proof of work mendeskripsikan sistem yang memerlukan upaya yang tidak sedikit tetapi layak untuk mencegah penggunaan daya komputasi yang sembrono atau berbahaya, seperti mengirim email spam atau meluncurkan serangan penolakan 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 pertama yang diadopsi secara luas dari ide Finney (Finney juga merupakan penerima transaksi bitcoin pertama). Bukti kerja juga menjadi dasar dari banyak cryptocurrency lainnya .

Bukti Pekerjaan Dijelaskan

Penjelasan ini akan fokus pada bukti kerja karena berfungsi di 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, diatur dalam “blok” berurutan, sehingga tidak ada pengguna yang diizinkan untuk menghabiskan kepemilikan mereka dua kali. Untuk mencegah gangguan, buku besar bersifat publik, atau “didistribusikan”; versi yang diubah akan segera ditolak oleh pengguna lain.

Cara pengguna mendeteksi gangguan dalam praktiknya adalah melalui hash, rangkaian angka panjang yang berfungsi sebagai bukti kerja. Letakkan kumpulan data tertentu melalui fungsi hash (bitcoin menggunakan SHA-256), dan itu hanya akan menghasilkan satu hash. Karena “efek longsoran”, bagaimanapun, bahkan sedikit perubahan pada bagian mana pun dari data asli akan menghasilkan hash yang sama sekali tidak dapat dikenali. Berapa pun ukuran kumpulan 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 bahwa data yang menghasilkan hash cocok dengan data asli.

Menghasilkan sembarang hash untuk satu set transaksi bitcoin akan menjadi hal yang 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. Kesulitan pengaturan dicapai dengan menetapkan “target” untuk hash : semakin rendah target, semakin kecil kumpulan hash yang valid, dan semakin sulit untuk membuatnya. 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 dari blok sebelumnya. Jika pengguna mengubah satu jumlah transaksi dengan 0,0001 bitcoin, hash yang dihasilkan tidak akan dapat dikenali, dan jaringan akan menolak penipuan.

Karena sekumpulan data tertentu hanya dapat menghasilkan satu hash, bagaimana penambang memastikan bahwa mereka menghasilkan hash di bawah target? Mereka mengubah masukan dengan menambahkan bilangan bulat, yang disebut nonce (“nomor yang digunakan sekali”). Setelah hash yang valid ditemukan, itu disiarkan ke jaringan, dan blok tersebut ditambahkan ke blockchain.

Menambang adalah proses yang kompetitif, tetapi ini lebih merupakan lotre daripada perlombaan. Rata-rata, seseorang akan menghasilkan bukti kerja yang dapat diterima setiap sepuluh menit, tetapi siapa yang akan menjadi tebakan siapa pun. Penambang berkumpul bersama untuk meningkatkan peluang mereka untuk menambang blok, yang menghasilkan biaya transaksi dan, untuk waktu yang terbatas, hadiah bitcoin yang baru dibuat.

Bukti kerja membuatnya sangat sulit untuk mengubah aspek apa pun dari 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.