Nonce adalah bahagian tengah algoritma perlombongan bukti kerja (PoW) untuk blockchain dan cryptocurrency seperti Bitcoin. Pelombong bersaing antara satu sama lain untuk cari nonce yang menghasilkan hash dengan nilai yang lebih rendah daripada atau sama dengan yang ditetapkan oleh kesukaran rangkaian. Sekiranya pelombong menemui nonce, disebut a bukan emas, kemudian mereka mendapat hak untuk menambahkan blok itu ke blockchain dan menerima hadiah blok.

Nonce adalah nombor bulat secara rawak, satu kali. Pelombong menguji dan membuang berjuta-juta nonces setiap saat. Mereka berharap dapat menghasilkan nilai hash yang memenuhi sasaran dan memenangi hadiah blok. Inilah yang berlaku semasa perlombongan PoW pada tahap paling asas, walaupun, masih banyak lagi yang berlaku. Di sini, kami akan meneroka keseluruhan tujuan nonce sepanjang proses perlombongan.

Blok Bangunan dengan Nonces

Nons adalah nombor 32-bit. Ia tetap berada di header blok bersama dengan data penting lain, seperti sasaran kesukaran dan cap waktu. Apabila pelombong membina blok, mereka secara acak memilih bukan dan memasukkannya ke dalam blok tajuk, membuat hash tajuk blok baru.

Hash adalah nombor 256-bit dan harus bermula dengan sebilangan besar angka nol, iaitu mempunyai nilai yang sangat kecil. Sekiranya tidak mempunyai angka sifar yang mencukupi, pelombong membuang hash dan mencuba nonce baru. Proses ini diulang sehingga pelombong menemui nonce yang menghasilkan hash dengan nilai kurang dari atau sama dengan yang ditentukan oleh kesukaran.

Struktur Blok

Ukuran 32-bit nonce bermaksud bahawa terdapat empat bilion kemungkinan kombinasi. Walaupun secara teknikal, jauh lebih tinggi kerana sesuatu yang disebut tambahan bukan. Ini adalah ruang tambahan untuk waktu yang lebih lama, yang bermaksud anda boleh mempunyai puluhan bilion gabungan.

Nonce adalah satu-satunya parameter bahawa penambang berubah, semua yang lain tetap statik. Sekiranya pelombong menemui emas, mereka akan menambahkan blok itu ke blockchain dan menerima hadiah blok. Saat ini, tidak ada cara untuk mempercepat proses mencari yang benar. Ini bererti pelombong hanya beroperasi dalam percubaan dan kesilapan sehingga mereka menemui barang emas. Proses ini adalah yang membentuk bekerja, sebagai bukti kerja.

Perkaitan dengan Kesukaran Perlombongan

Seperti yang telah kami katakan, pelombong sedang berusaha mencari nonce yang menghasilkan hash di bawah nilai yang ditetapkan oleh kesukaran rangkaian. Protokol Bitcoin menetapkan kesukaran perlombongan ini. Oleh kerana kesukaran meningkat, nilai sasaran untuk hash berkurang. Ini bermakna mesti ada lebih banyak angka nol pada permulaan nombor hash. Kebarangkalian untuk mencari nilai hash yang lebih rendah berkurang dan oleh itu pelombong perlu menguji lebih banyak nilai. Apabila penambang mencuci blok, hash harus mempunyai nilai yang sama dengan atau kurang dari jumlah sasaran untuk berjaya.

Semasa melombong Bitcoin, kesukaran menyesuaikan setiap blok 2016. Ini berlaku setiap dua minggu. Walau bagaimanapun, rantaian PoW lain mempunyai penyesuaian yang lebih cepat. Sebagai contoh, Litecoin, kerana masa bloknya yang lebih pendek, kesukarannya disesuaikan setiap tiga setengah hari. Digibyte, sebaliknya, menyesuaikan kesukarannya di setiap blok dalam masa nyata.

Mengapa Penyesuaiannya Penting

Sekiranya kesukaran tidak dapat disesuaikan, akan ada hubungan linear antara daya hashing dan imbuhan blok. Oleh kerana semakin banyak pelombong bergabung dalam rangkaian dan kekuatan hashing meningkat, akan ada kenaikan yang sama dalam ganjaran Bitcoin. Ini akan melemahkan kawalan inflasi pada protokol Bitcoin dan dengan itu, sifat wangnya yang kukuh.

