Mau paham Blockchain?

Belajar Sekarang
TINGKATKAN PEMAHAMAN BLOCKCHAIN MU

Rekomendasi webinar dan materi edukasi teknologi blockchain terkini langsung dari para ahli.

Mau paham Blockchain?

Belajar Sekarang

Yuk Pahami Perbedaan Hard Fork dan Soft Fork!

Kesimpulan panduan

Sering kali kita mendengar istilah fork yang berkaitan dengan cryptocurrency tertentu. Tetapi, apa sebenarnya fork itu? Mengapa fork seringkali menjadi perdebatan? Dan apa sih perbedaan hard fork dan soft fork itu?

Sebuah “fork”, dalam istilah programming, adalah sebuah proses modifikasi kode pemrograman open-source. Biasanya kode yang difork ini sama dengan kode aslinya, namun dengan tambahan modifikasi penting, dan kedua prong (kaki garpu) masih tetap ada.

Terkadang proses fork ini digunakan untuk menguji sebuah proses, namun dalam cryptocurrency, fork lebih sering digunakan untuk mengimplementasikan perubahan fundamental, atau untuk membuat asset baru dengan karakteristik serupa (tapi tidak sama) dengan yang aslinya.

Baca juga: Cara Beli Bitcoin Di Spot Trading Binance Untuk Pemula

Tidak semua fork disengaja. Dengan adanya basis kode open-source yang terdistribusi luas, fork dapat terjadi secara tidak sengaja ketika beberapa node tidak mereplikasi informasi yang sama.

Biasanya proses fork seperti ini akan teridentifikasi dan dapat diperbaiki, namun kebanyakan fork cryptocurrency disebabkan karena adanya pertentangan akan beberapa karakteristik yang melekat pada cryptocurrency tertentu.

Salah satu hal yang perlu diingat tentang fenomena fork adalah bahwa mereka memiliki histori yang sama. Catatan transaksi pada setiap chain (yang lama ataupun yang baru) adalah sama sebelum fork terjadi.

HARD FORKS

Terdapat dua tipe utama dalam memprogram fork: hard dan soft.

Sebuah hard fork adalah perubahan protocol yang menyebabkan versi lama menjadi tidak valid.

Jika versi lama tetap beroperasi, versi lama ini akan berakhir dengan protocol yang berbeda dan dengan data yang berbeda dari versi yang baru. Hal ini dapat menyebabkan kebingungan yang signifikan dan eror yang mungkin terjadi.

Pada bitcoin, sebuah hard fork dibutuhkan untuk mengubah parameter seperti ukuran block, tingkat kesulitan puzzle kriptografi yang harus dipecahkan, batas informasi tambahan yang dapat ditambahkan, dan lain-lain.

Perubahan aturan-aturan parameter di atas akan membuat block dapat diterima oleh protocol baru tetapi ditolak oleh protocol lama dan dapat menjadi masalah yang cukup serius – atau bahkan kehilangan sejumlah uang.

Seperti contohnya, jika batas ukuran block ditingkatkan dari 1MB menjadi 4MB, sebuah block dengan ukuran 2MB akan dapat diterima oleh node yang beroperasi di versi baru, dan ditolak oleh node yang beroperasi di versi lama.

Katakan jika block berukuran 2MB ini divalidasi oleh node yang sudah diperbaharui dan ditambahkan ke dalam blockchain. Bagaimana jika block berikutnya divalidasi oleh node yang beroperasi di protocol versi lama? Sistem akan mencoba menambahkan block ke dalam blockchain, namun sistem akan mendeteksi bahwa block ini tidak valid.

Baca juga: Cara Daftar Dan Beli Bitcoin Di Tokocrypto

Sehingga sistem akan menghiraukan block tersebut dan menambahkan validasinya ke block yang sebelumnya. Sehingga secara tiba-tiba, Anda akan memiliki dua blockchain, satu dengan versi block lama dan satu dengan versi block baru.

Chain yang mana yang dapat bertumbuh lebih cepat akan bergantung pada node yang mana yang membuat block berikutnya tervalidasi, dan hal ini akan dapat berakhir dengan adanya split tambahan. Kemungkinan bahwa dua (atau lebih) chain bertumbuh secara bersamaan tanpa batas mungkin terjajdi.

Ini adalah yang disebut proses hard fork, dan proses ini dapat menjadi sangat berantakan. Selain itu, hard fork juga sangat berisiko dan mungkin adanya bahwa cryptocurrency yang digunakan di block baru dapat digunakan kembali di block lama.

