Bagaimana Cara Kerja Blockchain?
Apa itu blockchain?
Singkatnya, blockchain adalah daftar catatan data yang berfungsi sebagai buku besar digital terdesentralisasi. Data tersebut diorganisasikan ke dalam blok-blok, yang disusun secara kronologis dan diamankan oleh kriptografi.
Model blockchain paling awal dibuat pada awal tahun 1990-an ketika ilmuwan komputer Stuart Haber dan fisikawan W. Scott Stornetta menggunakan teknik kriptografi dalam rantai blok sebagai cara untuk mengamankan dokumen digital dari manipulasi data.
Karya Haber dan Stornetta tentu saja menginspirasi karya banyak ilmuwan komputer dan penggemar kriptografi lainnya - yang akhirnya mengarah pada penciptaan Bitcoin sebagai sistem uang elektronik terdesentralisasi pertama (atau sederhananya mata uang kripto pertama).
Meskipun teknologi blockchain lebih tua daripada mata uang kripto, potensi teknologi ini baru mulai diakui setelah terciptanya Bitcoin pada tahun 2008. Sejak saat itu, minat terhadap teknologi blockchain terus meningkat secara bertahap, dan mata uang kripto kini diakui dalam skala yang lebih besar.
Teknologi blockchain sebagian besar digunakan untuk mencatat transaksi mata uang kripto, tetapi cocok untuk berbagai jenis data digital lainnya dan dapat diterapkan pada berbagai macam kasus penggunaan. Jaringan blockchain tertua, teraman, dan terbesar adalah Bitcoin, yang dirancang dengan kombinasi kriptografi dan teori permainan yang cermat dan seimbang.
Bagaimana cara kerja blockchain?
Dalam konteks mata uang kripto, blockchain terdiri dari rantai blok yang stabil, yang masing-masing menyimpan daftar transaksi yang telah dikonfirmasi sebelumnya. Karena jaringan blockchain dikelola oleh banyak komputer yang tersebar di seluruh dunia, jaringan ini berfungsi sebagai basis data (atau buku besar) terdesentralisasi. Ini berarti bahwa setiap peserta (node) menyimpan salinan data blockchain, dan mereka berkomunikasi satu sama lain untuk memastikan bahwa mereka semua berada pada halaman (atau blok) yang sama.
Oleh karena itu, transaksi blockchain terjadi dalam jaringan global peer-to-peer dan inilah yang menjadikan Bitcoin sebagai mata uang digital terdesentralisasi yang tanpa batas dan tahan terhadap sensor. Selain itu, sebagian besar sistem blockchain dianggap tidak memerlukan kepercayaan karena tidak membutuhkan kepercayaan apa pun. Tidak ada otoritas tunggal yang mengendalikan Bitcoin.
Bagian sentral dari hampir setiap blockchain adalah proses penambangan, yang bergantung pada algoritma hashing. Bitcoin menggunakan algoritma SHA-256 (Algoritma hash aman 256 bit). Algoritma ini menerima input dengan panjang berapa pun dan menghasilkan output yang selalu memiliki panjang yang sama. Output yang dihasilkan disebut "hash" dan, dalam hal ini, selalu terdiri dari 64 karakter (256 bit).
Jadi, input yang sama akan menghasilkan output yang sama, tidak peduli berapa kali proses tersebut diulang. Tetapi jika ada sedikit perubahan pada input, output akan berubah sepenuhnya. Dengan demikian, fungsi hash bersifat deterministik, dan di dunia mata uang kripto, sebagian besar dirancang sebagai fungsi hash satu arah.
Sebagai fungsi satu arah, hampir tidak mungkin untuk menghitung input dari outputnya. Kita hanya bisa menebak inputnya, tetapi peluang untuk menebak dengan benar sangat rendah. Inilah salah satu alasan mengapa blockchain Bitcoin aman.
Sekarang setelah kita mengetahui fungsi algoritma tersebut, mari kita demonstrasikan cara kerja blockchain dengan contoh transaksi sederhana.
Bayangkan kita memiliki Alice dan Bob beserta saldo Bitcoin mereka. Katakanlah Alice berutang 2 Bitcoin kepada Bob.
Agar Alice dapat mengirimkan 2 Bitcoin tersebut kepada Bob, Alice menyiarkan pesan berisi transaksi yang ingin dia lakukan kepada semua penambang di jaringan.
Dalam transaksi tersebut, Alice memberikan alamat Bob kepada para penambang dan jumlah Bitcoin yang ingin dia kirim, beserta tanda tangan digital dan kunci publiknya. Tanda tangan tersebut dibuat dengan kunci pribadi Alice, dan para penambang dapat memvalidasi bahwa Alice memang pemilik koin tersebut.
Setelah penambang yakin bahwa transaksi tersebut valid, mereka dapat memasukkannya ke dalam blok bersama dengan banyak transaksi lainnya dan mencoba menambang blok tersebut. Hal ini dilakukan dengan memasukkan blok tersebut ke dalam algoritma SHA-256. Outputnya harus diawali dengan sejumlah angka 0 agar dianggap valid. Jumlah angka 0 yang dibutuhkan bergantung pada apa yang disebut "kesulitan," yang berubah tergantung pada seberapa besar daya komputasi yang tersedia di jaringan.
Untuk menghasilkan hash keluaran dengan jumlah angka 0 yang diinginkan di awal, para penambang menambahkan apa yang disebut "nonce" ke dalam blok sebelum menjalankannya melalui algoritma. Karena perubahan kecil pada input akan sepenuhnya mengubah output, para penambang mencoba nonce acak hingga mereka menemukan hash keluaran yang valid.
Setelah blok ditambang, penambang menyiarkan blok yang baru ditambang tersebut ke semua penambang lainnya. Mereka kemudian memeriksa untuk memastikan bahwa blok tersebut valid sehingga mereka dapat menambahkannya ke salinan blockchain mereka dan transaksi selesai. Tetapi dalam blok tersebut, para penambang juga perlu menyertakan hash keluaran dari blok sebelumnya sehingga semua blok terhubung, oleh karena itu disebut blockchain. Ini adalah bagian penting karena cara kerja kepercayaan dalam sistem tersebut.
Setiap penambang memiliki salinan blockchain mereka sendiri di komputer mereka, dan semua orang mempercayai blockchain mana pun yang memiliki pekerjaan komputasi paling banyak, yaitu blockchain terpanjang. Jika seorang penambang mengubah transaksi di blok sebelumnya, hash output untuk blok tersebut akan berubah, yang menyebabkan semua hash setelahnya juga berubah karena blok-blok tersebut dihubungkan dengan hash. Penambang harus melakukan semua pekerjaan ulang agar siapa pun menerima blockchain-nya sebagai yang benar. Jadi, jika seorang penambang ingin berbuat curang, ia membutuhkan lebih dari 50% daya komputasi jaringan , yang sangat tidak mungkin. Serangan jaringan seperti ini disebut serangan 51%.
Model yang membuat komputer bekerja untuk menghasilkan blok disebut Proof-of-Work (PoW). Ada juga model lain seperti Proof-of-Stake (PoS) yang tidak memerlukan daya komputasi sebesar PoW dan dirancang untuk membutuhkan lebih sedikit listrik sekaligus mampu menangani lebih banyak pengguna.