Nasib baik dengan melakukan penyesuaian kesukaran, imbuhan blok dapat dijaga relatif stabil setiap dua minggu. Kesukaran juga dapat menyesuaikan diri lebih rendah. Sekiranya keuntungan perlombongan hilang, pelombong akan berhenti beroperasi dan kadar hash jatuh. Kesukaran kemudian akan disesuaikan dengan tepat. Kami telah melihat ini selama beberapa bulan di rangkaian Bitcoin sejak kesukaran memuncak pada 4 Oktober.

Pada Bitcoin, setelah setiap blok tahun 2016, klien Bitcoin akan membandingkan masa nyata bagi setiap blok yang dihasilkan berbanding masa tujuan. Ia kemudian akan menyesuaikan kesukaran dengan tepat. Tujuannya adalah agar pelombong menghasilkan blok sedekat mungkin selama sepuluh minit.

Perlindungan oleh Algoritma Hash Selamat

Ketahanan algoritma SHA-256 menghalang pelombong daripada dapat mempercepat dan menipu proses percubaan dan kesilapan. SHA-256 tergolong dalam keluarga SHA-2 algoritma hash selamat dan dikeluarkan oleh NSA pada tahun 2001. Sekiranya algoritma ini rosak, seperti yang berlaku pada kelas SHA-1 algoritma hash kriptografi, maka proses PoW akan terganggu.

Terdapat beberapa cara untuk memecahkan algoritma hash. Dengan ini kami bermaksud dapat mengelakkan kaedah percubaan dan kesilapan dan mencari jawapan yang betul jauh lebih cepat. Serangan perlanggaran adalah kaedah terkini dan paling berkesan untuk melakukan ini.

Keseluruhan tujuan algoritma hash selamat adalah untuk memastikan keunikan hash. Apabila data dicincang, input harus membuat nombor hash yang benar-benar unik. Satu-satunya cara nombor yang sama dapat ditiru adalah dengan input yang sama, termasuk yang bukan. Namun, serangan perlanggaran bermaksud bahawa hash yang sama dapat dihasilkan dari input yang berbeza. Pelakon jahat boleh melakukan ini dengan sumber pengkomputeran yang mencukupi. Ini benar-benar merosakkan tujuan algoritma hash selamat.

Fungsi Hash

Sekarang bahawa serangan perlanggaran telah terbukti berkesan terhadap algoritma SHA-1, mereka tidak lagi dapat diandalkan. Serangan itu dimungkinkan sebagian kerana kemajuan besar dalam kekuatan komputer selama satu dekad yang lalu.

Pada titik tertentu, ketika kekuatan pengkomputeran telah cukup meningkat, SHA-256 juga akan rentan terhadap serangan tersebut. Walau bagaimanapun, pembangun Bitcoin harus mengetahui perkara ini lama sebelum ia berlaku. Ini kerana serangan semacam itu hampir selalu terbukti mungkin dilakukan secara teori sebelum benar-benar terbukti berfungsi dalam kehidupan nyata. Pasukan Bitcoin Core harus berpusing ke arah algoritma yang lebih baru dan lebih sukar.

Perlu juga diperhatikan bahawa kebanyakan protokol pengesahan di internet pada masa ini menggunakan algoritma SHA-2. Sekiranya mereka menjadi rentan dalam sekelip mata, maka kita akan menghadapi masalah global yang besar di luar penambangan Bitcoin.

Nilai Bukti Kerja

Pelombong menggunakan perkakasan mereka untuk menguji kekuatan ini, pada kadar berjuta-juta sesaat. Fakta bahawa tidak ada cara untuk mencari jalan cepat dengan cepat, menjadikan PoW sebagai sistem yang terbuka dan adil.

Ciri menguntungkan sistem ini ialah memerlukan banyak tenaga, masa dan modal untuk menyelesaikan nilai yang betul dan memenangi ganjaran. Walau bagaimanapun, pada masa yang sama, sangat mudah bagi nod lain untuk mengesahkan nilai yang betul. Dikotomi ini menjadikan rangkaian selamat dan menyediakan kaedah mudah untuk mencapai kata sepakat.

Pada akhirnya, maka bukan hanya satu bahagian kecil dari proses perlombongan Bitcoin. Walau bagaimanapun, ia memainkan peranan penting dalam menjaga integriti. Nonce adalah satu-satunya perkara yang ditukar oleh pelombong untuk mencari nilai hash yang mencukupi. Ini benar-benar pemecut, brek, dan kopling ke seluruh pemasangan.