Hard Fork ve Soft Fork Nedir? Farkları Nelerdir?

0
1257

Öncelikle fork çatal demektir. Çatallar ya da onların tehdidi, kripto para birimi manzarasının yerleşik bir özelliği gibi görünüyor. Ama bunlar nedir? Neden böyle büyük bir anlaşma yapıyorlar? Sert çatal ile yumuşak çatal arasındaki fark nedir?

Programlama dillerinde bir “çatal” açık kaynaklı kod modifikasyonudur. Genellikle çatallı kod orijinaline benzer, ancak önemli modifikasyonlarla, iki “çatal” rahatça birlikte var olur. Bazen bir süreci test etmek için bir çatal kullanılır, ancak kripto para birimleri ile, daha çok temel bir değişikliği uygulamak veya orijinal ile benzer (fakat eşit olmayan) özelliklere sahip yeni bir varlık yaratmak için kullanılır.

Tüm çatallar isteyerek yapılmaz. Yaygın olarak dağıtılmış bir açık kaynak kod tabanı ile, tüm düğümler aynı bilgiyi çoğaltmadığı zaman bir çatal kazayla meydana gelebilir. Genelde bu çatallar tanımlanır ve çözülür, ayrıca kripto para birimi çatallarının çoğunluğu gömülü özellikler üzerindeki anlaşmazlıklardan kaynaklanır.

çatallanma nedirÇatallarla ilgili bilinmesi gereken bir şey, “ortak tarih” e sahip olmalarıdır. Her bir zincirdeki işlemlerin kaydı (eski ve yeni) çatallanma olmadan önceye kadar aynıdır.

Hard Fork’lar

İki çeşit programlama çatalı vardır: hard(sert) ve soft(yumuşak).

Sert çatal, eski sürümleri geçersiz kılan bir protokolde yapılan bir değişikliktir. Eski sürümler çalışmaya devam ederse, daha yeni bir sürümden farklı bir protokolle ve farklı verilerle sonuçlanır. Bu önemli bir karmaşaya ve olası bir hataya sebep olabilir.

Bitcoin ile blok boyutu, çözülmesi gereken kriptografik bulmacanın zorluğu, eklenebilecek ek bilgilere sınırlama gibi kuralların değiştirilmesi için sert bir çatal gerekli olacaktır. Bu kuralların herhangi birinde yapılacak bir değişiklik, yeni protokol tarafından blokların kabul edilmesine, ancak eski sürümlerin reddedilmesine ve ciddi sorunlara – hatta bir fon kaybına – yol açabilir.

Örneğin, blok boyutu sınırı 1MB’den 4MB’a yükseltilecekse, yeni sürümü çalıştıran düğümler tarafından 2 MB’lık bir blok kabul edilir, ancak eski sürümü çalıştıran düğümler tarafından reddedilir.

Bu 2MB bloğunun güncellenmiş bir düğüm tarafından doğrulandığını ve blockchain‘e eklendiğini varsayalım. Sonraki blok, protokolün eski bir sürümünü çalıştıran bir düğüm tarafından doğrulanırsa ne olur? Bloğunu blok zincirine eklemeyi dener ancak en son geçerli bloğun var olmadığını algılar. Dolayısıyla, bu bloğu yok sayar ve yeni onaylamasını bir öncekine ekler. Birdenbire hem eski hem de daha yeni sürüm blokları olan iki bloğu ve sadece eski sürüm blokları olan bir blok olmuş olur. Hangi zincirin daha hızlı büyüyeceği, hangi düğümlerin doğrulanmış sonraki blokları alacağına bağlıdır ve bu da ek bölünmeleri beraberinde getirebilir. İki (veya daha fazla) zincirin sonsuza kadar paralel olarak büyüyebilmesi mümkündür.

çatallanma nedir

Bu bir hard forktur ve potansiyel olarak dağınıktır. Ayrıca, yeni bir blokta harcanan bitcoin’lerin eski bir blokta tekrar harcanması da mümkündür (çünkü önceki kodu çalıştıran tüccarlar, cüzdanlar ve kullanıcılar geçersiz saydıkları yeni koddaki harcamaları tespit edemezler).

Tek çözüm, bir dalın diğerinin lehine terk edilmesidir, bu da bazı madencilerin kaybedilmesini beraberinde getirir. Ya da, tüm düğümlerin aynı zamanda yeni versiyona geçmesi gerekecek, bu da dağıtılmış ve yayılmış bir sistemde elde edilmesi zor bir durumdur. Hard Fork’a örnek Bitcoin Cash verilebilir.

Soft Fork

Soft fork, eski sürümleriyle beraber çalışabilir.

Örneğin, bir protokolün kurallarını sıkılaştıran, değişiklik uygulayan veya yapıyı herhangi bir şekilde etkilemeyen bir işlev ekleyecek şekilde değiştirilirse, yeni sürüm blokları eski sürüm düğümleri tarafından kabul edilir. Başka bir tür değil: daha yeni, daha sıkı olan versiyon eski versiyon bloklarını reddederdi.

Bitcoin’de, eski versiyon madencileri, bloklarının reddedildiğini ve yükseltileceğini fark edeceklerdi. Madencilerin sayısının yükselmesiyle birlikte, ağırlıklı olarak yeni bloklara sahip zincir, daha fazla madencilerin eski haline getirilmesine yol açacak daha uzun yetim blokları olacak ve sistem kendi kendini düzeltecektir.Yeni sürüm blokları hem eski hem de yükseltilmiş düğümler tarafından kabul edildiğinden, yeni sürüm bloklar kazanan taraf olacaktır.

Örneğin, topluluğun blok boyutunu 1 MB’lık geçerli sınırdan 0,5 MB‘a düşürmeye karar verdiğini varsayalım. Yeni sürüm düğümleri 1MB’lık blokları reddeder ve önceki bloğa (kodun güncellenmiş bir sürümü çıkarılmışsa) geçici bir çatala neden olur.

Bu soft forktur ve çoktan birkaç kez olmuştur. Başlangıçta Bitcoin bir blok boyutu sınırına sahip değildi. 1MB sınırının getirilmesi yumuşak bir çatal ile yapıldı, çünkü yeni kural eskisinden daha sıkıydı. Yapıyı değiştirmeden kodda arttırma işlevi de yumuşak çatala eklendi. Bu değişiklik genellikle madencilerin çoğunluğunun yükseltilmesini gerektirir, bu da daha uygulanabilir ve daha az yıkıcı olur.

Yumuşak çatallar, sert çatallarla mücadele eden çift harcama riskini taşımaz; çünkü eski düğümleri çalıştıran satıcılar ve kullanıcılar eski sürüm bloklarını okuyacaktır.

CEVAP VER

Please enter your comment!
Please enter your name here