Kripto para ve blockchain kavramlarının hayatımıza girmesiyle birlikte özellikle son zamanlarda “Hard Fork” ve “Soft Fork” kavramlarını oldukça duymaya başladık. Bir çoğumuz “Soft Fork ve Hard Fork Nedir?” sorusunun cevabını çok net bilmiyoruz. Kavramlara açıklık getirerek arasındaki farkları ortaya koymaya çalışacağım.
Fork Nedir?
Bu “fork” kavramı maalesef yerine uygun bir Türkçe kelime bulamadığımız bir kavram. Çatallaşma deniyor ama bu bence güzel bir çeviri değil. Benim kulağıma “farklılaşma” daha uygun geliyor. Fork kavramı yazılımcıların aşina olduğu bir terimdir. Fork (çatallaşma veya farklılaşma), bir projenin kaynak kodlarından yola çıkarak farklı bir yolda ilerleyen yeni bir proje oluşturmaya denir. Açık kaynak kodu projelerinde oldukça görülür. Eğer yapmak istediğiniz iş mevcut proje ile yapılamıyor ama sizin başlamanızı sağlayacak özellikler o projede varsa o zaman o projeyi “fork” yaparak kendi projenize başlarsınız. Kripto para madenciğiyle birlikte “Soft Fork ve Hard Fork” kavramları ortaya çıkmıştır..
Kripto Paralarda Neden Fork/Ayrışma Yapılır?
Bildiğiniz gibi bitcoin (ve alt coinlerde) madencilik kuralları herkesin bildiği ve uyduğu kurallardır. Bu kurallar dahilinde madencilik yapılır. Peki madenci yazılımcıların bir kısmı bu kuralları değiştirmek için hem fikir olursa ne olur? Bu yapılar dağıtık olduğundan ve merkezi kontrollü olmadıklarından küçük ve yetkili bir ekibin kararıyla yola devam edilemez. Eğer değişiklik isteği büyük bir taraftar kitlesi toplarsa bu adndan itibaren kuralların değişeceği yeni bir “fork” yapılacağı duyurulur ve kurallar ortaya konur. Peki, akla şöyle bir soru gelebilir:
“Merkezi otorite yoksa ben de bir “fork” yapabilir miyim?” Cevabı “evet”. İsteyen herkes yapabilir. Fakat madencilerin sizi takip etmesi ve sizin kurallarınıza uyması için topluluğun çoğunun sizin ayrışmanızı kabul etmesi gerekir. Bu da yapıyı çok iyi biliyor olmanızı ve ortaya süreceğiniz ayrışmanın önemli artıları olmasını gerektirir. Bu sebeple bazı ayrışmalar kabul görürken bazıları da başarısız olabilir.
Bir ayrışım ile eklenen kuralların kullanımı mutlaka madencilere avantaj sağlamalıdır. Bu sayede madenciler hızlı bir şekilde yeni ayrışıma geçmek için gayret ederler. Eğer yeni ayrışım yeterince başarılı değilse toplulukta ayrışma olur ki; bu kripto para için oldukça tehlikeli bir durumdur. Şimdi Soft Fork ve Hard Fork tanımlarına geçelim.
Soft Fork Nedir?
En kısa ifadeyle “geriye uyumlu” olarak yapılan ayrışmaya “soft fork/yumuşak ayrışım veya uyumlu ayrışım” denebilir. Eski kurallara göre üretilmiş bloklar yeni kurallarca da geçerli olur. Böylece sistem geriye uyumlu olarak kırılmadan devam edebilir. Tek bir zincir ile devam edilir ve eskiden oluşturulmuş bir blokta yer alan paranız yeni kurallara göre el değiştirebilir. Belli bir zaman sonra ağdaki büyük çoğunluk yeni ayrışıma geçerek “fork” başarılı bir biçimde tamamlanır.
Hard Fork Nedir?
Adından da anlaşılacağı gibi “hard fork/katı ayrışım” da geriye uyumun sağlanamadığı ayrışmaya verilen isimdir. Bu ayrışımda eski kurallara göre oluşturulmuş bir blok sadece yine eski versiyonda geçerli olur. Aynı şey yeni versiyon için de geçerlidir. Yani ayrışmadan sonra iki ayrı zincir meydana gelir ve birbirleri arasında etkileşim olamaz. Bu yöntem elbette ki çok tercih edilecek bir yöntem değildir. Bu tür bir ayrışım gerçekten zorunlu hale geldiyse yapılır. Çünkü yukarıda da açıkladığım toplulukları ikiye bölme riski daha yüksek olduğundan iyi karar verilmesi gerekir.
Fork’un Etkileri Nelerdir?
Bu tür ayrışımların önemli etkileri olur. Öncelikle yeni kurallar yeni yazılacak kodlar anlamına gelir. Bu da tüm madenciler yazılımcılar iş demektir. Elbette bu paralar üzerinde oluşan piyasalar da bu değişikliklerden direk etkilenirler.
Bu değişimler piyasada huzursuzluk yaratır. Örneğin 1 Ağustos 2017’de yapılacak olan Bitcoin Fork’unun nasıl bir tepkiyle karşılanacağını göreceğiz. Fakat quora‘ya baktığımda herkes “bitcoinlerimi satmalı mıyım?”, “Elimdeki bitcoinleri kaybeder miyim?” tarzında onlarca soru soruyor.
Ayrıca bu değişimler esnasında işlemler devam ettiğinden bazı işlemler kaybolabiliyor. Ayrıca yeni gelen değişiklikte bir açık bulunması olabilecek en feci durum. Bu sayede coin sızdırma işlemleri de yaşanabilir.
Soft Fork ve Hard Fork
“Soft fork” ve “hard fork” hakkında bilgi vermeye çalıştım. Faydalı olduğunu umarım. Eğer ilgi duyuyorsanız aşağıdaki yazılarımı da okumanızı tavsiye ederim:
Eski kurallara göre üretilmiş bloklar yeni kurallarca da geçerli olur cümlesi doğru değil. Backward compatible’dan anlaşılması gereken o olabilir ama bu uyum kullanıcılar anlamındadır. Madenciler için yeni kurallar aktif olduğunda tüm madenciler yeni kurallara geçmek zorundadır. Aksi halde eski kurallara göre ürettikleri bloklar yeni eklenen kuralları desteklemedikleri için geçersiz sayılacaktır. Bu tarz bir açıklama kafa karıştırıcı olabilir. Daha mantıklı ve anlaşılabilir bir açıklama , yumuşak ayrışımın kuralların daraltıması sert ayrışımın ise kuralların esnetilmesi anlamına gelmesi şeklinde olabilir. Yumuşak ayrışımda kurallar daraltıldığı için geçerli kurallar geçerliliğini yitirir. Sert ayrışmada ise daha önceden geçersiz olan kurallar artık esnetildiği için geçerli olabilir.