Dijital Varlıklar
Hard Fork Nedir?
Bir blokzincirin kurallarındaki değişiklikler kullanıcıları, geliştiricileri, alım satım yapanları ve yatırımcıları etkileyebilir. Bunu anlamak için önemli kavramlardan biri hard fork’tur: eski yazılımla uyumlu olmayan bir konsensüs kuralı değişikliği.
Her blokzincir güncellemesi hard fork gerektirmez. Soft fork’lar ve konsensüs kurallarını değiştirmeyen yazılım iyileştirmeleri de vardır. Aradaki farkı bilmek, yeni kuralları hangi yazılımın doğruladığını ve ağın ne zaman ayrılabileceğini anlamayı kolaylaştırır.
Hard fork nedir?
Hard fork, düğümlerin blok ve işlemlerin geçerli olup olmadığını belirlemek için kullandığı kuralları değiştirir.
Yeni kurallara uygun bloklar, eski kuralları izleyen düğümler tarafından reddedilebilir. Değişiklik yeni işlevler getirebilir veya protokolün sınırlarını değiştirebilir. Belirleyici olan yalnızca kod değişikliğinin büyüklüğü değil, konsensüs kurallarının uyumluluğudur.
Yeni kurallara göre çalışan zinciri doğrulamak isteyen düğüm işletmecileri uyumlu yazılım kullanmalıdır. Herkes teknik olarak buna zorlanmaz; bazı katılımcılar eski kuralları sürdürebilir. Eski zincirin yaşaması katılımcı desteğine ve konsensüs mekanizmasına bağlıdır.
Geliştiriciler veya topluluk üyeleri yeni işlevler, sorunların giderilmesi ya da farklı bir geliştirme yönü için hard fork önerebilir. Öneri tek başına ağı değiştirmez; katılımcıların yazılımı benimsemesi ve etkinleştirmeyi koordine etmesi gerekir.
Hard fork sırasında ne olur?
Yeni kurallar genellikle belirli bir blok yüksekliğinde veya zamanda etkinleşir. Güncellenmemiş düğümler, yeni düğümlerin kabul ettiği blokları reddedebilir. Ancak hard fork mutlaka kalıcı iki ağ veya iki para birimi oluşturmaz. Katılımcılar birlikte geçiş yaparsa eski zincir durabilir.
Farklı gruplar birbiriyle uyumsuz kurallarla blok üretmeyi sürdürürse kalıcı bir ayrışma yaşanabilir. Bu, iki geçerli bloğun neredeyse aynı anda bulunmasının ardından ağın tek geçmişte birleştiği geçici çatallanmadan farklıdır.
Yaşamaya devam eden iki zincir, ayrılma noktasına kadar ortak geçmişi paylaşır ve sonrasında ayrı ilerler. Eski zincir kendiliğinden anlamsız hale gelmez. Her iki zincir de kullanıcıların, geliştiricilerin, düğüm işletmecilerinin ve madenci veya doğrulayıcıların desteğine ihtiyaç duyar.
Çatallanma sonrası hangi zincir asıl zincirdir?
Hard fork yalnızca Bitcoin veya Ethereum ile sınırlı değildir. Ayrışma sonrası ad ve kimlik, topluluk ve piyasanın kullanımına ve kabulüne bağlıdır. En yeni kodu uygulayan zincirin her zaman eski adı alacağı evrensel bir kural yoktur.
Kuralların güncellenmesi ile projenin kimliği farklı konulardır. Koordineli bir güncellemeden sonra ağ adını koruyabilir. Karşı çıkan katılımcılar başka bir zinciri farklı adla sürdürebilir. Bu, Bitcoin’in her güncellemesinin hard fork olduğu anlamına gelmez.
Bitcoin Cash ve Bitcoin Gold, Bitcoin’le bağlantılı çatallanmalardan doğan projelere örnektir. Bitcoin SV ise daha sonra Bitcoin Cash’in çatallanmasından ortaya çıktı. Bunlar aynı Bitcoin yazılımının sürüm adları değil, ayrı ağlardır.
Hard fork neden önerilir?
Yeni işlevler, konsensüs parametrelerinin değiştirilmesi veya güvenlik açıklarının giderilmesi gerekçe olabilir. Çoğunluk desteği koordinasyonu kolaylaştırır, ancak bütün düğümleri değişikliğe zorlayan merkezi bir karar değildir. Katılımcılar hangi kuralları çalıştıracaklarını seçer.
Bir zincirin büyük veya çok sayıda düğüme sahip olması saldırılara otomatik olarak bağışıklık sağlamaz. Akıllı sözleşme, yazılım ve konsensüs açıkları farklı sorunlardır. Belirli koşullarda topluluk ağın durumunu değiştirmeyi destekleyebilir; bu, işlem geçmişini serbestçe silmek anlamına gelmez.
Kural değişikliği ile platform değişikliğini de ayırmak gerekir. İkinci konu Polymath ve Ethereum hakkındaki ilgili yazıda ele alınır. Hard fork yoluyla durum değişikliğine örnek olarak Ethereum’un 2016 DAO saldırısına verdiği yanıt gösterilebilir.
DAO çatallanması 20 Temmuz 2016’da 1.920.000 numaralı blokta etkinleşti. Ethereum Vakfı’nın raporu, ilgili DAO sözleşmelerindeki fonların kurtarma sözleşmesine aktarılmasını anlatır. Güçlü destek, topluluğun tamamının aynı fikirde olduğu anlamına gelmez: bazı katılımcılar değişikliği reddederek çatallanmayan zinciri Ethereum Classic olarak sürdürdü.
Çatallanma, saldırı işlemlerini geçmişten silmedi. Durum değişikliği fonları DAO token sahiplerinin haklarına göre çekim yapılabilen yeni bir sözleşmeye taşıdı. Kurtarma bu sözleşme üzerinden gerçekleşti; herkese otomatik ve eşzamanlı ödeme yapılmadı.
Hard fork ile soft fork arasındaki farklar
İkisi de konsensüs kurallarını değiştirebilir, ancak uyumlulukları farklıdır. Soft fork kuralları sıkılaştırır: yeni kurallara uyan bloklar eski düğümlerce de kabul edilir. Bununla birlikte eski düğümler eklenen sınırlamaların tamamını doğrulamaz.
Hard fork’ta eski düğümler yeni kurallara uygun blokları reddedebilir. İki grup da kendi kurallarını sürdürürse iki zincir yaşayabilir. Soft fork tek bir uyumlu zinciri korumayı amaçlar; ancak koordinasyon veya uygulama hataları yine sorunlara ve ayrışmalara yol açabilir.
Bütün yeni kuralları doğrulamak isteyen işletmeciler yazılımı güncellemelidir. Soft fork’ta eski düğümler ek sınırlamaların tamamını anlamadan yeni blokları izleyebilir. Hard fork’ta bu blokları reddedebilirler. Dolayısıyla iki yöntem mutlaka aynı tür ayrışmayı oluşturmaz.
Hard fork doğası gereği soft fork’tan daha güvenli değildir. Güvenlik tasarıma, uygulamaya, testlere, koordineli etkinleştirmeye ve ağ desteğine bağlıdır. Soft fork da eskimiş bir yöntem değildir: Bitcoin Taproot, 2021’de etkinleşen bir soft fork’tur. Hard fork tek başına çok daha fazla işlem gücü gerektirmez; kaynak ihtiyacı somut protokol değişikliğine bağlıdır.
Sonuç
Hard fork, eski düğümlerle uyumlu olmayan konsensüs değişikliklerini mümkün kılar. Bir geliştirme planında yer alabilir veya acil bir soruna yanıt olabilir; ancak her yeni işlev bu yöntemi gerektirmez.
Sonuç, değişikliğin içeriğine ve katılımcı desteğine bağlıdır. Koordineli güncelleme tek ağı koruyabilirken anlaşmazlıklar ayrı zincirler yaratabilir. Kullanıcılar için önemli olan seçtikleri kuralları, yazılımı ve ağı anlamaktır.












