Kenapa Data di Blockchain Sulit Diubah? Memahami Cara Kerja Blok, Hash, dan Jaringan

Salah satu kalimat yang paling sering terdengar ketika membicarakan blockchain adalah bahwa data yang sudah masuk ke dalam jaringan “tidak bisa diubah”. Pernyataan tersebut membuat blockchain terdengar seperti database dengan catatan yang terkunci selamanya.

Kenyataannya sedikit lebih kompleks. Blockchain bukan kebal terhadap seluruh bentuk perubahan atau serangan. Namun desainnya dapat membuat perubahan terhadap riwayat yang telah dikonfirmasi menjadi sangat sulit pada jaringan tertentu, terutama ketika jaringan tersebut besar dan terdesentralisasi.

Untuk memahami alasannya, kita tidak perlu langsung masuk ke matematika kriptografi yang rumit. Dasar cara kerja blockchain dapat dipahami melalui beberapa konsep utama: blok, hash, hubungan antarblok, konsensus, dan salinan ledger yang tersebar di banyak komputer.

Blockchain Bisa Dibayangkan sebagai Buku Catatan Bersama

Bayangkan sebuah buku catatan transaksi.

Pada database biasa, buku tersebut mungkin disimpan dan dikelola oleh satu organisasi.

Organisasi tersebut memiliki server, menentukan siapa yang dapat mengakses data, dan mengelola bagaimana informasi diperbarui.

Blockchain menggunakan pendekatan berbeda.

Pada banyak jaringan blockchain publik, salinan ledger dapat disimpan oleh banyak node yang berada di berbagai lokasi.

Ketika ada transaksi baru, jaringan menggunakan aturan tertentu untuk menentukan apakah transaksi tersebut valid sebelum memasukkannya ke dalam riwayat.

Jadi tidak ada satu file tunggal yang menjadi satu-satunya sumber informasi.

Apa yang Dimaksud dengan Blok?

Nama blockchain berasal dari dua kata:

block + chain.

Informasi dikumpulkan ke dalam struktur yang disebut blok.

Sebuah blok dapat berisi kumpulan transaksi dan berbagai metadata yang diperlukan oleh protokol jaringan.

Setelah blok diterima sesuai aturan jaringan, blok tersebut menjadi bagian dari rantai.

Blok berikutnya kemudian dibangun dengan referensi terhadap informasi dari blok sebelumnya.

Hubungan inilah yang menciptakan rantai data.

Secara konseptual:

Blok 1 → Blok 2 → Blok 3 → Blok 4

Namun hubungan antarblok bukan hanya urutan nomor.

Di sinilah hash memainkan peran penting.

Apa Itu Hash?

Hash merupakan hasil dari sebuah fungsi kriptografi yang mengubah data menjadi output dengan format tertentu.

Cara paling sederhana membayangkannya adalah seperti sidik jari digital.

Sebuah kumpulan data menghasilkan hash tertentu.

Jika datanya berubah, hasil hash juga dapat berubah secara signifikan.

Misalnya sebuah blok memiliki kumpulan transaksi.

Data tersebut diproses oleh fungsi hash dan menghasilkan nilai tertentu.

Jika seseorang mengubah salah satu bagian data di dalam blok, nilai hash yang dihasilkan tidak lagi sama.

Perubahan tersebut kemudian dapat memengaruhi hubungan dengan blok berikutnya.

Perubahan Kecil Bisa Menghasilkan Hash Berbeda

Inilah salah satu karakteristik penting fungsi hash kriptografi.

Bayangkan dua kalimat:

Saya memiliki 10 koin.

dan:

Saya memiliki 11 koin.

Bagi manusia, perbedaannya hanya satu angka.

Namun ketika kedua data tersebut dimasukkan ke fungsi hash kriptografi, hasilnya dapat terlihat benar-benar berbeda.

Artinya, manipulasi kecil terhadap data tidak sekadar menghasilkan sedikit perubahan pada output.

