Disclaimer : Tulisan ini hanya sejauh pengetahuan saya saat ini dari mempelajari beberapa teknologi blockchain yang ada saat ini, silahkan mengkoreksi atau menambahkan apabila ada yang salah atau kurang dari paparan saya.
Why blockchain matters?Â
Blockchain pertama kali diperkenalkan oleh bitcoin sebagai pondasi utama yang menyebabkan bitcoin menjadi sangat bernilai secara ekonomi maupun teknologi. Blockchain dapat dikatakan sebagai jenis database baru setelah munculnya teknologi yang dikenal secara umum sebagai NoSQL database, meskipun pada praktiknya penggunaan blockchain sebagai DBMS (Database Management System) belum semudah atau sesederhana menggunakan RDBMS (Relational DBMS) atau NoSQL DBMS.
Blockchain
Secara sederhana blockchain dapat dikatakan sebagai sebuah database jenis baru dimana apabila dalam RDBMS data disimpan dalam bentuk kolom dan baris, pada blokchain data disimpan secara kronologis (berdasarkan urutan waktu penulisan) dalam sebuah bundel (block) yang diberi identitas unik dimana setiap bundel baru harus menyertakan bundel pendahulunya, sehingga membentuk serangkaian bundel berikat (blockchain). Rangkaian ikatan ini yang menjadikan blockchain secara logis akan sulit diubah (tamper resistant), karena apabila satu blok diubah maka keseluruhan data menjadi tidak konsisten atau tidak valid.Â
Secara garis besar, terdapat 2 tipe blockchain, yaitu UTXO (Unspent Transaction Output) dan state tree. Bitcoin adalah salah satu yang menganut UTXO, sebuah block dapat menyimpan koin virtual yang belum dibelanjakan (unspent) dimana untuk menghitung saldo kepemilikan harus menelusuri block - block dengan UTXO yang valid (meskipun pada praktiknya saldo total telah disimpan di dalam memory untuk mempercepat proses) . Sedangkan Ethereum adalah salah satu yang menganut state tree, dimana perubahan state (variabel) disimpan dalam struktur pohon, pada tipe state tree, node dapat dengan cepat mengambil nilai terakhir dari suatu variabel (saldo misalnya) tanpa perlu menelusuri block - block sebelumnya.
Karakteristik
Karakteristik utama dari blockchain yang membedakan dari jenis database lain diantaranya adalah terdistribusi, immutable (data yang tertulis tidak dapat diubah), dan desentralisasi (tidak ada kekuasaan terpusat - central authority - sebagai pengendali). Dalam komputasi , istilah terdistribusi memiliki beberapa pengertian, diantaranya adalah pemrosesannya yang terbagi - bagi, datanya yang terbagi - bagi , atau gabungan dari keduanya. Hingga saat ini sebagian besar solusi blockchain masih menggunakan karakteristik proses terdistribusi dengan data ter-replikasi (semua node / mesin memiliki data yang sama) dan beberapa sedang mengembangkan dukungan terhadap data yang terdistribusi (shard).Â
Immutable adalah sifat dimana sebuah data atau variabel tidak dapat diubah lagi setelah nilainya diberikan (assigned) dalam eksekusi program , berbeda dengan konstan dimana penentuan nilai dilakukan sebelum program dieksekusi. Dalam lingkungan eksekusi program, immutable dapat dicapai dengan mudah melalui serangkaian aturan logik, sedangkan dalam konteks data yang tersimpan dalam media penyimpanan kondisi tersebut lebih sulit dicapai. Salah satu cara untuk membuat sebuah file atau data immutable adalah dengan menuliskannya pada media sekali tulis seperti pada CD atau DVD, cara lainnya adalah menggunakan metode kriptografi yang menghasilkan immutability semu, semu karena secara fisik data tetap dapat diubah namun secara logik dapat diperiksa dengan menggunakan perhitungan matematis. Teknologi blockchain menggunakan metode kriptografi untuk mengamankan data transaksi dari adanya perubahan tanpa izin.
Desentralisasi merupakan karakteristik paling unik yang membedakan antara blockchain dengan teknologi database lainnya karena fitur terdistribusi dan immutable pada dasarnya bukan hal baru di dunia database (meskipun bentuk teknisnya berbeda). Sampai saat ini, semua solusi blockchain menggunakan konsensus untuk mencapai desentralisasi dengan berbagai variasinya. Konsensus dapat diartikan sebagai sebuah kesepakatan antara mesin - mesin (nodes) yang tergabung dalam satu ekosistem blockchain untuk menentukan data atau transaksi mana yang dianggap valid dan syah dan menjadikannya sebagai kebenaran bersama (single shared truth). Ada beberapa metode konsesus, diantarnya adalah Proof of Work (PoW), Proof of Stakes (PoS), Voting, dan Voting with Stakes dimana yang saat ini masih mendominasi adalah metode PoW yang dikenal dengan proses mining (menambang).Â
Konsensus