Soft Fork vs. Hard Fork – Her Çatallanmada Yeni Token Doğar mı?
Soft ve Hard Fork, blokzincir teknolojisindeki çatallanmalardır, ama her biri yeni bir token doğurur mu? Yanıtlar ve daha fazlası yazımızda.
Kripto paraların her biri ya kendine ait bir açık kaynaklı blok zincirinde, ya da Ethereum veya BNB Smart Chain gibi üzerine inşa edilmesi mümkün blok zincirlerinde yer alan dijital varlıklardır.
Bu blok zincirlerinin altyapı ve protokollerinde yapılan değişiklikler, fork yani çatallanma olarak adlandırılır. Blok zinciri forku, ağda yapılan radikal değişikliği veya önemli bir yükseltmeyi temsil edebileceği gibi topluluk üyeleri veya geliştiriciler tarafından kabul edilen küçük değişiklikler nedeniyle de gerçekleşebilir.
Blok zincirleri, düğüm operatörlerinin verilerin tamamını depolaması sayesinde çalışır. Operatörler ayrıca yeni işlemlerin geçmişle çelişmeden onaylanmasını, bloklar halinde zincire eklenmeye devam etmesini ve başarıyla gerçekleşmesini de sağlar. Soft fork, doğrulayıcıların zincirde daha önceden doğrulamış olduğu verilerin geçersiz hale gelmesine gerek kalmadan yapılan blok zinciri yazılım yükseltmesidir. Hard fork ise ağdaki önceki blok ve işlemleri geçersiz hale getirebilir. Ağdaki tüm doğrulayıcılar hard fork ile gelen yeni sürüme yükselmek zorunda kalır.
Eski sürüm kullanılamaz hale geldiği için hard fork ile benzersiz bir blok zinciri oluşur. Eski blok zincirinin tokenına sahip olanlara artık işlevsiz olan o token yerine yeni blok zinciri tokenı dağıtılır. Şimdi her iki çatallanmaya da daha derinlemesine bakabiliriz.
Hard Fork Nedir?
Blok zinciri teknolojisinde bir zincire eklenecek her blok, önceki bloğun ağ doğrulayıcıları tarafından onaylanmalıdır. Dağıtılmış dijital defter olarak çalışan ve veri bloklarından oluşan bu zincirde ağdaki ilk işlemden son işleme kadar her şey kayıtlı kalır. Bitcoin ve Ethereum gibi birçok blok zincirinde ilk işlemin kaydını görebilmek mümkündür.
Hard fork, yani sert çatallanma, blok zincirinin işleyişini sürdürdüğü son sürümde kalıcı farklılıklar yapılarak yeni bir sürüme geçilmesi durumudur. Zincir üzerinde çalışan düğümler yeni fikir birliği mekanizmasına uymaz, iki farklı sürüm ayrı ayrı çalıştırılır ve yeni bir blok zinciri elde edilir.
Çatallanan iki blok zinciri, iki farklı kural dizisini ve algoritmasını izler. Hard fork gerçekleştiğinde eski sürüm, ağ ile uyumsuzdur. Hard fork ile meydana gelen zincir ayrışması, kimi zaman güvenliği artırıyor olsa da başlarda hep bir tehlike arz eder. Düğümler ve madenciler (stakerlar) arasında oluşan bölünme, ağı bir süreliğine saldırılara karşı daha az savunmalı ve güvenli hale getirir.
Hard Fork ile Gelen Protokol Açıkları
Blok zincirinin tamamını ele geçirmek, tek bir sunucu noktası yerine dünya genelinde dağıtılmış yüz binlerce düğüm operatörü olduğu için imkansız gibi düşünülebiliyor. Ancak siber saldırganlar, %51 saldırısı gerçekleştirerek ağın kontrolünü ele alabilir. Bu, bir kişi veya bir gruptan oluşan madencilerin ağı güvence altına alan bilgi işlem gücünün (hashrate) %51’inden fazlasını tek başına sağladığı, bu sayede blok zinciri üzerinde hüküm sürmeye sahip olduğu saldırıya verilen isimdir.
Hard forklar sonucunda oluşan yeni ağlara eski madencilerin, staker’ların, düğüm operatörlerinin ve validatör’lerin taşınması belirli bir süre aldığı için bu ağlar ilk günlerinde saldırılara açıktır. Kötü aktörler, %51 saldırısı yaparak ağda aynı fonları birden fazla kez harcama ve benzeri birçok protokol açığını gerçekleştirebilirler. Herhangi biri ağ üzerinde yetkili bilgi işlem gücüne sahipse blokları yeniden düzenleyebilir, çift harcama ile fonlarını artırabilir.
Diğer güvenlik açığı ise tekrarlama saldırısıdır. Yeni ağda gerçekleştirilen bir işlemi eski ağda tekrarlayan siber saldırgan, her iki işlemin de geçerli olmasını sağlar. Bu sayede eski blok zincirindeki fonlar saldırgan tarafından kontrol edilebilir. Yeni hard forklarda tekrarlama saldırısının önüne geçen bir koruma kullanılabiliyor.
Hard Fork’un Dezavantajları
- Tüm düğümlerin zorunlu güncelleme yapması gerekir
- Geçiş sürecinde ağ kontrolünün kaybı riski artar
- İki ayrı blok zinciri oluşmasına neden olabilir
- Yeni özelliklerin ani kabulü, beklenmeyen sorunlara yol açabilir
Hard Fork’a Neden İhtiyaç Duyulur?
Şimdiye kadar hard forklarla gelen güvenlik ve protokol açıklarından bahsetmiş olsak da aslında hard forklar ile blok zincirleri birçok yeni yeteneğe ve güvenlik seviyesine sahip olurlar. Blok zinciri teknolojisi gelişimini sürdürdükçe ağlar da daha fazla yeteneğe sahip olmak için kendilerini bu gelişime uygun hale getirirler.
Bir blok zinciri hard fork’una şu sebeplerle ihtiyaç duyulabilir:
- Kripto topluluğundaki anlaşmazlığı çözmek için,
- Blok zincirine işlevsellik eklemek için,
- Güvenlik açıklarını kapatmak için,
- Ters işlemlerin önüne geçmek için.
Çok nadiren olsa da yanlışlıkla ve tesadüfen de hard fork gerçekleşebilir. Önemli bir protokol değişikliği olmadığı için hızlıca çözüme kavuşturulabilen bu hard fork’lar, kısa süreli problemler yaratabilir. Ağı yükselten hard fork’larda ise ağda görev yapanların yeni ana zincire katılması beklenir.
Tesadüfi Sert Çatallanma
Günümüzde çok nadir rastlanan bir durum olan tesadüfi hard fork, Bitcoin blok zincirinde eskiden çok kez yaşanmıştı. Çok hızlı şekilde çözüme kavuştuğu için büyük problemler yaratmayan bu durum, iki tane madencinin aynı saniye içinde aynı bloğu bulması sebebiyle meydana gelebilir. Proof-of-Work konsensüs mekanizması nedeniyle her iki madenci de kendi bloğunun geçerli olduğunu onaylar ve yeni blok çıkarmak için madencilik yapmayı sürdürür.
Ancak sonraki blok, hangi zincirin daha uzun olacağını belirleme yeteneğine sahiptir. Diğer blok geçersiz hale gelir ve fikir birliği sürdürülür. Ağ, madencilik yapılarak çıkarılan iki aynı bloktan biri ile devam eder ve bir hard fork gerçekleşmiş olur.
Her iki blok da aynı olduğu ve aynı işlemleri içerdiği için işlemlerin gerçekleşmesinde bir problem yaşanmaz. Ama sert çatallanmanın ardından terk edilen bloğun ürettiği işlem ücretleri ve madencilik ödülü, bloğu bulan madenciye verilmez. Aslında o blok için ne işlem ücreti ne de BTC üretilir.
Zincirdeki bloklardaki problemler aynı anda madenciliği yapılarak üretilmesi ile sınırlı değildir. Bazen bir blok, normalde taşıyabileceği veri yükünden daha fazla yükle doldurulur. Daha fazla veri ve işlem, bazı düğümlerin bloktaki işlemleri işlememesine sebep olarak bölünmeye neden oldu. Bölünen ve sert çatallanan ağda düğümler, yazılımların sürümünü yükselterek bloğu kabul edebildi veya düşük sürümde bloğu reddedebildi.
Soft Fork Nedir?
Soft fork, blok zincirine yeni kurallar eklenmesini sağlayan ancak daha eski düğümlerin de ağı desteklemeye ve işlemleri doğrulamaya devam edebildiği blok zinciri yükseltmesidir. Yeni düğümler de eski düğümler gibi çalışmaya devam ederken bazı küçük protokol değişiklikleri de getirebilir.
Soft Fork’un Avantajları
Soft fork’un önemli avantajı, eski protokolü kullanan düğümlerin yeni protokolde de geçerli blokları onaylayabiliyor olmasıdır. Böylece ağdaki düğümler progresif şekilde yeni özelliklere geçiş yapabilir. Bu da ağ güvenliğini riske atmamaya yardımcı olur. Ayrıca soft fork’larda yeni protokol sadece geliştiriciler tarafından değiştirilebilir. Bu sayede merkezi karar alma mekanizması oluşmaz.
Hard Fork ile Soft Fork Arasındaki Farklar
Eğer bir blok zinciri yükseltmesi yapılacaksa mutlak surette hard fork gerçekleştirilmesi gerekmez. Daha güvenilir ve zincir ile daha uyumlu bir alternatif olarak soft fork’lar da hesaba katılmalıdır. Soft fork ile sürüm yükseltmesi yapıldığında yükseltme yapmayan düğümler de zinciri hala güvence altına alabilirler.
Blok zincirinin fikir birliği mekanizmasında uyulması gereken kurallar değiştirilmiyorsa soft fork tercih edilir. Yeni özellikler programlama düzeyinde uygulanır, operatörlerin değiştirmesi gereken bir şey olmaz.
Aslında Windows, MacOS, Android ve iOS gibi işletim sistemlerine gelen güncellemeler, blok zinciri dışında soft fork örnekleridir. Cihazımızda bulunan tüm program ve uygulamalar çalışmayı sürdürürler. Hard fork ise Windows 10’dan Windows 11’e geçilmesi gibi büyük bir yükseltmeyi temsil eder.
Madenci İşletmelerinin Rolü
Blok zincirlerinde madenci işletmelerinin rolü büyüktür. Yüksek hash gücüne sahip işletmeler, ağın güvenliğini ve devamlılığını sağlamakla birlikte protokol değişikliklerinde de önemli bir söz sahibidir.
Örneğin Bitcoin’de önemli madenci işletmeler protokol değişikliklerine onay vermezse, o değişiklik gerçekleşemez. Çünkü madencilik yapan işletmeler ağdaki en büyük güçtür. Bu sebeple blok zincirlerinde önemli kararlar alınırken madencilik işletmelerinin görüşleri de dikkate alınır.
Tarihteki Önemli Hard Fork’lar
Blok zinciri teknolojisinin öncüsü olan Bitcoin aynı zamanda önemli hard fork’ların da gerçekleştiği yerdir. Ancak hard forklar uzun süredir daha birçok başka blok zincirinde de gerçekleşiyor. Bilmemiz gereken hard fork’lar arasında bu üçü yer almaktadır:
Ethereum DAO Hacklenmesi (ETC)
Ethereum’un henüz ilk zamanlarında gerçekleşen hard fork, 2016’da blok zincirinde başlatılan Merkeziyetsiz Özerk Organizasyon (DAO) ile ilişkilidir. Ethereum, belirli algoritmalarla ve belirli kriter karşılandığında gerçekleşen bir kod dizimi olan akıllı sözleşmeler ile çalışmaktadır. Sözleşmeler sayesinde programlanabilen ağda merkeziyetsiz uygulamalar (dApp’ler) dağıtılabilir.
Ethereum DAO’su piyasaya sürüldüğünde yaklaşık 11 bin yatırımcının sahip olduğu 60 milyon dolar değerinde ETH, ağın saldırıya uğramasıyla ele geçirildi. Dolaşımda olan ETH’lerin toplamda %14’ü DAO’ya yatırılmıştı ve bu kadar büyük oranda ETH’nin çalınabilmesi ağın güvenilirliğini oldukça düşürdü. ETH fiyatı ise henüz $10’a bile yükselmemişti.
Saldırıya karşı çözüm arayan toplulukta ilk gerçekçi fikir ağın kurucusu Vitalik Buterin tarafından geldi. Ağda saldırganın cüzdanını kara listeye alacak bir soft fork öneren Buterin, fonların aktarılmasının önüne bu şekilde geçecekti. Topluluğun içinde saldırıyı yapan kişi veya onun tarafında bulunan kişiler de bulunuyordu. Akıllı sözleşmenin yerleşik özelliği kullanılarak yasal bir şekilde fon elde edildiğini savunan bu kişi, ETH madencilerine bu fonlarla rüşvet vererek soft fork’un onaylanmasını engelleyeceğini söylemişti.
Daha sonra topluluk uzun süren tartışmalar sonucunda bir hard fork gerçekleştirilmesine karar verdi. Ethereum ağı, DAO saldırısından önceki son ana geri çevrildi. Yatırımcılar DAO’ya yatırdığı fonlarını geri çekebildi. 60 milyon dolarlık fon kurtarılmış olsa da Ethereum’un sansüre karşı dayanıklılığı ve merkeziyetsizliği zedelenmişti. Ağın eski hale döndürülmemiş versiyonunu destekleyenler, Ethereum Classic isimli blok zinciri ve ETC isimli kripto para ile yollarına devam ettiler.
SegWit2x (BCH)
Bitcoin, işlem sayısını artırmaya başladığı günlerden bu yana ölçeklendirme problemi çekmeye devam ediyor. Bitcoin blok zincirini ölçeklendirmek için önerilen yükseltmelerden biri olan SegWit2x, Bitcoin blok zincirindeki blok boyutunu 1 MB’tan 2 MB’a çıkaracaktı.
23 Mayıs 2017’de herkes tarafından kabul edilmeyen New York Anlaşması ile kabul edilen SegWit2x, özellikle ağın hash oranının yaklaşık %90’ını kontrol eden madencilik işletmesi sahipleri tarafından onaylanmıştı. Önce soft fork ile SegWit’in uygulanması, daha sonra hard fork ile blok boyutlarının yükseltmesi planlanıyordu. Bitcoin ölçeklendirmesini iyileştirecek olan bu yükseltme tıpkı Ethereum’daki gibi bir merkezileşmenin sonucu olarak uygulanıyordu. Bu madencilik işletmeleri, düğümler ve madencilerle fikir birliğine varmadan yükseltmeyi onaylıyordu.
Daha büyük bloklar ile tam düğüm barındırmak zor olacağı için topluluğun bir kısmı küçük blokları savunuyordu. Diğer kısım ise BTC’nin artan işlem ücretlerine ve yavaş işlemlere büyük boyut ile çözüm bulunabileceğini savunuyordu.
Hard fork’a karşı olan topluluk üyeleri, hard fork gerçekleşmeden önce bir kullanıcı tarafından sunulan soft fork kampanyasına destek verdiler. Bitcoin İyileştirme Önerisi (BIP) 148’in uygulanması çağrısında bulundular, SegWit2x’in ağı tekrar saldırılarına karşı savunmasız hale getirebilecek bir hard fork olduğu yönünde kampanya yaptılar.
Blokların büyütülmesini destekleyenler 1 Ağustos 2017’de SegWit2x’i uygulayarak hard fork gerçekleştirdi. Küçük blok destekçileri de aynı sıralarda eski blok zinciri ile Bitcoin Cash’i yaratmış oldular. Bitcoin Cash destekçileri, Satoshi Nakamoto’nun gerçek vizyonunu gerçekleştirmeyi sürdürdüklerini savunuyorlar. Bitcoin Cash, Bitcoin’e rakip olarak değil, Bitcoin’in misyonunu manipüle etmeden gerçekleştiren bir kripto para ve blok zinciri olarak sahnede.
Bitcoin Cash, 8 MB blok boyutunda oluşturulmuştu. Ağdaki yükseltmelerle birlikte şu anda blok boyutu 32 MB. Bitcoin Cash, Bitcoin’e kıyasla düşük işlem ücretleri ve yüksek hızlarla ödeme işlemlerini ölçeklendirebileceğine inansa da piyasada bu alanda hizmet eden çok daha hızlı blok zincirleri var. Bitcoin Cash ile bir furya haline gelen hard fork işlemleri, Bitcoin Gold (BTG) ve Bitcoin Diamond (BTCD) gibi kripto paralarla da devam etti.
Bitcoin Cash ABC vs Bitcoin Cash SV
Bitcoin Cash‘in Ağustos 2017’de oluşturulup piyasaya girmesinin ardından bu toplulukta da sular durulmadı. Burada bir grup, Bitcoin algoritmasının değiştirilmemesini, whitepaper’da yazan özelliklerin sürdürülmesini savunurken diğer grup ise Bitcoin Cash’in teknolojisinin geliştirilmesi gerektiğini savunuyordu. Hatta kendini Satoshi Nakamoto ilan eden Craig Wright da bu topluluğun içindeydi.
Bitcoin Cash blok zincirindeki savaş çok epikti. Ağda söz sahibi olmak isteyen iki grup da ellerindeki tüm bilgi işlem kaynaklarını kullanarak hash güçlerini yükselttiler. Burada amaç, iki gruptan birinin ağın hash gücünün %51’ini sağlayarak kontrolü ele geçirmesiydi. Daha sonra bu savaşın bitmesi için çeşitli blok zinciri işletmeleri ve kripto para borsaları tarafından bu gruplardan biri desteklendi. Bitcoin Cash ABC, hash oranının çoğunluğunu ele geçirerek %51 saldırısı girişimlerini savuşturdu ve Bitcoin Cash blok zincirini sürdürmeye devam etti. Diğer blok zinciri ise Bitcoin SV (BSV) ismi ile işlem görmeye başladı.
Önemli Soft Fork Örnekleri
Blok zinciri ağlarında sıkça karşılaşılan soft fork örneklerinden bazıları şunlardır:
- SegWit yükseltmesi, Bitcoin’de sahne alan ilk büyük ölçekli soft fork örneğidir.
- Ethereum’un muhafaza edilen toplam arzını düşürmek için gerçekleştirdiği “eatETH” isimli yükseltme bir soft fork örneğidir.
- Solana blok zinciri ağında gerçekleşen “Safe Upgrade 2” isimli yükseltme de bir soft fork olarak hayata geçirilmiştir.