Hal ini membuat perubahan terhadap data lebih mudah terdeteksi oleh sistem yang memeriksa konsistensi hash.

Setiap Blok Terhubung dengan Blok Sebelumnya

Sekarang kita masuk ke bagian yang membuat struktur blockchain menarik.

Sebuah blok biasanya memiliki referensi kriptografis terhadap blok sebelumnya.

Secara sederhana kita dapat membayangkannya seperti:

Blok A

menghasilkan hash:

ABC123

Kemudian Blok B menyimpan referensi terhadap ABC123.

Jika isi Blok A diubah, hash-nya ikut berubah.

Misalnya menjadi:

XYZ789

Sekarang referensi yang tersimpan pada Blok B tidak lagi sesuai.

Rantai menjadi tidak konsisten.

Karena itu, mengubah satu blok lama bukan hanya soal mengedit satu baris database.

Perubahan tersebut memengaruhi hubungan dengan data setelahnya.

Lalu Kenapa Tidak Mengubah Semua Blok Sekaligus?

Secara teori, seseorang mungkin berpikir:

“Kalau begitu ubah saja blok lama kemudian hitung ulang semua blok setelahnya.”

Di sinilah mekanisme konsensus dan distribusi jaringan menjadi penting.

Blockchain publik tidak hanya memiliki satu salinan riwayat.

Banyak node dapat memiliki informasi mengenai keadaan jaringan.

Agar versi riwayat yang dimodifikasi diterima, penyerang tidak cukup hanya mengubah data pada komputernya sendiri.

Versi tersebut harus dapat memenuhi aturan protokol dan bersaing dengan keadaan jaringan yang dianggap valid oleh peserta lainnya.

Seberapa sulit hal tersebut sangat bergantung pada desain blockchain dan mekanisme konsensus yang digunakan.

Apa Itu Konsensus?

Blockchain membutuhkan cara agar peserta jaringan dapat mencapai kesepakatan mengenai keadaan ledger.

Mekanisme untuk mencapai kesepakatan tersebut disebut konsensus.

Dua istilah yang sering ditemukan adalah:

Proof of Work

dan

Proof of Stake.

Keduanya menggunakan pendekatan yang berbeda.

Proof of Work mengandalkan kompetisi komputasi dan aturan tertentu untuk menambahkan blok.

Proof of Stake menggunakan mekanisme berbasis stake serta aturan validator yang berbeda tergantung protokol.

Tujuannya secara umum adalah membuat jaringan dapat menentukan transaksi dan blok mana yang diterima tanpa harus bergantung pada satu administrator pusat.

Kenapa Banyak Node Penting?

Bayangkan sebuah spreadsheet hanya tersimpan di satu laptop.

Jika seseorang mendapatkan kontrol terhadap laptop tersebut, ia mungkin dapat mengubah file.

Sekarang bayangkan ribuan komputer memiliki informasi mengenai keadaan ledger dan mengikuti aturan yang sama untuk memvalidasi perubahan.

Mengubah satu salinan tidak otomatis mengubah salinan lainnya.

Node lain dapat menolak informasi yang tidak sesuai dengan aturan jaringan.

Inilah salah satu alasan distribusi dapat berkontribusi terhadap keamanan blockchain.

Namun jumlah node saja tidak otomatis menjamin keamanan. Distribusi kekuasaan, implementasi protokol, mekanisme konsensus, insentif, dan berbagai faktor lainnya juga berpengaruh.

Apa yang Dimaksud dengan Immutability?

Istilah immutability sering diterjemahkan sebagai ketidakmampuan untuk diubah.

Dalam konteks blockchain, istilah tersebut sebaiknya dipahami dengan sedikit nuansa.

Data blockchain bukan menjadi mustahil secara fisik untuk dimodifikasi dalam seluruh situasi.

