Setiap kali orang membahas blockchain, kata "kriptografi" hampir selalu muncul lebih dulu - tapi jarang dijelaskan dari dasar. Artikel ini adalah bagian pertama dari primer sederhana yang akan membedah tiga konsep kriptografi paling penting yang membuat blockchain bisa dipercaya tanpa otoritas pusat: fungsi hash, pasangan kunci publik-privat, dan tanda tangan digital. Tidak perlu latar belakang matematika untuk mengikutinya - kita akan tetap di level konsep.

Kenapa Blockchain Butuh Kriptografi

Blockchain pada dasarnya adalah buku besar yang disalin dan disimpan oleh banyak pihak sekaligus, bukan oleh satu server tunggal yang dikendalikan satu perusahaan. Karena tidak ada "wasit" pusat yang bisa dipercaya begitu saja, sistem ini butuh cara matematis untuk membuktikan tiga hal: bahwa data belum diubah diam-diam, bahwa seseorang benar-benar pemilik aset yang ia klaim, dan bahwa sebuah transaksi memang disetujui oleh pemiliknya. Ketiga jaminan ini datang dari kriptografi, bukan dari kepercayaan pada institusi tertentu.

Hashing: Sidik Jari Digital

Fungsi hash adalah algoritma yang mengambil data apa pun - sekecil satu kata atau sebesar satu buku - dan mengubahnya menjadi rangkaian karakter dengan panjang tetap yang terlihat acak. Hash ini punya beberapa sifat penting: hasilnya selalu sama untuk input yang sama, tapi perubahan sekecil apa pun pada input akan menghasilkan hash yang sama sekali berbeda, dan hampir mustahil menebak input asli hanya dari hash-nya.

Di dalam blockchain, setiap blok data disertai hash dari isinya, dan hash blok sebelumnya ikut disertakan sebagai bagian dari data blok berikutnya. Efeknya, blok-blok saling "mengunci" satu sama lain secara berantai. Jika seseorang mencoba mengubah data di satu blok lama, hash blok itu akan berubah, membuat seluruh rantai setelahnya tidak lagi cocok - perubahan sekecil apa pun langsung terlihat.

Kunci Publik dan Kunci Privat

Kriptografi kunci publik (asymmetric cryptography) menghasilkan sepasang kunci yang saling terkait secara matematis: kunci privat yang harus dirahasiakan pemiliknya, dan kunci publik yang bisa dibagikan bebas ke siapa saja. Yang membuat pasangan ini berguna adalah hubungan satu arahnya - kunci publik bisa diturunkan dari kunci privat, tapi tidak sebaliknya. Dalam konteks blockchain, alamat akun seseorang pada dasarnya berasal dari kunci publiknya, sementara kunci privat berfungsi sebagai bukti kepemilikan yang tidak pernah dibagikan ke siapa pun.

Tanda Tangan Digital

Tanda tangan digital menggabungkan hashing dan kriptografi kunci publik untuk membuktikan bahwa sebuah transaksi memang berasal dari pemilik akun yang sah, tanpa perlu mengungkap kunci privatnya. Secara konsep: pemilik akun "menandatangani" hash dari transaksi menggunakan kunci privatnya, lalu siapa pun bisa memverifikasi tanda tangan itu menggunakan kunci publik yang sesuai. Jika verifikasi berhasil, itu membuktikan dua hal sekaligus - transaksi memang berasal dari pemegang kunci privat yang benar, dan isinya belum diubah sejak ditandatangani.

Menyatukan Ketiganya

Hashing menjaga integritas data, kunci publik-privat membuktikan kepemilikan, dan tanda tangan digital mengikat transaksi ke pemiliknya secara terverifikasi. Ketiga mekanisme ini bekerja bersama tanpa memerlukan satu pihak pun untuk saling percaya secara membabi buta - kepercayaan digantikan oleh pembuktian matematis yang bisa diperiksa siapa saja. Di bagian selanjutnya dari primer ini, kita akan melihat bagaimana konsep-konsep dasar ini dirangkai menjadi mekanisme konsensus yang menjaga seluruh jaringan tetap sinkron.