Teknologi blockchain merupakan struktur data yang membentuk sebuah
buku besar digital dan mendistribusikan buku besar tersebut melalui jaringan [11].
Blockchain dikembangkan pertama kali oleh Stuart Haber dan W Scott Storneta
pada tahun 1998. Kemudian blockchain dikembangkan lagi oleh Satoshi Nakamoto
dalam paper nya berjudul “A Peer to Peer Electronic Cash System” dengan
mengimplementasikannya pada salah satu cryptocurrency yaitu Bitcoin sebagai
pembayaran elektronik pada jaringan peer to peer yang bersifat terdesentralisasi
[12].
Dalam paper yang berjudul “Blockchain: Powering the Internet of Value”
menjelaskan bahwa, blockchain pada dasarnya merupakan database yang berisi
data riwayat transaksi seperti catatan atau logs yang terdistribusi pada semua node
yang tergabung pada jaringan tersebut. Namun, terdapat suatu perbedaan pada
blockchain dan database pada umumnya. Perbedaan tersebut terletak pada sifat
immutable yang dimiliki oleh teknologi blockchain, dimana data yang tercatat dan
tersimpan pada suatu block, saling terhubung dengan block yang lain pada jaringan
tersebut dan tidak dapat berubah [13]. Selain itu, blockchain juga menerapkan
consensus atau kesepakatan bersama dalam memasukkan data ke setiap block yang
ada dalam jaringan blockchain tersebut. Hal ini bertujuan agar data yang tersimpan
dalam blockchain tidak ada yang tidak valid [14].
Penginputan data ke dalam blockchain, dilakukan melalui lima tahapan
yaitu:
- Proses transaksi merupakan tahapan dimana pengguna akan melakukan
transaksi dan transaksi tersebut terkirim melalui jaringan blockchain. - Autentikasi transaksi merupakan tahapan dimana akan dilakukan digital
signature. Setelah itu transaksi tersebut akan diletakkan pada transactions
pool. Transactions pool merupakan wadah yang mengumpulkan data-data
transaksi dari berbagai pengguna yang belum dimasukkan ke dalam suatu
block. - Creating block merupakan tahapan yang dimana beberapa transaksi dari
Smart Contract Halal…, William Chandra, Universitas Multimedia Nusantara
transactions pool dikumpulkan dan dimasukkan ke suatu block yang
kemudian akan dikirim ke jaringan blockchain untuk divalidasi. - Validasi block, merupakan tahapan dimana block akan divalidasi oleh node.
Teknik memvalidasi block pada setiap jaringan blockchain berbeda-beda
tergantung consensus yang ditetapkan oleh jaringan tersebut. Sebuah situs
yang bernama Investopedia.com menyebutkan terdapat lima consensus yang
saat ini digunakan yaitu proof of work, proof of stake, proof of capacity, proof
of activity, dan proof of burn. Namun proof of work merupakan consensus
yang saat ini umum digunakan dalam memvalidasi suatu block [15]. - Block chaining merupakan tahapan ketika block sudah divalidasi, maka akan
ditambahkan ke dalam blockchain yang kemudian isi buku besar tersebut akan
disebarkan pada jaringan sehingga, setiap node memiliki data dengan isi data
yang sama.
Proof of work merupakan mekanisme kesepakatan bersama yang dilakukan
oleh node yaitu miner untuk memvalidasi suatu block dan menambahkan ke
blockchain. Dalam mekanisme proof of work, para node yang telah menjadi
miner akan mencari hash kriptografi dalam bentuk SHA-256 yang valid, untuk
menjadikan block tersebut valid sehingga dapat ditambahkan kedalam jaringan
blockchain. Hash yang valid terbentuk melalui proses komputasi yang melibatkan
nonce, timestamp, previous hash, dan merkle root atau kumpulan transaksi. Hash
yang telah didapatkan melalui proses proof of work, akan digunakan kembali untuk
pemvalidasian pada block selanjutnya yang dimana hash tersebut akan menjadi
previous hash yang digunakan untuk mendapatkan hash yang valid pada block
selanjutnya [16].
Keamanan pada blockchain terletak pada konsep kriptografi hash khususnya
pada previous hash yang saling terhubung antar block dalam jaringan. Hashing
merupakan metode kriptografi yang mengubah isi data kedalam suatu bentuk yang
unik yang disebut sebagai hash. Hash pada setiap block selain mengamankan
suatu informasi, juga berperan sebagai identitas pada block tersebut. Hash yang
dihasilkan memiliki beberapa sifat yaitu:
- Deterministic
Deterministic merupakan salah satu sifat hash yang terjadi ketika terdapat
suatu kalimat ataupun data, jika diberi metode kriptografi berulang kali, hash
yang dihasilkan akan tetap sama. Sebagai contoh:
6
Smart Contract Halal…, William Chandra, Universitas Multimedia Nusantara
- Terdapat suatu data ‘kota’ yang diberi hashing menjadi
“0XAKDOIBJKDIEOFF”, ketika diberi metode tersebut berulang
kali hasilnya akan tetap sama menjadi “0XAKDOIBJKDIEOFF”.
- Collision Resistant
Collision Resistant merupakan merupakan salah satu sifat hash yang
menunjukkan bahwa tidak terdapat hasil hash yang sama dengan satu hash
yang lainnya sehingga setiap hash yang dihasilkan akan selalu unique. - Fast Computation
Fast Computation merupakan merupakan salah satu sifat hash yang
menunjukkan bahwa tidak memerlukan banyak sumber daya komputasi untuk
memproses suatu fungsi hash. - Avalance Effect
Avalance Effect merupakan merupakan salah satu sifat hash yang
menunjukkan jika terdapat perubahan pada data maka hasil hash yang
dihasilkan akan berbeda dari yang sebelumnya. Sebagai contoh:
- Terdapat suatu data yaitu ‘kota’ dengan hash “0XAKDOIBJKDIEOFF”
kemudian data tersebut diubah menjadi ‘kotak’ yang menyebabkan
hash yang dihasilkan akan berubah secara menyeluruh menjadi
“0XAKDOIBJKDEEEEE”.
Pada jaringan blockchain, block sebelumnya terhubung dengan block
selanjutnya melalui previous hash atau hash yang sudah divalidasi pada block
sebelumnya. Sehingga ketika data dalam block sebelumnya diubah maka block
selanjutnya hingga block seterusnya akan berubah menjadi tidak valid dikarenakan
terhubung dengan previous hash dan karakteristik yang dimiliki oleh hash