Lebih tepatnya, struktur dan mekanisme jaringan dapat membuat perubahan terhadap riwayat yang sudah lama dikonfirmasi menjadi semakin mahal, sulit, atau tidak praktis.

Tingkat ketahanan tersebut juga berbeda antarjaringan.

Blockchain kecil dengan sedikit partisipan memiliki profil keamanan yang berbeda dibanding jaringan besar dengan sumber daya dan peserta yang jauh lebih banyak.

Apa Itu Confirmation?

Ketika transaksi baru masuk ke blockchain, pengguna sering melihat istilah confirmation.

Misalnya:

1 confirmation.

3 confirmations.

6 confirmations.

Secara sederhana, semakin banyak blok yang dibangun setelah transaksi masuk ke dalam rantai, semakin dalam posisi transaksi tersebut berada dalam riwayat.

Pada beberapa sistem, kedalaman ini digunakan sebagai salah satu pertimbangan mengenai seberapa final sebuah transaksi dianggap.

Namun konsep finality dapat berbeda berdasarkan desain blockchain.

Tidak semua jaringan menggunakan mekanisme yang sama.

Blockchain Bisa Mengalami Reorganization

Ini bagian yang sering hilang dalam penjelasan blockchain yang terlalu sederhana.

Tidak semua blok langsung menjadi permanen pada detik pertama muncul.

Pada beberapa blockchain, dua versi rantai sementara dapat muncul karena kondisi jaringan.

Protokol kemudian menggunakan aturan tertentu untuk menentukan versi yang diterima.

Proses perubahan urutan blok seperti ini dapat dikenal sebagai chain reorganization atau reorg.

Karena itu, aplikasi yang menangani transaksi bernilai penting biasanya tidak hanya melihat apakah transaksi pernah muncul, tetapi juga mempertimbangkan confirmation atau finality sesuai karakteristik jaringan tersebut.

Bagaimana dengan 51% Attack?

Istilah 51% attack sering muncul dalam diskusi keamanan blockchain, terutama dalam konteks jaringan tertentu.

Secara umum, konsepnya berkaitan dengan kondisi ketika satu pihak atau kelompok mendapatkan kendali sangat besar terhadap sumber daya yang digunakan dalam proses konsensus.

Dengan dominasi tersebut, mereka dapat memiliki kemampuan lebih besar untuk memengaruhi urutan transaksi atau melakukan tindakan tertentu yang tidak dapat dilakukan peserta biasa.

Namun kemampuan serangan bergantung pada protokol.

Memiliki mayoritas sumber daya juga tidak otomatis berarti seseorang dapat melakukan apa saja, seperti menciptakan aset orang lain atau mengubah seluruh aturan jaringan sesuka hati.

Jaringan tetap memiliki aturan yang divalidasi oleh software peserta.

Blockchain Tidak Membuat Informasi Otomatis Benar

Ini salah satu kesalahpahaman penting.

Blockchain dapat membantu menjaga integritas data setelah data dimasukkan.

Namun blockchain tidak selalu mengetahui apakah informasi awal tersebut benar.

Bayangkan seseorang memasukkan informasi:

“Barang ini dikirim pukul 10.00.”

Blockchain mungkin dapat mencatat data tersebut secara konsisten.

Tetapi bagaimana jaringan mengetahui barang benar-benar dikirim pada pukul tersebut?

Untuk informasi dari dunia luar, dibutuhkan mekanisme tambahan seperti sensor, organisasi, oracle, atau sumber data lainnya.

Masalah ini terkadang dijelaskan dengan prinsip sederhana:

garbage in, garbage out.

Teknologi dapat menjaga catatan, tetapi kualitas input tetap penting.

Smart Contract Juga Tidak Kebal dari Kesalahan

Smart contract merupakan program yang berjalan berdasarkan aturan blockchain tertentu.

Karena kode dapat dieksekusi secara otomatis, smart contract memungkinkan berbagai aplikasi dibangun di atas blockchain.

