Apakah Bukti Kerja Berarti?
Bukti kerja menggambarkan sistem yang memerlukan usaha yang tidak penting tetapi boleh dilaksanakan untuk menghalang kegunaan pengkomputeran yang remeh atau jahat, seperti menghantar e-mel spam atau melancarkan serangan penyalahgunaan perkhidmatan. Konsep ini disesuaikan dengan wang oleh Hal Finney pada tahun 2004 melalui idea "bukti kerja yang boleh diguna semula." Berikutan pengenalannya pada tahun 2009, bitcoin menjadi aplikasi pertama yang diterima pakai dari idea Finney (Finney juga merupakan penerima transaksi bitcoin pertama). Bukti kerja membentuk asas banyak kriptografi lain.
Bukti Kerja Dijelaskan
Penjelasan ini akan memberi tumpuan kepada bukti kerja kerana berfungsi dalam rangkaian bitcoin. Bitcoin adalah mata wang digital yang disokong oleh satu jenis lejar yang diedarkan yang dikenali sebagai "blockchain." Buku kecil ini mengandungi rekod semua urus niaga bitcoin, disusun dalam "blok" berurutan, supaya tiada pengguna dibenarkan membelanjakan mana-mana pegangan mereka dua kali. Untuk mengelakkan gangguan, lejar adalah awam, atau "diedarkan"; versi yang diubah akan dengan cepat ditolak oleh pengguna lain.
Cara pengguna mengesan gangguan dalam amalan adalah melalui hash, nombor panjang nombor yang berfungsi sebagai bukti kerja. Masukkan set data yang diberikan melalui fungsi hash (bitcoin menggunakan SHA-256), dan ia hanya akan menghasilkan satu hash. Oleh kerana "kesan avalanche, " bagaimanapun, walaupun sedikit perubahan kepada mana-mana bahagian data asal akan menghasilkan hash yang sama sekali tidak dapat dikenali. Walau apa pun ukuran set data asal, hash yang dijana oleh fungsi yang diberikan akan panjang sama. Hash adalah fungsi satu hala: ia tidak boleh digunakan untuk mendapatkan data asal, hanya untuk memastikan data yang dihasilkan hash sepadan dengan data asal.
Menjana apa-apa hash untuk satu set transaksi bitcoin akan menjadi remeh untuk komputer moden, jadi untuk mengubah proses menjadi "kerja, " rangkaian bitcoin menetapkan tahap tertentu "kesukaran." Tetapan ini diselaraskan supaya blok baru "dilombong" - ditambahkan pada blockchain dengan menghasilkan hash yang sah - kira-kira setiap 10 minit. Menetapkan kesukaran dicapai dengan mewujudkan "target" untuk hash: semakin rendah sasaran, lebih kecil set hash yang sah, dan semakin sukar untuk menghasilkan satu. Dalam amalan, ini bermakna hash yang bermula dengan rentetan sifar panjang: hash untuk blok # 429818, sebagai contoh, adalah 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Blok itu mengandungi 2, 012 transaksi yang melibatkan lebih dari 1, 000 bitcoin, serta tajuk blok sebelumnya. Sekiranya pengguna mengubah satu jumlah urus niaga dengan 0.0001 bitcoin, hash yang terhasil akan tidak dapat dikenali, dan rangkaian akan menolak penipuan.
Oleh kerana set data yang diberikan hanya boleh menghasilkan hash, bagaimana peniaga memastikan mereka menghasilkan hash di bawah sasaran? Mereka mengubah input dengan menambah integer, dipanggil nonce ("nombor yang digunakan sekali"). Setelah hash sah dijumpai, ia disiarkan ke rangkaian, dan blok tersebut ditambahkan pada blok block.
Perlombongan adalah proses yang kompetitif, tetapi ia adalah lebih banyak loteri daripada perlumbaan. Rata-rata, seseorang akan menghasilkan bukti kerja yang boleh diterima setiap sepuluh minit, tetapi siapa yang akan ditebak oleh sesiapa. Miners bersama bersama untuk meningkatkan peluang mereka untuk blok pertambangan, yang menghasilkan yuran transaksi dan, untuk masa yang terhad, ganjaran bitcoin yang baru dibuat.
Bukti kerja menjadikannya sangat sukar untuk mengubah mana-mana aspek blockchain, kerana perubahan seperti itu memerlukan penambangan semula semua blok berikutnya. Ia juga menjadikan sukar bagi pengguna atau kumpulan pengguna untuk memonopoli kuasa pengkomputeran rangkaian, memandangkan jentera dan kuasa yang diperlukan untuk menyelesaikan fungsi hash adalah mahal.
