Sebuah tanda tangan di atas kertas selalu sama. Anda melatihnya agar keluar sama setiap kali, dan dari pengulangan itulah ia mendapatkan otoritas. Tanda tangan digital adalah kebalikannya: jika ia keluar sama dua kali, ada sesuatu yang sangat salah — dan di akhir pelajaran ini, Anda akan melihat berapa banyak uang yang sudah hilang persis seperti itu.
Menandatangani, dalam Bitcoin, adalah menghasilkan dua angka dari tiga hal: kunci pribadi Anda, transaksi yang Anda izinkan, dan sebuah angka yang diacak saat itu juga. Dua angka yang dihasilkan disebut r dan s, dan merekalah yang dikirim bersama transaksi. Perhitungan yang menghasilkan angka-angka ini adalah topik dari jalur lanjutan; yang dijaminnya adalah yang dibahas di sini.
Penerima transaksi memiliki transaksi, kunci publik, dan pasangan r, s. Dengan ketiga hal ini, dan tidak lebih, siapa pun dapat melakukan perhitungan singkat dan mengetahui apakah dua angka tersebut hanya bisa dihasilkan oleh orang yang memiliki kunci pribadi yang sesuai. Verifikasi ini memakan waktu mikrodetik, tidak memerlukan biaya, dan tidak memerlukan izin: itulah sebabnya puluhan ribu dari kita memeriksa transaksi yang sama tanpa berbicara satu sama lain.

Perhatikan apa yang tidak diterima oleh verifikator. Dia tidak menerima kunci pribadi, tidak menerima bagian apa pun darinya, dan tidak berada dalam posisi untuk menandatangani apa pun atas nama Anda. Tanda tangan tidak mengandung kunci: ia adalah konsekuensi dari kunci, sama seperti jejak kaki adalah konsekuensi dari kaki dan tidak memungkinkan untuk membuat kaki.
Poin kedua adalah apa yang sebenarnya sedang ditandatangani, dan di sinilah kesalahpahaman paling umum terjadi. Tanda tangan bitcoin tidak mengatakan "saya mengizinkan orang ini". Tanda tangan dihitung berdasarkan isi keseluruhan transaksi: koin yang masuk, nilai, alamat tujuan. Mengubah satu satoshi saja setelah ditandatangani akan menghasilkan transaksi yang berbeda, yang mana tanda tangan tersebut tidak berlaku. Tidak ada yang bisa mengambil tanda tangan Anda dari kemarin dan menggunakannya untuk mengirim uang Anda ke tempat lain hari ini.

Dari sini muncul konsekuensi praktis yang selalu digunakan oleh dompet. Karena menandatangani tidak memindahkan apa pun dengan sendirinya, Anda dapat menandatangani pesan apa pun dengan kunci dari sebuah alamat dan menunjukkan hasilnya kepada seseorang. Siapa pun yang memverifikasi akan tahu bahwa Anda mengendalikan alamat tersebut, tanpa satu koin pun berpindah tempat. Ini adalah cara jujur untuk membuktikan kepemilikan — dan patut curiga terhadap siapa pun yang membuktikannya dengan meminta Anda untuk mentransfer sesuatu.
Yang kurang adalah angka acak, dan inilah bagian yang rapuh dari seluruh pengaturan. Angka ini, yang disebut nonce, harus berbeda dan tidak dapat diprediksi setiap kali tanda tangan dibuat. Jika kunci yang sama menandatangani dua dokumen berbeda menggunakan nonce yang sama, kedua tanda tangan tersebut menjadi sistem dua persamaan, dan kunci pribadi dapat ditemukan dengan aljabar sekolah menengah.
Ini bukanlah hipotesis. Pada bulan Desember 2010, di kongres Chaos Computer Club di Berlin, kelompok fail0verflow menunjukkan bahwa Sony menggunakan nonce konstan untuk menandatangani program PlayStation 3: kunci yang mengizinkan semua perangkat lunak konsol tersebut dideduksi di depan umum. Pada bulan Agustus 2013, sebuah kesalahan pada generator angka acak Android membuat dompet bitcoin mengulangi nonce tanpa ada yang menyadarinya; alamat yang terpengaruh disapu oleh mereka yang sedang menelusuri blockchain mencari hal ini.

Matematika tidak pernah gagal. Yang gagal adalah implementasi, dan perbedaan antara keduanya adalah yang akan dibahas secara detail di jalur lanjutan. Sejak 2021, Bitcoin juga menerima jenis tanda tangan kedua, yaitu tanda tangan Schnorr, yang lebih pendek dan memiliki sifat yang tidak dimiliki oleh yang lama — beberapa tanda tangan dapat digabung menjadi satu. Ini adalah topik modul lain.
Anda sudah tahu bahwa kunci pribadi adalah angka, bahwa kunci publik berasal darinya, bahwa alamat berasal dari kunci publik, dan bahwa tanda tangan membuktikan kepemilikan tanpa menunjukkan apa pun. Yang kurang adalah pertanyaan yang mendasari semua ini: mengapa tidak ada yang mencoba semua angka hingga menemukan milik Anda? Pada pelajaran berikutnya, ukuran dari 2^256.