Aset digital
Apa Itu Hard Fork?
Perubahan aturan blockchain dapat memengaruhi pengguna, pengembang, pedagang, dan investor. Salah satu konsep penting untuk memahaminya adalah hard fork: perubahan aturan konsensus yang tidak kompatibel dengan perangkat lunak lama.
Tidak semua pembaruan blockchain memerlukan hard fork. Ada pula soft fork dan perubahan perangkat lunak yang tidak mengubah aturan konsensus. Memahami perbedaannya membantu pengguna mengetahui perangkat lunak mana yang memvalidasi aturan baru dan kapan sebuah jaringan dapat terpecah.
Apa itu hard fork?
Hard fork mengubah aturan yang digunakan node untuk menentukan apakah blok dan transaksi sah.
Dalam hard fork, blok yang sah menurut aturan baru dapat ditolak oleh node yang masih mengikuti aturan lama. Perubahan semacam ini dapat memperkenalkan fitur atau mengubah batasan protokol. Besar kecilnya perubahan kode bukan penentu utama; kompatibilitas aturan konsensus yang membedakannya dari soft fork.
Operator node yang ingin memvalidasi rantai dengan aturan baru perlu memakai perangkat lunak yang mendukungnya. Tidak ada kewajiban teknis bagi setiap orang untuk ikut: sebagian dapat tetap menjalankan aturan lama. Apakah rantai lama bertahan bergantung pada dukungan peserta dan mekanisme konsensusnya.
Pengembang atau anggota komunitas dapat mengusulkan hard fork untuk menambah fitur, memperbaiki masalah, atau memilih arah pengembangan lain. Usulan saja tidak mengubah jaringan; peserta perlu mengadopsi perangkat lunak dan mengoordinasikan aktivasi aturan.
Apa yang terjadi saat hard fork?
Aturan baru biasanya diaktifkan pada tinggi blok atau waktu yang telah ditentukan. Node yang belum memperbarui perangkat lunaknya dapat menolak blok yang diterima node baru. Namun, hard fork tidak selalu menghasilkan dua mata uang atau dua jaringan yang terus hidup: jika peserta beralih bersama, rantai lama bisa berhenti.
Jika kelompok berbeda terus membangun blok berdasarkan aturan yang tidak kompatibel, jaringan dapat mengalami perpecahan yang bertahan lama. Ini berbeda dari percabangan sementara ketika dua blok sah ditemukan hampir bersamaan dan jaringan kemudian memilih satu riwayat.
Dua rantai yang bertahan memiliki riwayat bersama sampai titik percabangan, lalu berkembang secara terpisah. Rantai lama tidak otomatis tidak relevan; masing-masing bergantung pada dukungan pengguna, pengembang, operator node, serta penambang atau validator.
Rantai mana yang dianggap asli?
Hard fork bukan hanya terjadi pada Bitcoin atau Ethereum. Nama dan identitas setelah perpecahan ditentukan oleh penggunaan serta pengakuan komunitas dan pasar, bukan aturan universal yang selalu memberikan nama asli kepada rantai dengan kode terbaru.
Pembaruan aturan dan identitas proyek adalah dua hal berbeda. Sebuah jaringan dapat mempertahankan namanya setelah pembaruan yang disepakati. Sebaliknya, kelompok yang tidak sepakat dapat menjalankan rantai lain dengan nama berbeda. Hal ini tidak berarti setiap pembaruan Bitcoin merupakan hard fork.
Bitcoin Cash dan Bitcoin Gold merupakan contoh proyek yang muncul dari percabangan terkait Bitcoin. Bitcoin SV kemudian muncul dari percabangan Bitcoin Cash. Ketiganya merupakan jaringan terpisah, bukan sekadar nama versi perangkat lunak Bitcoin yang sama.
Mengapa hard fork diusulkan?
Alasannya dapat berupa penambahan fungsi, perubahan parameter konsensus, atau perbaikan kerentanan. Dukungan mayoritas dapat membantu koordinasi, tetapi bukan keputusan pusat yang memaksa semua node menerima perubahan. Peserta tetap menentukan aturan yang dijalankan.
Keamanan tidak otomatis terjamin hanya karena suatu rantai besar atau memiliki banyak node. Kerentanan kontrak pintar, perangkat lunak, atau serangan terhadap konsensus tetap berbeda persoalannya. Dalam keadaan tertentu komunitas dapat mendukung perubahan keadaan jaringan, tetapi itu tidak berarti seseorang bebas menghapus riwayat transaksi.
Perubahan aturan juga perlu dibedakan dari perpindahan platform, seperti yang dibahas dalam artikel terkait Polymath dan Ethereum. Contoh perubahan keadaan melalui hard fork adalah respons Ethereum terhadap serangan DAO pada 2016.
Pada 20 Juli 2016, fork DAO Ethereum diaktifkan pada blok 1.920.000. Laporan Ethereum Foundation menyebut perubahan keadaan yang memindahkan dana dari kontrak DAO terkait ke kontrak pemulihan. Dukungan kuat tidak berarti seluruh komunitas sepakat: sebagian menolak perubahan dan melanjutkan rantai tanpa fork sebagai Ethereum Classic.
Fork tersebut tidak menghapus transaksi serangan dari riwayat. Perubahan keadaan memindahkan dana ke kontrak baru yang memungkinkan penarikan sesuai hak pemegang token DAO. Pemulihan berjalan melalui kontrak itu, bukan pengembalian otomatis serentak kepada semua pemegang.
Perbedaan hard fork dan soft fork
Keduanya merupakan cara mengubah aturan konsensus, tetapi berbeda dalam kompatibilitas. Soft fork memperketat aturan sehingga blok yang memenuhi aturan baru tetap dianggap sah oleh node lama, meskipun node lama tidak memeriksa seluruh pembatasan baru.
Hard fork dapat menghasilkan blok yang ditolak node lama. Jika kedua kelompok tetap mempertahankan aturan masing-masing, dua rantai dapat bertahan. Soft fork dirancang untuk mempertahankan satu rantai yang kompatibel; kegagalan koordinasi atau kesalahan penerapan tetap dapat menimbulkan masalah dan perpecahan.
Operator yang ingin memvalidasi seluruh aturan baru harus memperbarui perangkat lunaknya. Dalam soft fork, node lama dapat tetap mengikuti blok baru tanpa memahami semua aturan tambahan. Pada hard fork, node lama dapat menolak blok tersebut. Jadi, bukan berarti kedua jenis pembaruan pasti menciptakan perpecahan yang sama.
Hard fork tidak secara inheren lebih aman daripada soft fork. Keamanan bergantung pada rancangan, implementasi, pengujian, koordinasi aktivasi, dan dukungan jaringan. Soft fork juga bukan metode yang sudah jarang dipakai: Taproot pada Bitcoin merupakan soft fork yang diaktifkan pada 2021. Hard fork sendiri tidak otomatis membutuhkan daya komputasi jauh lebih besar; kebutuhan sumber daya bergantung pada perubahan protokol.
Kesimpulan
Hard fork memungkinkan perubahan konsensus yang tidak kompatibel dengan node lama. Pembaruan dapat direncanakan dalam peta jalan atau diusulkan untuk mengatasi masalah mendesak, tetapi tidak setiap fitur baru memerlukannya.
Hasilnya bergantung pada isi perubahan dan dukungan peserta. Pembaruan yang terkoordinasi dapat mempertahankan satu jaringan, sedangkan perselisihan dapat menghasilkan rantai terpisah. Bagi pengguna, hal penting adalah memahami aturan, perangkat lunak, dan jaringan yang dipilih.












