in

Soft Fork dan Hard Fork: Apa Bedanya?

Sekolah Kripto Indonesia

Kita mungkin tidak asing dengan blockchain. Tanpa blockchain kita pasti tidak akan bisa mengenal Bitcoin dan koin lainnya. Karena semua transaksi yang kita lakukan akan tercatat di dalam blockchain secara permanen. 

Sama seperti sistem digital lainnya, blockchain sangat butuh pembaharuan atau upgrade. Upgrade ini berupa perubahan protokol yang mendasari blockchain. Nah, perubahan inilah yang disebut sebagai fork. 

Apa Itu Fork? 

Seperti yang sudah dijelaskan di atas, fork merupakan sebuah pembaharuan yang dilakukan pada jaringan blockchain. Pembaharuan ini bisa bersifat pembaharuan minor maupun major dan bisa diajukan oleh developer blockchain atau anggota dari komunitas mereka. 

Terjadinya fork ini berdasarkan kebutuhan tiap blockchain ya, teman-teman. Jadi tidak ada jadwal tertentu kapan fork akan terjadi. Setiap blockchain melakukan pembaharuan ketika para developer atau anggota komunitas merasa butuh untuk melakukan fork.

Ketika fork ini terjadi, maka blockchain akan terbelah dan menghasilkan blockchain ke dua. Walaupun masih menyimpan history transaksi dengan blockchain yang aslinya, tetapi blockchain yang baru ini punya arah yang baru. 

Secara sederhananya, fork merupakan sebuah salinan dari sebuah program blockchain yang kodenya sudah dimodifikasi. Salinan ini menjadi sebuah program baru yang bisa diunduh oleh semua orang, namun versi lamanya juga masih tersedia untuk diunduh. Penggunanya (miner atau full nodes) bisa memilih untuk menjalankan program yang baru atau lama. Yang baru ini disebut sebagai fork. 

Fork dibagi menjadi dua, yaitu hard fork dan soft fork. Yuk, kita cari tahu perbedaan dari keduanya. 

Apa Itu Hard Fork? 

Hard fork adalah sebuah pembaharuan yang membagi blockchain menjadi dua. Perubahan yang baru ini nggak kompatibel dengan yang versi lama. Biasanya terjadi apabila ada perubahan yang berlawanan dengan protokol lama. 

Tapi meskipun berlawanan dengan protokol lama, protokol yang lama dan yang baru tetap berjalan berdampingan dan tidak mengganggu satu sama lain. 

Nah, terjadinya hard fork ini seperti yang sudah aku jelaskan sebelumnya, bukanlah tanpa alasan. Bisa saja untuk menambahkan fungsi baru atau fitur lain yang lebih baik atau bahkan yang lebih bisa kompatibel dengan blockchain lain, karena kadang upgrade yang sederhana juga nggak cukup untuk melakukan hal-hal ini. 

Hard fork dapat membantu meningkatkan keamanan di dalam protokol, menambahkan fitur baru atau fungsionalitas blockchain yang lebih baik, mengubah rewards miner atau biaya transaksi, serta kecepatan validasi transaksi di blockchain. 

Tapi, hard fork biasanya dianggap sangat bahaya karena adanya perpecahan antar miner yang mengamankan jaringan dan mode yang membantu validasi transaksi. Hal ini akan membuat blockchain menjadi kurang aman dan jadi lebih rentan terhadap adanya serangan. 

Ada sejumlah alasan mengapa pengembang bisa melakukan hard fork, seperti melakukan koreksi pada risiko keamanan yang ditemukan di jaringan lama, menambahkan fungsional baru pada jaringan, atau bahkan memecahkan masalah perselisihan yang terjadi pada komunitas. 

Hard fork juga bisa terjadi secara nggak sengaja. Jadi biasanya kalau insiden ini terjadi, developer akan langsung menyelesaikan hal ini dengan cepat dan kalau fork ini tidak sejalan lagi dengan blockchain utama maka harus dihentikan. 

Nah, karena hard fork bertujuan untuk menambahkan fungsionalitas dan meningkatkan jaringan, hal ini bisa menarik siapa saja yang sudah keluar dari konsensus bisa bergabung lagi ke blockchain utama.

