Lanjutan Pelajaran 4 Baca 4 menit

Alat: keyhunt, VanitySearch, dan sejenisnya

Apa yang dilakukan setiap alat, di perangkat keras apa ia berjalan, dan di mana masing-masing adalah pilihan yang tepat.

Semua program pencarian kunci pada dasarnya melakukan hal yang sama. Yang membedakan di antara mereka adalah dunia mana dari Pelajaran 1 Modul sebelumnya yang mereka serang, pada perangkat keras apa mereka berjalan, dan seberapa banyak pekerjaan yang telah dilakukan untuk mempercepat aritmetika. Mengetahui peta ini menghindari kehilangan minggu-minggu menggunakan alat yang salah.

Di dalamnya adalah mesin yang sama. Yang berubah adalah bodinya.

VanitySearch, dari Jean-Luc Pons asal Prancis, lahir pada tahun 2019 untuk tugas yang tidak berbahaya: menemukan alamat yang dimulai dengan awalan yang dipilih, bagi mereka yang menginginkan alamat dengan nama mereka sendiri di awal. Ini adalah pencarian alamat, berjalan pada kartu grafis dan menjadi penting karena alasan lain — kodenya menunjukkan, dalam praktiknya, optimasi yang digunakan semua orang: pembalikan massal dan pemanfaatan simetri khusus dari secp256k1 yang menghemat sepertiga dari pekerjaan.

Kangaroo, dari penulis yang sama, adalah implementasi dari metode Pelajaran 4 sebelumnya. Ini menyelesaikan logaritma diskrit dalam interval yang diketahui, membutuhkan kunci publik, menggunakan titik-titik yang dibedakan dan dilengkapi dengan mode klien-server: beberapa mesin melompat dan mengirim titik-titik yang dibedakan ke server pusat yang mendeteksi tabrakan. Ini adalah alat yang menjatuhkan tantangan dengan nomor tertinggi.

Keyhunt, dari pengembang yang dikenal sebagai albertobsd, adalah pisau serbaguna dalam topik ini. Berjalan pada prosesor, dan yang membuatnya berguna adalah banyaknya mode: pencarian alamat, pencarian kunci publik, pencarian hash, dan implementasi praktis dari langkah bayi dan langkah raksasa. Ini adalah alat yang tepat ketika ingin menguji jutaan target sekaligus, bukan hanya satu.

BitCrack lebih tua dan lebih langsung: brute force pada interval, pada kartu grafis, mencari alamat. Masih digunakan karena mudah dioperasikan.

Layak satu paragraf untuk bagian yang mendukung pencarian banyak target sekaligus, karena ini cerdik. Membandingkan setiap kandidat dengan sepuluh juta alamat akan membutuhkan sepuluh juta perbandingan; solusinya adalah filter Bloom, sebuah struktur yang merespons dengan sangat cepat dan dengan asimetri yang berguna. Ketika dia mengatakan bahwa kandidat tidak ada dalam daftar, dia benar dengan kepastian mutlak. Ketika dia mengatakan mungkin ada, perlu diperiksa dengan benar — dan ini terjadi sangat jarang sehingga biayanya hilang.

Saringan tidak pernah mengatakan ya. Dia mengatakan tidak, dengan cepat, dan sisanya diperiksa secara manual.

Tentang kinerja, tiga peringatan yang menghindari kekecewaan. Angka yang diumumkan tidak dapat dibandingkan antara mode: kunci per detik dalam pencarian alamat, lompatan per detik dalam kanguru, dan perbandingan per detik terhadap daftar yang dimuat adalah besaran yang berbeda. Sebagian besar keuntungan dari satu alat dibandingkan yang lain berasal dari filter, bukan dari perhitungan. Dan kinerja nyata sangat bergantung pada kartu, kompiler, dan parameter — program yang sama dapat bervariasi hingga sepuluh kali lipat antara dua konfigurasi.

Akhirnya, peringatan yang paling penting. Alat-alat ini memanipulasi kunci pribadi, dan versi yang sudah dikompilasi yang diunduh dari orang yang tidak dikenal dapat melakukan persis seperti yang dijanjikan dan, bersamaan, mengirim kunci yang ditemukan ke tempat lain. Ini sudah terjadi. Aturannya sederhana: gunakan kode terbuka, baca sebanyak yang Anda bisa, kompilasi sendiri, dan jalankan pencarian di mesin yang tidak menyimpan apa pun lagi.

Alat yang sudah dikompilasi oleh orang lain untuk Anda mungkin telah dikompilasi untuk mereka.

Dan aturan yang dinyatakan dalam pelajaran sebelumnya tetap berlaku di sini, karena itulah yang memisahkan latihan dari kejahatan: mencari kunci dari alamat yang dipublikasikan sebagai tantangan adalah sah, karena siapa pun yang menaruh uang di sana menaruhnya untuk dicari. Mengarahkan alat yang sama ke dompet orang lain adalah hal lain, dan itu bukan masalah teknis.

Anda telah menyelesaikan seluruh kursus: dari barter ke white paper, dari kunci ke tanda tangan, dari benih ke node, dari kurva ke kanguru. Tinggal satu putaran lagi — bagaimana tantangan lahir, diverifikasi, dan dibayar di platform ini. Di pelajaran berikutnya, yang terakhir.