Algoritma yang mengatasi tantangan terbesar yang pernah dipecahkan ini dinamai hewan karena penulisnya sendiri menjelaskannya demikian. Pada tahun 1978, matematikawan Inggris John Pollard menggambarkan sebuah metode di mana dua kanguru melompat di sebuah lapangan: satu jinak, yang posisinya diketahui, dan satu liar, yang sedang dicari. Kanguru jinak meninggalkan jejak di tempat ia melompat. Cepat atau lambat, kanguru liar akan menginjak salah satu jejak tersebut.
Penerapan pada kurva ini langsung. Kanguru jinak memulai dari titik yang diketahui dalam interval — katakanlah di tengahnya — dan jarak yang sudah ditempuh dicatat setiap kali melompat. Kanguru liar memulai dari titik Q, kunci publik target, yang jaraknya dari asal adalah angka yang ingin ditemukan.
Detail yang membuat semuanya berfungsi adalah ukuran lompatan. Ukurannya tidak diacak: dihitung dari koordinat titik tempat kanguru berada. Dua kanguru yang menginjak titik yang sama, oleh karena itu, akan melakukan lompatan yang sama berikutnya, dan berikutnya, dan berikutnya — sejak pertemuan pertama, kedua jalur tersebut identik selamanya. Inilah yang mengubah pertemuan kebetulan menjadi tabrakan yang dapat dideteksi.

Ketika tabrakan terjadi, perhitungannya sepele. Diketahui seberapa jauh kanguru jinak berjalan, diketahui seberapa jauh kanguru liar berjalan sejak Q, dan diketahui bahwa keduanya berada di tempat yang sama. Selisih antara kedua jarak tersebut, ditambah dengan titik awal kanguru jinak, adalah kunci privat.
Masih ada satu masalah praktis yang harus dipecahkan: bagaimana menyadari bahwa tabrakan terjadi, tanpa menyimpan semua titik yang dilalui setiap kanguru? Jawabannya adalah titik-titik yang dibedakan. Dipilihlah sifat yang langka dan mudah diuji — misalnya, bahwa koordinat x berakhir dengan dua puluh bit nol — dan hanya mencatat titik ketika ia memiliki sifat tersebut. Satu dari setiap sejuta lompatan, kira-kira. Karena setelah tabrakan kedua jalur bertepatan, keduanya akan menginjak titik yang sama yang dibedakan, dan di sanalah pertemuan dicatat.

Perhitungan akhir adalah akar kuadrat yang sama dari metode sebelumnya — sekitar dua kali akar lebar interval — dengan perbedaan yang menentukan: memori yang digunakan adalah tabel titik-titik yang dibedakan, yang hanya memerlukan beberapa megabyte. Di mana metode langkah bayi dan langkah raksasa membutuhkan tujuh ratus lima puluh gigabyte untuk tujuh puluh bit, kanguru hanya membutuhkan sedikit.
Ditambah lagi, metode ini hampir sempurna dalam hal paralelisasi. Lepaskan seribu kanguru jinak dan seribu kanguru liar, masing-masing di mesin yang berbeda, semuanya merekam titik-titik yang dibedakan di server umum: pekerjaan total tidak berubah dan waktu kalender berkurang seribu kali. Teknik paralelisasi dengan titik-titik yang dibedakan ini berasal dari tahun 1999, oleh Paul van Oorschot dan Michael Wiener, dan inilah yang membuat metode ini praktis dalam skala besar.
Ada dua kondisi, dan keduanya penting.
Yang pertama adalah bahwa kunci publik harus diketahui. Kanguru melompat pada titik-titik kurva; jika Anda hanya memiliki alamat, tidak ada titik awal untuk kanguru liar, dan metode ini tidak dapat diterapkan. Pelajaran 1 yang memisahkan kedua dunia ini, dan di sinilah pemisahan tersebut menjadi penting.
Yang kedua adalah bahwa interval harus diketahui. Kanguru jinak harus memulai dekat dengan kanguru liar agar pertemuan terjadi dalam beberapa lompatan; di lapangan sebesar seluruh kurva, penantian kembali menjadi 2^128. Tanpa mengetahui bagian tersebut, tidak ada tempat untuk menunggu.

Perhatikan apa artinya ini untuk dompet biasa. Kunci publik Anda terekspos begitu Anda melakukan transaksi pertama kali, namun tetap saja tidak ada interval: kunci tersebut diacak dalam 256 bit penuh, dan kanguru akan membutuhkan 2^128 lompatan. Kedua kondisi harus berlaku bersama-sama, dan dalam tantangan, kondisi tersebut berlaku karena konstruksi — karena orang yang membuatnya memilih interval dengan sengaja.
Masih perlu melihat perangkat keras yang menjalankan lompatan-lompatan ini, dan di mana ia berhenti. Pada pelajaran berikutnya, kartu grafis, ASIC, dan jarak nyata antara 2^40 dan 2^70.