Bahasa Indonesia | English

Mengenal Blockchain

Nasional 05 October 2022 3118


Oleh: Eddo Fajar Nugroho, MT.
Tenaga Pengajar di BPPTIK Kementerian Kominfo

Saat ini muncul beberapa fenomena teknologi baru dengan memanfaatkan konsep Blockchain. Untuk dapat mengantisipasi peluang dan tantangan terkait teknologi ini, berikut ini tulisan tentang pengenalan Blockchain.

Blockchain adalah seruntunan blok yang mengandung informasi. Struktur ini ditemukan pada tahun 1991 dengan maksud untuk memberi timestamp pada dokumen digital sehingga dokumen tersebut tidak dapat dihilangkan atau dipalsukan. Bolckchain baru pertama kali digunakan secara serius pada tahun 2009 ketika Satoshi Nakamoto memperkenalkan bitcoin.

Blockchain dapat disebut sebagai sekumpulan data terdistribusi yang dapat diakses oleh siapa pun. Salah satu keistimewaan blockchain adalah bahwa data yang sudah dimasukkan ke dalam blockchain akan sangat sulit diubah.

Ada tiga mekanisme pengamanan dalam blockchain:

1. Nilai Hash.

Setiap blok dalam blockchain mengandung data, nilai hash blok tersebut, dan nilai hash blok sebelumnya. Data dalam suatu blok bergantung pada jenis blockchain. Misalnya, sebuah blok dalam blockhcain bitcoin menyimpan data transaksi bitcoin seperti pengirim, penerima, dan jumlah.

Nilai hash berfungsi sebagai pengidentifikasi yang unik. Setiap blok dalam blockchain memiliki nilai hash yang berbeda. Salah satu faktor yang menentukan nilai hash sebuah blok adalah data yang tersimpan blok tersebut. Bila data dalam suatu blok berubah, nilai hash blok tersebut pun akan berubah. Karena nilai hash sebuah blok dalam suatu blockchain tersimpan dalam blok berikutnya, perubahan data blok tersebut akan terdeteksi dari nilai hash yang tersimpan dalam blok berikutnya.

Contoh: Anggaplah ada dua blok dalam sebuah blockchain yang saling berurutan: blok B1 dan B2. B2 adalah blok yang tersimpan setelah B1. B1 memiliki nilai hash H1 dan B2 memiliki nilai hash H2. B2 pun menyimpan nilai hash blok B1 (yang merupakan blok sebelum B2), yaitu H1. Sebenarnya B1 pun menyimpan nilai hash blok sebelum B1, tapi itu tidak penting untuk disebut di sini. Bila seseorang meng-hack blok B1 dan mengubah data di dalamnya, nilai hash blok B1 akan berubah (sebut saja dari H1 menjadi H3). Ini akan menyebabkan blok B2 (dan blok-blok setelah B2) tidak dikenali dalam blockchain karena blok B2 tidak lagi dapat mengenali blok yang memiliki nilai hash H1.

2. Proof-of-work

Pengunaan nilai hash saja tidak cukup untuk mencegah seseorang memalsukan data dalam blockchain. Komputer zaman now dapat mengalkulasi ratusan ribu nilai hash per detik sehingga seseorang bisa saja mengubah nilai hash semua blok dalam sebuah blockchain supaya blok-blok tersebut tetap dianggap valid. Untuk mengantisipasi hal ini, blockchain memiliki mekanisme proof-of-work (POW), yaitu mekanisme yang membutuhkan waktu kalkulasi yang relatif lama pada saat pembuatan blok baru. Dalam kasus bitcoin, dibutuhkan sepuluh menit untuk mengalkulasi POW dan menambahkan sebuah blok baru. Bila isi suatu blok diubah, POW untuk blok-blok selanjutnya akan perlu dihitung ulang, dan itu akan membutuhkan waktu yang sangat lama.

3. Konsensus

Pengelolaan blockchain tidak dilakukan dalam satu server yang terpusat. Data blockchain tidak disimpan dalam satu terminal, melainkan tersebar dalam jaringan peer to peer (P2P). Siapa pun boleh bergabung dalam jaringan ini. Bila seseorang bergabung dalam jaringan ini, ia akan mendapatkan salinan blockchain secara lengkap. Ini dilakukan untuk memverifikasi isi blockchain. Bila ada blok baru yang ditambahkan ke dalam blockchain, blok tersebut akan dikirimkan kepada semua terminal dalam jaringan. Masing-masing terminal akan memverifikasi blok tersebut dan memastikan bahwa blok tersebut valid. Bila blok tersebut dianggap valid, tiap terminal akan menambahkan blok tersebut ke dalam blockchain masing-masing. Terjadilah suatu konsensus; semua terminal dalam jaringan P2P sepakat menentukan blok mana yang valid dan blok mana yang tidak valid. Bila ada blok dalam blockchain salah satu terminal yang berubah, terminal-terminal lain akan menolak blok tersebut. (bpptik/efn/hdn)