Kripto Para Dünyasında Hard Fork ve Soft Fork
Hard forklar ve soft forklar, merkezi otorite olmadan değişiklik ve yükseltmelerin uygulanmasını sağlayan, merkeziyetsiz blokzinciri ağlarında hayati öneme sahip mekanizmalardır. Bu sayede blokzincir zaman içinde gelişebilir ve yeni özellikler eklenerek esneklik ve iyileşme sağlanır.
Temeller
Bankacılık uygulamalarını güncellemek, hizmetlere erişimin engellenmemesi için gerekli bir süreçtir. Genellikle akıllı telefonlarda kullanıcıya bildirim gönderilir ve bazen kullanıcı fark etmeden otomatik olarak gerçekleşir. Ancak blokzinciri yükseltmek daha zordur çünkü ağa güncelleme zorlayacak merkezi bir otorite yoktur.
Bu makale, merkezi bir otorite olmasa bile kripto para ağlarının nasıl güncellendiğini ele alacaktır. Bu amaçla iki uygulanabilir mekanizma vardır: hard forklar ve soft forklar.
Blokzincir Değişikliklerine Kim Karar Verir?
Bir blokzinciri ağının yönetişimini anlamak, forkların nasıl işlediğini kavramak için kritiktir. Bitcoin'de karar alma süreci, ağa aktif katkıda bulunan üç katmanlı katılımcı kümesini içerir: geliştiriciler, madenciler ve tam düğüm kullanıcıları. Kişisel cihazlardaki cüzdanlar gibi hafif düğümler de ağın önemli üyeleridir, ancak blokzinciri yükseltimine katkı sağlamazlar.
Geliştiriciler
Geliştiriciler kodu oluşturmak ve güncellemekten sorumludur ve bu sürece herkes katkıda bulunabilir. Değişiklikleri kamuya sunarlar ve diğer geliştiricilerin incelemesine açarlar.
Madenciler
Madenciler, kripto paranın kodunu çalıştırarak ağa yeni bloklar eklemek için kaynak ayırır ve ağı güvence altına alırlar. Bitcoin ağında yeni bloklar eklemek için İş Kanıtı (Proof of Work) kullanılır ve madenciler bu çabaları karşılığında blok ödülü alırlar.
Tam Düğüm Kullanıcıları
Tam düğüm kullanıcıları, kripto para ağının omurgası olarak blokları ve işlemleri doğrular, gönderir ve alır ve blokzincirinin bir kopyasını saklar. Bu kategoriler arasında genellikle örtüşme olur; bazı kişiler birden fazla rolü üstlenebilir.
Geliştiriciler ve madenciler ağ için önemli roller oynasa da gerçek güç tam düğümlerde yatar. Kullanıcılar hangi yazılımı kullanacaklarını seçme hakkına sahiptir ve geliştiriciler ya da madenciler onları belli bir yazılım kullanmaya zorlayamaz.
Yazılım tescilli değildir, bu nedenle kullanıcılar istedikleri değişiklikleri yapabilir. Başkaları değiştirilmiş yazılımlarını çalıştırırsa, hepsi iletişim kurabilir ve süreçte yeni bir ağ oluşur. Bu nedenle geliştiriciler ve madenciler istemedikleri değişiklikleri kullanıcılara zorla dayatamazlar.
Genel olarak bu taraflar her şeye hükmeden iktidarlar değil, hizmet sağlayıcılardır. İnsanlar ağı kullanmamaya karar verirse, coin değer kaybeder ve bu doğrudan madencileri etkiler. Geliştiriciler de kullanıcılar tarafından görmezden gelinebilir. Böylece blokzinciri ağlarında karar alma süreci işbirliğine dayalıdır.
Fork Açıklaması
Yazılım geliştirme dünyasında fork, kodun kopyalanıp değiştirilmesiyle ortaya çıkar ve orijinal projeden farklı bir yönde ilerleyen ayrı bir proje oluşur. Bu, açık kaynak projelerde sık görülen bir durumdur ve iki projenin bir zamanlar ortak bir zemini paylaştığı yolun ikiye ayrılması gibi düşünülebilir.
Örneğin, popüler bir kripto para içerik sitesinin ekip üyeleri site yönü konusunda anlaşamazsa, bir grup siteyi farklı bir alan adına çoğaltıp orijinalden farklı içerikler yayınlamayı seçebilir.
Blokzinciri alanında iki tür fork vardır: hard forklar ve soft forklar. Bu terimler blokzincire özgü olsa da, forklar Bitcoin veya Ethereum gibi kripto paraların ortaya çıkışından çok daha önce yazılım geliştirmede meydana geliyordu.
Hard Fork
Hard forklar, toplum içinde protokolün yönü konusunda temel bir anlaşmazlık olduğunda blokzincirinde meydana gelir. Eski kurallarla uyumlu olmayan yeni bir kuralın blokzinciri koduna eklenmesi durumunda ortaya çıkar. Bu, blokzincirinin geçmişinde bir ayrılığa yol açarak her biri kendi blokzinciri sürümüne sahip iki ayrı zincir oluşturabilir. Hard forkların en yaygın nedenleri yazılım değişiklikleri üzerindeki anlaşmazlıklar, güvenlik endişeleri ve ağ tıkanıklığıdır.
Hard forklar geriye dönük olarak uyumsuz yazılım güncellemeleridir ve yeni düğümler yalnızca yeni sürümü kullanan diğer düğümlerle bağlanabilir. Sonuç olarak blokzinciri bölünür ve eski kurallara göre çalışan bir ağ ile yeni kurallara göre çalışan bir ağ ortaya çıkar.
Forktan sonra blokzinciri geçmişi fork noktasına kadar aynı kalır. Ancak fork noktasından sonra her iki ağa farklı bloklar ve işlemler eklenir, paralel sistemler oluşur. Örneğin bir kişi Block 600.000'de bir fork olduğunda 5 BTC'ye sahipse, eski zincirde bunları harcayabilir, fakat özel anahtarlarını elinde tutuyorsa yeni blokzincirinde de beş coine sahip olmaya devam eder.
Hard fork örneği olarak 2017 Bitcoin forkunu verebiliriz; bu fork iki ayrı zincire yol açtı: orijinal Bitcoin (BTC) ve yeni Bitcoin Cash (BCH). Fork, ölçeklendirme konusunda yaşanan anlaşmazlıktan kaynaklandı. Bitcoin Cash taraftarları blok boyutunu artırmak isterken, Bitcoin destekçileri bu değişikliğe karşı çıktı. Sonuç olarak düğümler yalnızca 1MB'den küçük blokları kabul edebiliyordu. Ancak düğümler yazılımlarını daha büyük blokları kabul edecek şekilde güncellemiş olsaydı, yalnızca aynı değişiklikleri yapan düğümler birbirleriyle iletişim kurabilirdi; bu da önceki sürümle uyumsuz hale gelmelerine yol açardı.
Soft Fork
Soft forklar, blokzinciri ağındaki geri dönük uyumlu bir yükseltme türüdür. Bu, yükseltilmiş düğümlerin yükseltilmemiş düğümlerle hâlâ iletişim kurabileceği anlamına gelir. Soft forklar genellikle blokzincir ağına iyileştirmeler yapmak, blok boyutlarını azaltmak veya yeni özellikler eklemek için uygulanır. Ayrıca güvenlik açıklarını veya diğer sorunları düzeltmek için de kullanılabilirler.
Örneğin, blok boyutunu azaltmak bir soft fork ile gerçekleştirilebilir. Bitcoin bu senaryo için iyi bir örnektir. Bir bloğun ne kadar büyük olabileceğine bir sınır olsa da, ne kadar küçük olabileceğine bir sınır yoktur. Dolayısıyla yalnızca küçük boyutlu blokları kabul etmek istiyorsanız, daha büyük blokları reddedebilirsiniz. Bu işlem sizi ağdan koparmaz, ancak o kuralları uygulamayan düğümlerin gönderdiği bazı bilgileri filtrelemiş olursunuz.
Segregated Witness (SegWit) bir soft fork örneğidir. Bitcoin/Bitcoin Cash ayrılmasından sonra gerçekleşti. SegWit, blok ve işlem formatını değiştiren iyi tasarlanmış bir güncelleme idi. Ancak eski düğümler format kurallarını bozmadığı için blokları ve işlemleri yine de doğrulayabiliyordu. Yeni alanlar yalnızca düğümler yeni yazılıma geçtiğinde okunabildiği için, bazı alanlar eski düğümler tarafından anlaşılamıyordu; ancak yeni düğümler ekstra veriyi ayrıştırabiliyordu.
SegWit'in etkinleştirilmesinden iki yıl sonra bile tüm düğümler yükseltilmemişti, oysa yükseltmenin bazı avantajları vardı. Ancak ağın bozulma riski olmadığından aciliyet hissi pek oluşmadı.
Hangi Seçenek Daha İyi - Hard Forklar mı Soft Forklar mı?
Blokzinciri dünyasında iki ana fork türü vardır ve bunlar farklı amaçlara hizmet eder. Tartışmalı hard forklar bir topluluk içinde bölünmeye yol açabilirken, planlı hard forklar tüm tarafların anlaşmasıyla değişiklik yapma özgürlüğü sağlar.
Öte yandan soft forklar daha yumuşak bir seçenektir. Genel olarak, yeni değişiklikler eski kurallarla çelişmemeli olduğu için yapabildikleri şeyler daha sınırlıdır. Ancak bir güncelleme eski kurallarla uyumlu olarak tasarlanırsa, ağın bölünmesi konusunda endişe etmenize gerek yoktur.
Soft forklar, blokzinciri ağına daha az zarar verdiği için hard forklara tercih edilir. Soft fork ile ağ bütünlüğü korunur ve yükseltilmemiş düğümler yine de ağa katılmaya devam edebilir. Hard fork ise önceki sürümle uyumsuz yeni bir blokzinciri oluşturur. Bu, toplulukta bir bölünmeye ve iki ayrı kripto paranın ortaya çıkmasına neden olabilir.
Sonuç
Hard forklar ve soft forklar, blokzinciri ağlarında merkezi otoritenin bulunmadığı ortamlarda değişiklikleri ve yükseltmeleri uygulamamızı sağlayan mekanizmalar olarak ihmal edilemeyecek öneme sahiptir.
Forklar, blokzincirlerin ve kripto paraların geliştirilen yeni özellikleri entegre etmesine olanak tanır. Bu mekanizmalar olmasaydı, protokolü evrimleştirme yeteneğimizi sınırlayan yukarıdan aşağıya kontrol uygulayan merkezi bir sisteme ihtiyaç duyardık. Hard forklar ve soft forklar sayesinde blokzinciri ağını zaman içinde uyarlama ve iyileştirme esnekliğine sahibiz.