Biasanya hard fork yang terjadi secara tidak sengaja terjadi lebih sering pada blockchain Bitcoin dan seringkali diselesaikan dengan sangat cepat sehingga nyaris tidak diketahui oleh banyak orang.

Biasanya, hard  fork ini terjadi setiap kali dua miner menemukan blok yang sama pada waktu yang hampir bersamaan. Saat konsensus pada jaringan ini didistribusikan, kedua miner ini awalnya melihat blok tersebut sebagai blok yang valid dan tetap melakukan mining di rantai yang berbeda sebelum  miner lain menambahkan blok berikutnya. 

Nah, ketika fork ini terjadi, miner yang menemukan blok akan kehilangan basis koin dan imbalan biaya transaksi. Namun, nggak ada transaksi yang dibatalkan karena kedua blok yang ditemukan identik dan berisi transaksi yang sama. 

Ada juga hard fork yang terjadi karena adanya serangan siber seperti Ethereum. Kamu pasti tahu kalau Ethereum terbagi menjadi dua yaitu Ethereum dan Ethereum Classic. Hard fork ini terjadi karena adanya peretasan pada The DAO di tahun 2016 lalu. 

The DAO adalah suatu komunitas yang membentuk sistem terdesentralisasi dan didukung oleh smart contract pengambilan keputusan bisa terjadi secara otomatis. Jadi, validasi transaksi yang dilakukan nggak membutuhkan pihak ketiga yang menjadi perantara transaksi. The DAO ini punya sistem yang dinamai dengan DAO (Decentralized Autonomous Organization). 

Awalnya, ada bug yang ditemukan oleh para developer di pemrograman DAO, pada saat sedang dibenahi, seorang peretas berhasil masuk ke dalam sistem DAO dan mencuri dana ETC dari hasil ICO yang dilakukan oleh The DAO dengan nilai $3.6 juta dan membuat harga ETC mengalami penurunan tajam, dari $20 menjadi $13. 

Insiden ini otomatis berdampak sangat buruk terhadap ekosistem Ether. Kemudian, para pengembang Ethereum akhirnya mencari solusi dan sepakat untuk melakukan hard fork pada blok 1,920,000 dengan tujuan untuk mengembalikan Ether yang hilang saat terjadinya peretasan. 

Pada akhirnya kita jadi mengenal 2 Ethereum, yaitu Ethereum Classic dan Ethereum. Ethereum Classic masih menggunakan mekanisme konsensus PoW sedangkan Ethereum menggunakan PoS. Hal ini berarti bisa membuat kita menarik kesimpulan bahwa tujuan lain dari hard fork adalah mengembalikan dana atau kripto yang hilang ketika jaringan terkena peretasan. 

Hard fork membantu peningkatan konektivitas jaringan dengan proses transaksi yang lebih cepat. Lalu, dengan hard fork, jaringan juga bisa melakukan pembuatan aset digital yang baru dan disediakan sebagai airdrop untuk pengguna dari hard fork. 

Misal, kalau ETH melakukan hard fork pengguna yang memegang 1 ETH akan mendapatkan 0,1 ETH setelah hard fork selesai. Kemudian aset baru oni bisa diperdagangkan atau di hold sampai harganya naik. 

Satu-satunya kekurangan hard fork adalah hard fork seringkali mempengaruhi nilai pasar dari aset yang ada dan membawa volatilitas yang tinggi pada aset. Lalu, seperti yang sudah aku jelaskan di atas juga bahwa hard fork juga bisa terbilang berbahaya karena para peretas kemungkinan dapat memanfaatkan kelemahan dalam jaringan blockchain setelah melakukan hard fork seperti serangan 51% atau serangan replay. 

Apa Itu Soft Fork? 

Nah, kalau soft fork adalah kebalikan dari hard fork. Kalau hard fork merupakan upgrade yang membagi dua jaringan dan tidak kompatibel dengan versi lama. Soft fork masih kompatibel dengan versi lama dan hanya membutuhkan sebagian dari miner untuk meningkatkan dan menyetujui versi baru. 

Soft fork juga digunakan untuk menghadirkan fitur atau fungsi baru pada blockchain. Nah, tapi karena dia menghasilkan satu blockchain, makanya perubahan ini masih tetap kompatibel dengan blok pre-fork. 

Soft fork bisa kita sebut sebagai minor upgrade pada suatu software.