Satu-satunya solusi yang dapat diterapkan adalah meninggalkan salah satu cabang untuk membantu cabang lainnya, di mana hal ini akan mengakibatkan beberapa miners akan kehilangan sejumlah aset (walaupun transaksinya tidak akan hilang, hanya direalokasi). Atau, semua node dipindahkan ke versi terbaru pada waktu yang bersamaan, di mana hal ini sulit dilakukan dalam sistem yang terdesentralisasi dan tersebar luas.

Atau yang terjadi pada pemecahan bitcoin, Bitcoin Cash.

SOFT FORKS

Sebuah soft fork masih dapat beroperasi dalam versi yang lama.

Jika, sebagai contoh, sebuah protocol diubah dengan cara di mana peraturan diperketat, yang mengimplementasikan sebuah perubahan atau menambahkan fungsi yang tidak mempengaruhi struktur apapun, sehingga kemudian block versi terbaru akan dapat diterima dengan node versi lama. Hal ini juga tidak berlaku sebaliknya, versi terbaru yang lebih “ketat” akan menolak versi lama.

Dalam bitcoin, idealnya para miner yang menggunakan versi lama akan menyadari bahwa block mereka ditolak dan harus di-upgrade. Dan ketika lebih banyak miner yang melakukan upgrade, rantai dengan block baru akan menjadi yang terpanjang, di mana hal ini akan semakin membuat versi lama ditinggalkan, dan akan membuat semakin banyak miner melakukan upgrade dan sistem akan memperbaiki dirinya sendiri. Karena blok versi terbaru diterima baik oleh node yang lama dan node yang diupgrade, versi terbaru blok pada akhirnya akan menang.

Seperti contoh, katakan jika komunitas memutuskan untuk mengurangi ukuran blok menjadi 0.5MB dari batas yang sekarang 1MB. Node versi terbaru akan menolak blok yang berukuran 1MB, dan akan membangun di blok yang sebelumnya (jika didapatkan dengan versi kode yang sudah diupdate), dan hal ini akan menyebabkan fork sementara.

Hal ini adalah soft fork, dan sudah terjadi beberapa kali. Awalnya, Bitcoin tidak memiliki batas ukuran blok. Batas 1MB diketahui melalui proses soft fork, karena aturan yang baru lebih “ketat” daripada aturan lama.

Fungsi pay-to-script-hash, yang menambahkan kode tanpa merubah strukturnya, juga dapat dengan sukses ditambahkan melalui proses soft fork. Penambahan tipe ini secara umum hanya membutuhkan mayoritas miner untuk melakukan upgrade, di mana hal ini mudah dilakukan dan tidak cukup mengganggu.

Soft fork tidak memiliki risiko ganda seperti pada hard fork, karena merchant dan pengguna yang beroperasi pada node lama akan membaca kedua versi blok.

Secara singkat, perbedaan soft fork dan hard fork dapat dilihat pada tabel berikut:

beda hardfork dan softfork

Pertanyaan penting

🔎 Apa itu fork ?

Fork dalam istilah programming, adalah sebuah proses modifikasi kode pemrograman open-source.

📍 Di mana proses fork digunakan ?

Dalam cryptocurrency, fork lebih sering digunakan untuk mengimplementasikan perubahan fundamental, atau untuk membuat asset baru dengan karakteristik serupa (tapi tidak sama) dengan yang aslinya.

🍴 Ada berapa tipe pemrograman fork ?

Ada dua yakni hard forks dan soft forks

📋 Apa itu hard fork ?

Hard fork adalah perubahan protocol yang menyebabkan versi lama menjadi tidak valid.

📁 Apa perbedaan hard forks dan soft fork ?

Aturan, protokol dan node yang berbeda

➕ Apa keunggulan soft fork ?

Soft fork tidak memiliki risiko ganda seperti pada hard fork, karena merchant dan pengguna yang beroperasi pada node lama akan membaca kedua versi blok.

👎 Apa kelemahan hard fork ?

Mungkin adanya bahwa cryptocurrency yang digunakan di block baru dapat digunakan kembali di block lama.

🚧 Apa yang terjadi bila protocol lama tetap berjalan setelah hard fork ?

Versi lama ini akan berakhir dengan protocol yang berbeda dan dengan data yang berbeda dari versi yang baru.

Anisa Giovanny

Anisa tertarik dengan dunia tulis menulis dan copyediting sejak bangku SMA dan diperdalam di dunia perkuliahan. Saat ini tertarik dan tengah mendalami bidang ekonomi terutama terkait investasi dan cryptocurrency

Anisa tertarik dengan dunia tulis menulis dan copyediting sejak bangku SMA dan diperdalam di dunia perkuliahan. Saat ini tertarik dan tengah mendalami bidang ekonomi terutama terkait investasi dan cryptocurrency

Kosa Kata

Blockchain

1 month ago

zk-SNARK

Blockchain

1 month ago

Validator

Blockchain

1 month ago

Turing Complete