Cari di internet dan Anda akan menemukan situs yang menjanjikan untuk mendekripsi sebuah hash. Mereka tidak mendekripsi apa pun, karena tidak ada yang bisa didekripsi. Yang dimiliki situs-situs ini adalah tabel raksasa dari hasil yang sudah dihitung: ketika mereka menemukan milik Anda di sana, mereka tidak membalikkan perhitungan, hanya mengenali hasil yang sudah ada sebelumnya.
Fungsi hash mengambil apa saja — sebuah kata, kontrak, video dua gigabyte — dan mengembalikan sebuah angka dengan ukuran tetap. Fungsi hash Bitcoin adalah SHA-256, dirancang oleh NSA dan dipublikasikan pada tahun 2001 sebagai standar federal Amerika. Angka yang dihasilkannya memiliki 256 bit, yang setara dengan enam puluh empat karakter yang ditulis dengan cara yang digunakan oleh para pemrogram — enam puluh empat untuk video dan enam puluh empat untuk kata.
Sifat pertama adalah deterministik. Masukan yang sama menghasilkan keluaran yang sama hari ini, dihasilkan pada tahun 2009 dan akan dihasilkan di komputer di belahan dunia lain, tanpa harus berkoordinasi dengan siapa pun. Itulah mengapa ribuan dari kita memeriksa blok yang sama dan mencapai hasil yang sama, seperti yang ditunjukkan oleh pelajaran pemula: mereka tidak perlu setuju, mereka perlu menghitung.

Sifat kedua adalah ukuran tetap, dan inilah yang mengubah fungsi menjadi ringkasan. Keluaran pendek inilah yang dikirim, dibandingkan, dan disimpan menggantikan dokumen lengkap. Sebuah header blok memiliki delapan puluh byte dan mewakili ribuan transaksi dengan cara ini.
Sifat ketiga adalah satu arah, dan dari sinilah muncul frasa yang memberi nama pada pelajaran ini. Menghitung ringkasan sebuah file memakan waktu mikrodetik. Menemukan file yang menghasilkan ringkasan yang Anda pilih memerlukan percobaan satu per satu, dan ruang percobaannya adalah 2^256 yang akan diukur pada Pelajaran 5. Tidak ada yang tahu cara membalikkan. Bukan berarti sulit: tidak ada jalan pintas yang diketahui.

Sifat keempat adalah efek avalanche. Mengganti titik dengan koma tidak mengubah ringkasan sedikit: mengubahnya sepenuhnya. Setengah dari bit berubah, rata-rata, dan hasilnya tidak memiliki kemiripan dengan yang sebelumnya. Tidak ada hampir benar, tidak ada mendekati. Inilah yang membuat hash berguna untuk verifikasi: satu karakter yang diubah dalam kontrak tiga puluh halaman menghasilkan ringkasan yang tidak dapat dikenali, dan penerima menyadarinya tanpa membaca kontrak.
Sifat kelima adalah ketahanan terhadap tabrakan. Karena masukan yang mungkin tidak terbatas dan keluaran adalah 2^256, ada masukan tak terbatas yang berbeda dengan ringkasan yang sama — ini adalah matematika, bukan cacat. Yang diperlukan adalah tidak ada yang dapat menemukan sepasang. Dan persyaratan ini pernah dilanggar sebelumnya: MD5 jatuh pada tahun 2004, di tangan peneliti Tiongkok Wang Xiaoyun, dan SHA-1 jatuh pada 23 Februari 2017, ketika Google dan institut CWI di Amsterdam mempublikasikan dua file PDF berbeda dengan ringkasan yang sama, dengan biaya lebih dari sembilan kuintiliun operasi. Keduanya telah dipensiunkan, dan penting untuk diketahui bahwa fungsi hash dapat menjadi usang.

Dengan lima sifat ini, kita dapat melihat SHA-256 mendukung Bitcoin di empat tempat sekaligus. Ia menghubungkan blok-blok, karena setiap header membawa ringkasan dari yang sebelumnya dan mengubah satu blok lama merusak semua yang berikutnya. Ia merangkum transaksi dalam satu blok menjadi sebuah pohon. Ia adalah perhitungan yang dilakukan penambang miliaran kali per detik untuk mencari hasil yang cukup kecil. Dan ia masuk dalam resep alamat, bersama dengan fungsi kedua yang disebut RIPEMD-160. Satoshi bahkan menerapkannya dua kali berturut-turut dalam sebagian besar penggunaan ini, sebagai tindakan pencegahan terhadap serangan yang dikenal.
Satu detail kosakata menutup pelajaran ini, karena menghindari pertanyaan yang salah di kemudian hari. Hash bukanlah kriptografi. Mengenkripsi mengandaikan ada yang bisa mendekripsi, dengan kunci yang tepat; merangkum mengandaikan tidak ada yang bisa, dengan kunci apa pun.
Operasi dalam pelajaran berikutnya juga mudah dilakukan dan tidak mungkin dibalik, tetapi yang disimpannya di sisi lain bukanlah file: itu adalah kepemilikan uang Anda. Pada pelajaran berikutnya, kunci pribadi, kunci publik, dan kurva secp256k1.