Soft fork hanya butuh sebagian dari miner yang membutuhkan pembaharuan sistem dan menggunakan aturan baru di blockchain. Beda dengan hard fork yang mengharuskan semua node untuk meningkatkan dan menyetujui versi baru. Kalau soft fork, cuma butuh sebagian aja dari miner agar aturan baru ini bisa terlaksana. 

Miners yang tidak melakukan fork tetap bisa melihat transaksi baru yang masuk. Tapi kalau miner ini tidak memperbaharui sistem dan mencoba untuk menambang blok baru, maka blok tersebut akan ditolak oleh jaringan. 

Contoh dari soft fork adalah Segregated Witness (SegWit) pada Bitcoin. SegWit merupakan pembaruan yang mengubah format blok dan transaksi dengan dengan versi yang lebih baik. Node lama masih dapat melakukan validasi blok dan transaksi dan  validator menganggap versi lama dari sebuah blockchain masih valid.

Perbedaan Hard Fork & Soft Fork 

Hard fork dan soft fork pada dasarnya sama dalam arti bahwa ketika kode platform cryptocurrency yang ada diubah, versi lama tetap ada di jaringan sementara versi baru dibuat.

Dengan soft fork, hanya satu blockchain yang akan tetap valid saat pengguna mengadopsi pembaharuan. Sedangkan dengan hard fork, baik blockchain lama dan baru tetap ada berdampingan, yang berarti bahwa perangkat lunak harus diperbarui agar berfungsi dengan aturan baru. 

Meski sama-sama membuat cabang, tetapi hard fork menghasilkan dua blockchain dan soft fork hanya menghasilkan satu blockchain. Sedangkan kalau dilihat dari perbedaan keamanan antara hard fork dan soft fork, hampir semua pengembang menyarankan hard fork. 

Walaupun memang hard fork ini membuat dan merombak sebuah blok di blockchain sampai menjadi dua dan membutuhkan daya komputasi yang besar, tetapi privasi yang ditawarkan oleh hard fork lebih menjanjikan daripada menggunakan soft fork. 

Komunitas blockchain dan kripto sebenarnya tidak bisa menentukan mana jenis fork yang terbaik. Karena, setiap jenis fork memiliki kelebihan masing-masing. Soft fork dianggap sebagai pilihan yang lebih “soft” untuk jaringan. 

Tapi resiko terbesar dari fork ini adalah soft fork bisa digunakan oleh aktor jahat untuk mengelabui pengguna full node dan miner agar bisa memvalidasi blok yang melanggar aturan blockchain.

Pengguna full-node bertindak sebagai auditor blockchain yang tugasnya memelihara salinan lengkap dari blockchain setiap saat. Mereka juga bertugas untuk memastikan bahwa tiap blok baru mematuhi aturan blockchain lama.

Kalau sekelompok orang di blockchain berhasil membuat aturan baru tanpa sepengetahuan pengguna node penuh di jaringan, maka keamanan jaringan dapat diragukan. Misalnya, Bitcoin mempertahankan sifatnya yang terdesentralisasi melalui keberadaan pengguna full-node dan penambang yang beroperasi secara independen dari orang lain dan mengkonfirmasi validitas ledger. 

Nah hal ini menjadi alasan Bitcoin untuk memperkuat kebijakan ekonomi utama mereka seperti mencegah adanya pengeluaran ganda dan inflasi Bitcoin. Kalau ada aktor jahat yang menipu pengguna dan miner full node untuk menerima blok yang melanggar aturan, blockchain akan mulai memvalidasi yang sebenarnya tidak valid dan hal ini akan menyebabkan runtuhnya sistem. 

Karena alasan ini blockchain akhirnya membuat semua soft fork dapat dijalankan oleh publik. 

Sedangkan hard fork, di sisi lain, juga memiliki kelemahannya tersendiri. Pertama, hard fork dikenal memecah belah komunitas. Tidak seperti soft fork, tidak ada jalan tengah pada perpecahan yang merupakan dampak dari hard fork.  Kedua, banyak yang berpendapat bahwa hard fork berbahaya karena membagi kekuatan hashing jaringan, sehingga mengurangi keamanan jaringan dan kapasitas pemrosesan secara keseluruhan.

