Apa itu blockchain?

Singkatnya, blockchain adalah daftar catatan data yang berfungsi sebagai buku besar digital terdesentralisasi. Data disusun dalam blok-blok, yang disusun secara kronologis dan diamankan dengan kriptografi.

Model paling awal dari blockchain diciptakan pada awal tahun 1990an ketika ilmuwan komputer Stuart Haber dan fisikawan W. Scott Stornetta menggunakan teknik kriptografi dalam rantai blok sebagai cara untuk mengamankan dokumen digital dari gangguan data.

Karya Haber dan Stornetta tentunya menginspirasi karya banyak ilmuwan komputer dan penggemar kriptografi lainnya - yang pada akhirnya mengarah pada terciptanya Bitcoin sebagai sistem uang elektronik terdesentralisasi pertama (atau sekadar mata uang kripto pertama).

Meskipun teknologi blockchain lebih tua dari mata uang kripto, baru setelah terciptanya Bitcoin pada tahun 2008 potensinya mulai diketahui. Sejak itu, minat terhadap teknologi blockchain telah tumbuh secara bertahap, dan mata uang kripto kini diakui dalam skala yang lebih besar.

Teknologi Blockchain sebagian besar digunakan untuk mencatat transaksi mata uang kripto, namun cocok untuk berbagai jenis data digital lainnya dan dapat diterapkan pada berbagai 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, masing-masing blok menyimpan daftar transaksi yang telah dikonfirmasi sebelumnya. Karena jaringan blockchain dikelola oleh banyak sekali komputer yang tersebar di seluruh dunia, jaringan ini berfungsi sebagai database (atau buku besar) yang terdesentralisasi. Ini berarti setiap peserta (node) menyimpan salinan data blockchain, dan mereka berkomunikasi satu sama lain untuk memastikan bahwa mereka semua berada di 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 sensor. Selain itu, sebagian besar sistem blockchain dianggap tidak dapat dipercaya karena tidak memerlukan kepercayaan apa pun. Tidak ada otoritas tunggal yang mengendalikan Bitcoin.

Bagian utama dari hampir setiap blockchain adalah proses penambangan, yang bergantung pada algoritma hashing. Bitcoin menggunakan algoritma SHA-256 (Algoritma hash aman 256 bit). Dibutuhkan masukan dengan panjang berapa pun dan menghasilkan keluaran yang selalu memiliki panjang yang sama. Output yang dihasilkan disebut "hash" dan, dalam hal ini, selalu terdiri dari 64 karakter (256bit).

Jadi masukan yang sama akan menghasilkan keluaran yang sama, tidak peduli berapa kali proses tersebut diulang. Namun jika ada perubahan kecil pada masukannya, maka keluarannya akan berubah total. Oleh karena itu, fungsi hash bersifat deterministik, dan dalam dunia mata uang kripto, sebagian besar dirancang sebagai fungsi hash satu arah.

Karena fungsi satu arah berarti hampir tidak mungkin menghitung masukan dan keluaran. Seseorang hanya dapat menebak apa masukannya, namun kemungkinan menebaknya dengan benar sangatlah rendah. Inilah salah satu alasan mengapa blockchain Bitcoin aman.

Sekarang setelah kita mengetahui fungsi algoritmanya, mari kita tunjukkan cara kerja blockchain dengan contoh transaksi sederhana.

Bayangkan kita memiliki Alice dan Bob beserta saldo Bitcoin mereka. Katakanlah Alice berutang kepada Bob 2 Bitcoin.

Agar Alice mengirim 2 bitcoin itu kepada Bob, Alice menyiarkan pesan dengan transaksi yang ingin dia lakukan ke semua penambang di jaringan.

Dalam transaksi itu, Alice memberikan alamat Bob kepada penambang dan jumlah Bitcoin yang ingin dia kirim, bersama dengan tanda tangan digital dan kunci publiknya. Tanda tangan dibuat dengan kunci pribadi Alice, dan penambang dapat memvalidasi bahwa Alice sebenarnya adalah pemilik koin tersebut.

Setelah penambang yakin bahwa transaksi tersebut valid, mereka dapat memasukkannya ke dalam blok bersama dengan banyak transaksi lainnya dan mencoba untuk menambang blok tersebut. Hal ini dilakukan dengan menempatkan blok melalui algoritma SHA-256. Outputnya harus dimulai dengan angka 0 tertentu agar dianggap valid. Jumlah 0 yang dibutuhkan bergantung pada apa yang disebut "kesulitan", yang berubah bergantung pada seberapa besar daya komputasi yang ada pada jaringan.

Untuk menghasilkan hash keluaran dengan jumlah 0 yang diinginkan di awal, penambang menambahkan apa yang disebut "nonce" ke dalam blok sebelum menjalankannya melalui algoritme. Karena perubahan kecil pada masukan akan mengubah keluaran sepenuhnya, 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. Namun di dalam blok tersebut, para penambang juga perlu memasukkan hash keluaran dari blok sebelumnya agar semua blok terikat menjadi satu, oleh karena itu dinamakan blockchain. Ini adalah bagian penting karena cara kerja kepercayaan dalam sistem.

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 penambang mengubah transaksi di blok sebelumnya, hash keluaran untuk blok tersebut akan berubah, yang menyebabkan semua hash setelahnya juga berubah karena blok tersebut disukai dengan hash. Penambang harus mengulangi semua pekerjaan untuk membuat siapa pun menerima blockchainnya sebagai yang benar. Jadi, jika seorang penambang ingin berbuat curang, ia memerlukan lebih dari 50% daya komputasi jaringan, dan hal ini sangat kecil kemungkinannya. Serangan jaringan seperti ini disebut serangan 51%.

Model yang membuat komputer berfungsi untuk menghasilkan blok disebut Proof-of-Work (PoW) ada juga model lain seperti Proof-of-Stake (PoS) yang tidak memerlukan daya komputasi yang besar dan dimaksudkan untuk memerlukan lebih sedikit listrik sekaligus mampu menskalakan ke lebih banyak pengguna.