Yumuşak Çatallanma veya Soft Fork Nedir?

Blok zinciri teknolojisinde yumuşak çatal, yalnızca önceden geçerli olan işlem bloklarının artık geçersiz kılınacak şekilde yazılım protokolünde değişiklik yapılmasıdır. Eski düğümler yeni blokları geçerli olarak tanıyacağından, soft fork işlemi, hard forka nazaran geriye dönük uyumludur. Bu tür bir çatal, tüm düğümlerin yeni sürüm üzerinde anlaşmasını ve yükseltmesini gerektiren bir sert çatalın aksine, yeni kuralları uygulamak için yalnızca madenci çoğunluğunun onayını alması yeterlidir.

Soft Fork’u Anlama

Yeni işlem türleri, genellikle yumuşak çatallanma ile ağa eklenebilir. Bu işlemin geçerli kalabilmesi için kullanıcıların ve madencilerin yeni işlem türlerini yani güncellemeleri onaylaması yeterlidir. Hatırlarsanız hardforkta zincirin iki kolu oluşuyordu. Softforkta ise zincir yine iki kola ayrılıyor ancak eski kol daha fazla ileri gidemiyor ve eski zincire softfork anından itibaren yeni blok eklenemiyor. Madenciler eski protolle gelen işlemleri reddederek yalnızca güncellenmiş protokole göre yapılan işlemleri bloklara kaydeder. Mesela “pay-to-script hash” (P2SH) Bitcoin ağına bu şekilde eklendi. Ne olduğunu merak ettiyseniz Google’a sorabilirsiniz :)

Soft fork'lar, konsensüs sağlayabilmek için herhangi bir düğümün güncellenmesini gerektirmez, çünkü yeni soft forklu kurallara sahip tüm bloklar da eski kuralları içerir. Yumuşak çatallanma sert çatallanma olmadan tersine çevrilemez. Yumuşak çatalın sağlıklı çalışması için çoğunluk madenci gücünün çatallanmayı tanıması gerekir. Yeni kuralları ne kadar çok madenci kabul ederse, zincir, çatallanma sonrası o kadar güvenli olur. Diyelim ki madencilerin %75’i soft forku kabul etti. Geriye kalan %25 madencinin kazacağı bloklar eski protokolde kalacaktır. Yukarıdaki şekle de baktığımızda görüyoruz ki yeni kurallara uymayan eski bloklar, yeni bloklar tarafından yok sayılacak ve zincire eklenemeyecek. Yani %25’lik kısım boşa kazılmış olacak.

Hard fork mu Soft fork mu?

Sert ve yumuşak çatallar arasındaki güvenlik farkları göz önüne alındığında, neredeyse tüm kullanıcılar ve geliştiriciler, soft fork ile bile yapılacak güncellemeyi hard fork ile yapmak ister. Bir blok zincirindeki tüm blokları elden geçirmek, muazzam miktarda bilgi işlem gücü gerektirir. Hard forktan sonra ağın yeni bir zincir ile yola devam edecek olması hard forku soft forktan daha makul ve ucuz bir güncelleme yöntemi yapar.