Selain itu hard fork juga memakan banyak sumber daya komputasi dan dianggap merusak masa depan mata uang kripto. 

Biar lebih gampang dalam memahami perbedaan antara hard fork dan soft fork kamu bisa anggap ini sebagai upgrade pada OS di perangkat seluler atau komputer milikmu. Setelah upgrade selesai pasti semua aplikasi pada perangkat yang kamu punya akan tetap bekerja dengan sistem operasi versi baru kan? Nah, hard fork di sini akan menjadi sebuah perubahan total pada sistem operasi yang baru. 

Lalu, untuk soft fork, karena tidak memecah blockchain, maka jumlah volatilitasnya tidak terlalu tinggi seperti hard fork. Tapi soft fork masih memiliki dampak yang signifikan pada kelayakan finansial mata uang kripto apa pun. Oleh karena itu, para investor mata uang kripto sangat perlu untuk memahami cara kerja soft fork karena hal ini bisa mempengaruhi net worth mereka. 

Kalau kamu sendiri pilih hard fork atau soft fork nih? 

Contoh Hard Fork 

Selain Ethereum Classic, masih ada lagi contoh lain dari hard fork di dunia, salah satunya adalah hard fork pada Bitcoin. 

SegWit2x adalah upgrade yang dirancang untuk membantu skala Bitcoin. Itu diatur untuk menerapkan Segregated Witness (SegWit) dan meningkatkan batas ukuran blok dari satu MB menjadi 2 MB di jaringan Bitcoin. 

Implementasi SegWit2x diputuskan dalam New York Agreement yang dibuat pada 23 Mei 2017. Isi perjanjian tersebut adalah bahwa sejumlah pemilik bisnis dan miner Bitcoin yang mewakili lebih dari 85% dari tingkat hash jaringan bisa memutuskan masa depan BTC secara tertutup. 

SegWit akan diimplementasikan melalui soft fork, sedangkan batas ukuran blok akan diimplementasikan melalui hard fork setelahnya. 

Kemudian proposal itu menjadi kontroversial karena tidak menyertakan pengembang pada basis kode utama Bitcoin dan Bitcoin Core.Kesepakatan itu muncul setelah bertahun-tahun perdebatan tentang penskalaan Bitcoin.

Banyak perbedaan pendapat mengenai ukuran blok. Mulai dari kesulitan untuk menghost node secara penuh maupun mengenai kenaikan biaya transaksi BTC yang akan membahayakan pertumbuhan jaringan Bitcoin. 

Saat itu sudah banyak pengguna Bitcoin yang melakukan demo agar soft fork diaktifkan. Mereka meminta agar Bitcoin Improvement Proposal (BIP) 148 agar bisa diterapkan dan para pengguna beranggapan bahwa SegWit2x bisa membuat jaringan menjadi rentan terhadap serangan replay. 

Karena khawatir rencana SegWit2x tidak akan terlaksana dan banyak komunitas yang mendukung SegWit. Akhirnya para pengembang dan komunitas memutuskan untuk melakukan fork blockchain Bitcoin dan hasilnya adalah terbentuknya Bitcoin Cash (BCH)

Blockchain Bitcoin Cash dibuat dengan ukuran blok 8MB yang sejak itu meningkat menjadi 32 MB. Tak lama setelah itu, banyak fork Bitcoin lainnya dibuat. Ini termasuk Bitcoin Gold (BTG), Bitcoin Diamond (BTCD) dan lainnya.

Kesimpulan

Jadi, bisa kita simpulkan kalau hard fork dan soft fork adalah dua pembaharuan yang berbeda pada cara kerjanya. kalau hard fork, tidak mempengaruhi jaringan yang sebelumnya dan memang tidak kompatibel dengan jaringan yang sebelumnya. Hard fork dapat membantu meningkatkan keamanan di dalam protokol, menambahkan fitur baru atau fungsionalitas blockchain yang lebih baik, mengubah rewards miner atau biaya transaksi, serta kecepatan validasi transaksi di blockchain.

Sedangkan soft fork adalah kebalikan dari hard fork. Soft fork masih kompatibel dengan versi lama dan hanya membutuhkan sebagian dari miner untuk meningkatkan dan menyetujui versi baru.

Bagaimana menurut kamu? Yuk, belajar bareng tentang kripto di Sekolah Kripto Indonesia!