1. Pendahuluan
Blockchain merupakan teknologi yang pertama kali diusung oleh Satoshi Nakamoto pada tahun 2008 dalam bentuk mata uang kripto bitcoin. Ide tersebut muncul lantaran terjadinya krisis ekonomi sehingga memotivasi Satoshi Nakamoto menciptakan protokol untuk mata uang digital. Perlu kita ketahui, Sathosi Nakamoto merupakan anonime dari orang atau entitas yang tidak diketahui. Konsep mata uang digital sebenarnya sudah ada sejak tahun 1980-an. Namun, pada saat itu, mata uang digital masih menggunakan otoritas terpusat seperti bank untuk menyimpan semua catatan transaksi sehingga masih bersifat sentralisasi.
Setelah lebih dari dua dekade, lahir solusi terdistribusi untuk menghilangkan otoritas terpusat tersebut. Sayangnya, konsep mata uang digital menimbulkan risiko terjadinya double spending. Lalu, apa itu double spending? Secara sederhana, double spending bisa kita artikan dengan melakukan transaksi menggunakan aset kripto yang sama sebanyak dua kali.
Misal, kita punya foto durian montong dan akan menjual foto tersebut ke Ilham. Untuk mengirim foto tersebut, kita bisa menggunakan media seperti WhatsApp atau email. Setelah itu, datang si Malik yang juga mau membeli foto tersebut dan kita mengirimkan fotonya melalui Google drive atau media lainnya. Pada kasus ini, telah terjadi double spending karena kita telah melakukan transaksi menggunakan aset kripto yang sama (dalam hal ini foto durian) sebanyak dua kali. Di sini, kita tidak bisa melakukan verifikasi terhadap keaslian foto yang dimiliki Ilham dan Malik.
Untuk mengatasi resiko tersebut, Nakamoto mengembangkan desain mata uang digital berbasis blockchain yang diberi nama bitcoin. Bitcoin merupakan mata uang digital peer-to-peer (P2P) terdesentralisasi yang menghilangkan otoritas terpusat seperti bank. Untuk mengatasi masalah trust atau kepercayaan di antara para peserta, bitcoin menerapkan model konsesus yang disebut Proof-of-Work (PoW) untuk memastikan keaslian dan integritas pengguna. Sebelum kita melanjutkan pembahasan apa itu PoW, terlebih dahulu kita akan menyamakan pemahaman terkait apa itu peer-to-peer (P2P) pada teknologi blockchain.
Dalam sistem yang berbasis blockchain, istilah “peer” merujuk pada node atau komputer. Istilah “peer-to-peer” mengacu pada jaringan komputer di mana setiap peserta atau node dapat bertindak sebagai klien dan server sekaligus, hal ini memungkinkan mereka untuk berbagi sumber daya dan informasi secara langsung satu sama lain tanpa memerlukan server terpusat.
Sebagai contoh, sebuah kelas terdiri dari 5 mahasiswa. Setiap mahasiswa memiliki buku yang berbeda. Dalam sistem P2P, setiap mahasiswa dapat meminjam buku dari mahasiswa lain secara langsung tanpa melalui pihak ketiga seperti petugas perpustakaan. Setiap mahasiswa memiliki peran yang sama dan dapat berinteraksi langsung satu sama lain untuk berbagi sumber (buku) dan informasi (pengetahuan dalam buku).
Nah, setelah kita memahami apa itu P2P, selanjutnya, kita akan membahas apa itu konsesus Proof-of-Work (PoW). Konsesus dalam konteks blockchain merupakan protokol atau serangkaian aturan yang digunakan oleh jaringan blockchain untuk mencapai kesepakatan tentang transaksi yang terjadi di dalam jaringan. Konsesus memastikan bahwa setiap node dalam jaringan setuju dengan transaksi yang terjadi sebelum transaksi tersebut diproses dan dicatat dalam buku besar terdistribusi.
Untuk memahami penjelasan di atas, kita akan menggunakan contoh analogi yang sederhana. Contoh, sebuah kelas yang terdiri dari 5 mahasiswa diberi tugas mengolah data cuaca untuk membuat model klasifikasi. Setiap mahasiswa diharuskan memiliki ide untuk membuat model tersebut. Misal, 3 mahasiswa mengusulkan menggunakan algoritma Decision tree, 1 mahasiswa menggunakan CNN, dan 1 mahasiswa lainnya menggunakan algoritma Naive bayes.
Dalam sistem konsesus, setiap mahasiwa harus setuju dengan ide yang diajukan sebelum tugas diselesaikan. Karena suara terbanyak untuk mengolah data tersebut menggunakan algoritma Decision tree, maka keputusan yang diambil untuk membuat model klasifikasi adalah algoritma tersebut. Dalam kasus ini, konsesus memastikan jika keputusan yang diambil (algoritma Decision tree) adalah keputusan yang diakui oleh semua mahasiswa.
Pertanyaan selanjutnya, apa itu Proof-of-Work? PoW merupakan salah satu jenis konsensus yang paling terkenal yang digunakan oleh bitcoin. Dalam konsensus PoW, para penambang (miners) bersaing untuk memecahkan teka-teki matematika yang rumit (hashing) untuk memvalidasi transaksi dan menambahkan blok baru ke dalam rantai blok. Penambang yang berhasil memecahkan teka-teki pertama kali akan mendapatkan hadiah dalam bentuk kripto (BTC). Kesepakatan tercapai ketika mayoritas penambang setuju dengan blok yang ditambahkan ke rantai blok. Selain PoW, terdapat jenis konsesus lain seperti PoS, DPoS, dan lain sebagainya. Penjelasan ini akan kita bahas di kesempatan lain.
Sebelum kita melanjutkan pembahasan yang lebih mendalam terkait teknologi blockhain, pastikan kita sudah memahami dengan baik penjelasan yang telah diuraikan sebelumnya. Tujuannya, agar otak kita tidak kaget dengan istilah-istilah yang akan muncul di masa yang akan datang. Selain itu, pastikan juga otak kita dalam keadaan siap untuk menerima informasi :)
2. Teknologi Blockchain
Blockchain terdiri dari dua suku kata, yaitu block dan chain yang berarti blok dan rantai. Secara sederhana, konsep blockchain mencakup blok yang saling terkait dan riwayat transaksinya dapat dengan mudah dilacak melalui blok-blok sebelumnya. Blok berperan seperti penampung yang mengandung rincian batch. Setiap kali transaksi atau rekaman baru dimulai di blockchain, menandakan blok baru ditambahkan ke blok yang sudah ada.
Perhatikan gambar berikut agar dapat memahami dengan baik penjelasan di atas. Terlihat pada block pertama (disebut juga Genesis block) terdiri dari block header dan block data. Block header tersusun dari hash sebelumnya, timestamp (stempel waktu), Nonce (number used only once), dan hash data. Pada block data, terdiri atas data-data transaksi. Selanjutnya, pada block kedua, kita perhatikan pada bagian “Hash (Block01 Header)”. Untuk menambahkan transaksi kedua menjadi transaksi yang valid, kita membutuhkan hash dari blok sebelumnya. Sehingga transaksi pada block kedua dapat ditambahkan ke dalam rantai blok.
Sebentar, jangan pusing dulu. Kita akan bedah satu per satu istilah yang terdengar keren itu. Pertama, kita akan membahas apa itu Nonce (number used only once) atau nomor yang hanya digunakan sekali. Dalam konteks cryptocurrency, nonce digunakan dalam proses penambangan (mining) untuk mencoba menebak kombinasi angka yang akan menghasilkan hash blok yang memenuhi persyaratan. Nonce ini juga digunakan untuk mencegah pemutaran ulang transaksi sebelumnya.
Sebagai analogi, nonce dapat diibaratkan seperti mencoba menebak kombinasi angka untuk membuka sebuah brankas. Nonce adalah angka yang dicoba secara berulang-ulang oleh penambang (miner) untuk menemukan kombinasi yang benar dan membuka brankas tersebut. Ketika nonce berhasil ditemukan, penambang yang menemukan solusi tersebut akan diberi hadiah (reward). Dengan demikian, nonce adalah nomor yang hanya digunakan sekali.
Berikutnya, kita akan bahas apa itu hash. Hash merupakan proses matematis yang mengubah data menjadi kode alfanumerik dengan panjang tetap. Hashing adalah fungsi kriptografi yang bersifat satu arah untuk mengamankan informasi dan memastikan integritas data. Artinya, setiap data yang diinput akan selalu menghasilkan output yang sama, namun kita tidak dapat menebak data input tersebut dengan memasukkan output. Hal ini berbeda dengan fungsi enkripsi dan dekripsi.
Pertanyaan selanjutnya yang mungkin muncul di benak kita adalah “apakah untuk menghasilkan hash yang valid, terlebih dahulu kita harus mengetahui nilai nonce?”
Jawabannya, benar. Untuk menghasilkan hash pada proses penambangan di blockchain, penambang harus mencoba berbagai nilai nonce hingga menemukan angka yang menghasilkan hash yang memenuhi persyaratan. Nonce digunakan sebagai bagian dari header blok dan berperan dalam menciptakan hash yang valid untuk blok baru yang akan ditambahkan ke dalam blockchain. Dengan demikian, nonce dan hash saling terkait dalam proses penambangan di blockchain.
Rasanya, jika hanya penjelasan secara teoritis seperti di atas akan terasa sulit untuk kita pahami. Kita akan menggunakan pendekatan yang lebih visualis dengan memanfaatkan situs andersbrownworth.com seperti berikut:
Perhatikan gambar di atas, terlihat jaringan blockchain terdiri dari tiga blok dan setiap blok memiliki nilai nonce yang berbeda. Ketika setiap blok berhasil menebak nilai nonce dengan benar, maka akan menghasilkan sebuah hash. Selain itu, blok tersebut juga akan menampilkan nilai hash pada blok sebelumnya (Prev). Pada gambar di atas, setiap nonce yang berhasil ditebak, maka akan berwarna hijau. Namun, ketika nilai nonce gagal untuk ditebak akan berwarna merah seperti gambar berikut:
Teknologi blockchain beroperasi menggunakan prinsip desentralisasi sehingga tidak ada entitas tunggal yang memegang kendali. Prinsip tersebut menjadikan blockchain sebagai teknologi yang memberikan hak yang setara kepada semua entitas dalam suatu sistem dan setiap entitas dalam jaringan blockchain dapat berinteraksi secara aman tanpa perlu adanya pihak berwenang yang dapat dipercaya sehingga prinsip tersebut mendorong transparansi dan pelacakan data bagi setiap entitas dalam sistem.
Kita akan menggunakan contoh kasus yang lebih nyata untuk menyederhanakan pengertian di atas. Contoh kasus yang akan digunakan yaitu rantai pasok spare part pada industri otomotif.
Pertanyaan yang hampir selalu muncul di benak kita yang baru mengenal teknologi ini yaitu “di mana sistem desentralisasi menyimpan datanya?”
Gambar berikut ini akan membantu menjawab pertanyaan di atas.