Namun kode dibuat oleh manusia.

Bug masih dapat terjadi.

Kesalahan logika masih mungkin ada.

Kerentanan keamanan juga dapat ditemukan.

Jadi keamanan jaringan blockchain tidak otomatis berarti setiap aplikasi yang berjalan di atasnya aman.

Kita perlu membedakan keamanan protokol dasar dengan keamanan aplikasi.

Private Key Sering Menjadi Titik Risiko Pengguna

Blockchain dapat memiliki kriptografi yang sangat kuat tetapi pengguna tetap dapat kehilangan aset jika private key atau kredensialnya jatuh ke tangan orang lain.

Private key memberikan kemampuan untuk mengotorisasi tindakan tertentu pada alamat blockchain.

Jika seseorang mendapatkan akses terhadap key tersebut, jaringan tidak selalu dapat membedakan apakah transaksi dilakukan pemilik asli atau pihak yang mencuri key.

Dari perspektif protokol, tanda tangan kriptografisnya mungkin tetap valid.

Karena itu, keamanan blockchain tidak hanya tentang algoritma.

Cara pengguna menyimpan kredensial juga sangat penting.

Transparan Tidak Selalu Berarti Identitas Terbuka

Banyak blockchain publik memungkinkan riwayat transaksi dilihat secara terbuka.

Namun alamat blockchain biasanya berupa rangkaian karakter, bukan langsung nama lengkap seseorang.

Hal ini sering disebut sebagai pseudonymous, bukan sepenuhnya anonymous.

Jika sebuah alamat suatu saat dapat dikaitkan dengan identitas tertentu, aktivitas publik dari alamat tersebut mungkin dapat dianalisis.

Karena itu, transparansi dan privasi dalam blockchain merupakan topik yang jauh lebih kompleks daripada sekadar “semua orang anonim”.

Kenapa Blockchain Tidak Digunakan untuk Semua Database?

Jika blockchain memiliki berbagai mekanisme keamanan, kenapa semua aplikasi tidak menggunakannya?

Karena setiap teknologi memiliki trade-off.

Database tradisional sering lebih sederhana, cepat, dan efisien untuk banyak kebutuhan.

Jika sebuah perusahaan memiliki database internal yang hanya digunakan oleh sistem mereka sendiri, blockchain mungkin tidak memberikan manfaat yang cukup untuk membenarkan kompleksitas tambahan.

Blockchain menjadi lebih menarik ketika terdapat kebutuhan tertentu mengenai koordinasi, verifikasi, distribusi kepercayaan, atau kepemilikan digital.

Teknologi terbaik bukan yang paling baru.

Teknologi terbaik adalah yang sesuai dengan masalahnya.

Kekuatan Blockchain Berasal dari Kombinasi Banyak Sistem

Tidak ada satu komponen ajaib yang membuat blockchain sulit dimodifikasi.

Ketahanannya berasal dari kombinasi berbagai mekanisme.

Hash membantu menunjukkan perubahan data.

Hubungan antarblok membuat riwayat saling terkait.

Konsensus menentukan keadaan jaringan yang diterima.

Distribusi ledger membuat data tidak hanya bergantung pada satu komputer.

Kriptografi membantu memverifikasi otorisasi.

Insentif ekonomi pada beberapa jaringan membantu mendorong peserta mengikuti aturan.

Ketika semuanya bekerja bersama, mengubah riwayat yang telah dikonfirmasi dapat menjadi jauh lebih sulit dibanding sekadar mengedit file biasa.

Itulah bagian menarik dari blockchain.

Teknologi ini bukan menciptakan database yang “mustahil diubah”.

Ia menciptakan sebuah sistem di mana banyak peserta dapat memeriksa dan menyepakati riwayat bersama—dan membuat manipulasi terhadap riwayat tersebut semakin sulit ketika jaringan dan konfirmasinya semakin kuat.