Bitcoin (BTC) ve Ethereum (ETH) gibi kripto para birimleri, blokzincir adı verilen merkezi olmayan açık kaynaklı bir yazılım tarafından desteklenmektedir. Fork (çatallanma), blokzincirin temel protokolünde yapılan bir değişikliktir. Bir blok zinciri çatalı ağ için önemli bir yükseltmedir ve radikal bir değişikliği ya da küçük bir değişikliği temsil edebilir ve geliştiriciler ya da topluluk üyeleri tarafından başlatılabilir.

Düğüm operatörlerinin - blokzincire bağlı olan ve üzerindeki işlemlerin doğrulanmasına yardımcı olan makineler - protokolün en son sürümüne yükseltilmesini gerektirir. Her düğüm blok zincirinin bir kopyasına sahiptir ve yeni işlemlerin geçmişiyle çelişmemesini sağlar. 

Hard fork, önceki işlemleri ve blokları geçerli ya da geçersiz kılabilen radikal bir yükseltmedir ve bir ağdaki tüm doğrulayıcıların daha yeni bir sürüme yükseltilmesini gerektirir. Geriye dönük uyumlu değildir. Yumuşak çatallanma, geriye dönük olarak uyumlu olan ve zincirin eski bir sürümündeki doğrulayıcıların yeni sürümü geçerli olarak görmesini sağlayan bir yazılım yükseltmesidir.

Etkili bir şekilde, hard fork, eski sürüm artık yeni sürümle uyumlu olmadığından, çoğu zaman kalıcı bir zincir ayrılmasına yol açar. Eski zincirde token sahibi olanlara yeni zincirde de token verilir çünkü aynı geçmişi paylaşırlar. Hard forklar çeşitli nedenlerle gerçekleşebilir. 

Hard forkları anlamak

Hard fork'un ne olduğunu anlamak için öncelikle blockchain teknolojisini anlamak gerekir. Bir blok zinciri esasen, her yeni bloğun ancak bir öncekinin ağ doğrulayıcıları tarafından onaylanmasından sonra geçerli olduğu dijital bir defter olarak çalışan veri bloklarından oluşan bir zincirdir. Blok zincirindeki veriler, ağdaki ilk işleme kadar geriye doğru takip edilebilir. Bu nedenle Bitcoin blok zincirindeki ilk bloğu hala görebiliyoruz. 

Hard fork, esasen bir blok zincirinin en son sürümünden kalıcı bir sapmadır ve bazı düğümler artık fikir birliğine varamadığı ve ağın iki farklı sürümü ayrı ayrı çalıştırıldığı için blok zincirinin ayrılmasına yol açar.

Bu esasen blok zincirinde bir yolun mevcut kurallar dizisini takip etmeye devam ettiği, ikinci yolun ise yeni bir kurallar dizisini takip ettiği bir çatallanma yaratıldığı anlamına gelir. Hard fork geriye dönük olarak uyumlu değildir, bu nedenle eski sürüm artık yenisini geçerli olarak görmez.

Hard forklar, sıklıkla meydana gelen zincir bölünmesi nedeniyle genellikle tehlikeli olarak görülür. Ağın güvenliğini sağlayan madenciler ile işlemlerin doğrulanmasına yardımcı olan düğümler arasında bir bölünme meydana gelirse, ağın kendisi daha az güvenli ve saldırılara karşı daha savunmasız hale gelir.

Bir blok zincirine karşı kötü niyetli eylemde bulunmanın yaygın bir yolu, bir madenci grubunun bir ağı güvence altına alan bilgi işlem gücünün %51'inden fazlasına sahip olmayı başarması ve bunu blok zincirinin geçmişini değiştirmek için kullanması anlamına gelen %51 saldırısı gerçekleştirmektir. Hard forklar sonucunda oluşturulan bazı ağlar, aslında kötü aktörlerin aynı fonları iki kez harcadığı çok sayıda %51 saldırısına maruz kalmıştır. Bu saldırılarda kötü aktörler ağdaki üstün hesaplama güçlerini kullanarak blokları yeniden düzenlemekte ve böylece çifte harcama yapabilmektedir.

Hard forklar ile mümkün olan bir diğer güvenlik açığı da tekrar saldırılarıdır. Tekrar saldırıları, kötü niyetli bir varlık çatallanmış bir ağdaki bir işlemi yakaladığında ve bu verileri diğer zincirde tekrarladığında ortaya çıkar. Tekrarlama saldırısı koruması olmayan hard forklar her iki işlemin de geçerli hale geldiğini görür, yani birisi başka bir kullanıcının fonlarını kontrol etmeden taşıyabilir.

Hard forklar neden gerçekleşir?

Eğer hard forklar bir blokzincirin güvenliğini büyük ölçüde azaltabiliyorsa, neden gerçekleşirler? Cevap basittir: Hard forklar, blok zinciri teknolojisi gelişmeye devam ettikçe ağı iyileştirmek için gerekli olan yükseltmelerdir. Bir hard fork'un arkasında çeşitli nedenler olabilir ve bunların hepsi olumsuz değildir:

  • İşlevsellik eklemek    
  • Güvenlik risklerini düzeltmek     
  • Bir kripto para birimi topluluğu içindeki bir anlaşmazlığı çözme    
  • Blokzincirde tersine işlemler

Hard forklar kazara da meydana gelebilir. Genellikle bu olaylar hızla çözülür ve artık ana blok zinciriyle fikir birliği içinde olmayanlar ne olduğunu anladıktan sonra geri döner ve ona bağlı kalır. Benzer şekilde, işlevler ekleyen ve ağı yükselten hard forklar genellikle fikir birliği dışında kalanların ana zincire yeniden katılmasına izin verir.

Kazara oluşan hard forklar

Bitcoin blokzinciri, tarihi boyunca birçok kazara hard fork görmüştür. Bunlar düşünüldüğünden daha yaygındır ve genellikle o kadar hızlı çözülürler ki kayda değer değildirler.

Kazara oluşan hard forkların çoğu, iki madenci aynı bloğu neredeyse aynı anda bulduğunda meydana gelir. Ağdaki mutabakat dağıtılmış olduğundan, her ikisi de başlangıçta bloğu geçerli olarak görür ve kendileri veya başka bir madenci sonraki bir bloğu eklemeden önce farklı zincirlerde madenciliğe devam eder.

Bu sonraki blok hangi zincirin daha uzun olduğunu belirler, yani fikir birliğini korumak için diğerinden vazgeçilir. Madenciler en uzun zincire geçerler çünkü terk edilen zincir artık Bitcoin madenciliği için karlı değildir, çünkü ağın bir çatalında madencilik yapıyor olacaklardır.

Bu çatallanmalar gerçekleştiğinde, terk edilen bloğu bulan madenci coinbase ve işlem ücreti ödüllerini kaybeder. Ancak, bulunan her iki blok da aynı olduğu ve aynı işlemleri içerdiği için hiçbir işlem geçersiz kılınmaz.

Diğer kazara sert çatallanmalar, kısa zincir bölünmelerine yol açan kod sorunlarının bir parçasıydı. Örneğin 2013 yılında, daha önce görülenden daha fazla sayıda toplam işlem girdisine sahip bir blok kazılıp yayınlanırken, bazı düğümler bunu işlemeyerek bölünmeye yol açtı. Sorun, bazı düğümlerin mutabakata varmak ve bu daha büyük bloğu reddetmek için yazılımlarını düşürmelerinin ardından çözüldü.

Hard fork ve soft fork arasındaki fark

Hard forklar bir kripto paranın arkasındaki yazılımı yükseltmenin tek yolu değildir. Buna karşın, yumuşak çatallar geriye dönük uyumlu olan daha güvenli bir alternatif olarak görülür, bu da daha yeni sürümlere yükseltme yapmayan düğümlerin zinciri hala geçerli olarak göreceği anlamına gelir.

Yumuşak çatal, bir blok zincirinin uyması gereken kuralları değiştirmeyen yeni özellikler ve işlevler eklemek için kullanılabilir. Yumuşak çatallar genellikle yeni özellikleri programlama düzeyinde uygulamak için kullanılır.

Hard forklar ve soft forklar arasındaki farkı daha iyi anlamak için bunu bir mobil cihazda ya da bilgisayarda yapılan temel bir işletim sistemi yükseltmesi olarak düşünebilirsiniz. Yükseltmeden sonra cihazdaki tüm uygulamalar işletim sisteminin yeni sürümüyle çalışmaya devam edecektir. Bu senaryoda hard fork, yeni bir işletim sistemine tam bir değişiklik olacaktır.

Önemli hard fork örnekleri

Kripto para dünyasında çok sayıda tarihsel hard fork örneği vardır ve bunların hepsi Bitcoin blok zincirinde gerçekleşmemiştir. İşte tarihteki en popüler hard forklardan bazıları ve sektörü nasıl etkiledikleri.

SegWit2x ve Bitcoin Cash

SegWit2x, Bitcoin'in ölçeklenmesine yardımcı olmak için tasarlanmış bir yükseltme önerisiydi. Segregated Witness'ı (SegWit) uygulamak ve kripto para biriminin ağındaki blok boyutu sınırını bir MB'den iki MB'ye çıkarmak için ayarlandı.

SegWit2x'in uygulanmasına 23 Mayıs 2017'de varılan tartışmalı New York Anlaşması'nda karar verildi. Anlaşmaya göre, ağın hash oranının %85'inden fazlasını temsil eden bir dizi Bitcoin işletme sahibi ve madenci, kapalı kapılar ardında BTC'nin geleceğine karar verdi.

SegWit yumuşak bir çatal yoluyla uygulanacak, blok boyutu sınırı ise daha sonra sert bir çatal yoluyla uygulanacaktı. Teklif tartışmalıydı çünkü Bitcoin'in ana kod tabanı olan Bitcoin Core'un arkasındaki herhangi bir geliştiriciyi içermiyordu ve merkezileştirici bir güç olarak görülüyordu - madenciler ve düğümler fikir birliğine varmadan ağın kaderine karar veren bir grup işletme. Anlaşma, Bitcoin'in ölçeklendirilmesi konusunda yıllarca süren tartışmaların ardından geldi.

Küçük blok taraftarları, daha büyük blokların tam bir düğüm barındırmayı zorlaştıracağını ve potansiyel olarak kripto para birimini merkezileştireceğini savundu. Daha büyük blokları destekleyenler ise BTC'nin artan işlem ücretlerinin büyümesine zarar vereceğini ve bazı kullanıcıları ağın dışına iteceğini savunuyordu.

Bitcoin ağında, kullanıcı tarafından aktive edilen yumuşak çatallanmalar mümkündür. Bu senaryoda, cüzdan operatörleri, borsalar ve tam düğüm çalıştıran diğer işletmeler, gelecekte bir etkinleştirme noktasına sahip olacak yeni bir blok zinciri sürümüne geçebilir ve bir ağdaki madencileri "sıraya girmeye" ve yeni kuralları etkinleştirmeye zorlayabilir. Bunu yapmazlarsa ağ bölünebilir.

Bitcoin kullanıcıları, Bitcoin'in geleceğini belirleyen kapalı kapılar ardındaki toplantıya tepki olarak ve bir emsal teşkil etmesini engellemek için o dönemde kullanıcı tarafından aktive edilen bir soft fork için kampanya yürütmüştü. Bitcoin ağında SegWit'i uygulamaya çalışan ve SegWit2x'in ağı bir tekrar saldırısına karşı savunmasız hale getiren tartışmalı bir hard fork olduğunu savunan Bitcoin Improvement Proposal (BIP) 148'in uygulanması çağrısında bulundular. Mart 2017'de yayınlandı ve 1 Ağustos 2017'de uygulanmaya başlanacaktı.

SegWit2x planının yerine getirilmeyeceğinden korkan ve topluluğun SegWit'i desteklediğini gören bazı büyük blok destekçileri, 1 Ağustos 2017'de Bitcoin blok zincirini çatallandırmaya karar verdi. Bunun sonucunda Bitcoin Cash (BCH) ortaya çıktı. Destekçileri bu bölünmeyi rakip bir ağın yaratılması olarak değil, Satoshi Nakamoto'nun orijinal vizyonunun devamı olarak gördüler.

Bitcoin Cash blok zinciri, o zamandan bu yana 32 MB'a yükseltilen sekiz MB'lık bir blok boyutuyla oluşturuldu. Bugüne kadar Bitcoin Cash destekçileri, düşük işlem ücretlerinin ölçeklenmesine ve bankasızları bankaya yatırmasına yardımcı olacağını, BTC'nin daha yüksek işlem ücretleri nedeniyle geride kalacağına inandıklarını belirtmektedir.

Bitcoin Cash hard forku, hard fork olasılığının ilgi odağı haline geldiğini gördü ve kısa bir süre sonra çok sayıda başka Bitcoin forku yaratıldı. Bunlar arasında Bitcoin Gold (BTG), Bitcoin Diamond (BTCD) ve diğerleri bulunmaktadır. 

DAO Hack'i

Bir diğer önemli tarihsel hard fork ise 2016 yılında Ethereum ağında başlatılan merkezi olmayan otonom organizasyon (DAO) ile ilişkilendirilmiştir. Ethereum, esasen bir dizi kriter karşılandığında otomatik olarak yürütülen kod parçaları olan bir dizi akıllı sözleşme çalıştırır. Bu sözleşmeler parayı programlanabilir hale getirir ve merkezi olmayan finans uygulamalarının (DApps) arkasında yer alır.

O dönemde DAO, 2017'deki ilk madeni para arzı (ICO) çılgınlığından önce, kriptodaki en erken kitle fonlaması çabalarından birinde 150 milyon dolar değerinde ETH toplamıştı. Esasen DeFi protokollerinin kullandığı ve token sahiplerinin protokolün geleceği hakkında oy kullandığı merkezi olmayan yönetişim modellerinin erken bir yinelemesiydi.

Lansmanından sonra DAO, 11.000 yatırımcıdan 60 milyon dolar değerinde ETH için hacklendi. O dönemde Ethereum 10 doların altında işlem görüyordu, dolayısıyla dolaşımdaki tüm Ether'in yaklaşık %14'ü DAO'ya yatırılmıştı ve hack olayı ağa duyulan güvene büyük bir darbe vurdu.

Herkes saldırıya nasıl yanıt vereceğini bulmaya çalışırken Ethereum topluluğu içinde bir tartışma başladı. Başlangıçta Ethereum'un kurucusu Vitalik Buterin, saldırganın adresini kara listeye alacak ve fonları taşımasını engelleyecek bir soft fork önerdi.

Saldırgan ya da onun gibi davranan bir kişi, fonların "yasal" bir şekilde ve akıllı sözleşmenin kurallarına uygun olarak elde edildiğini iddia ederek topluluğa yanıt verdi. Fonları ele geçirmeye çalışan herkese karşı yasal işlem başlatmaya hazır olduklarını iddia ettiler. Saldırgan, fonlarla ETH madencilerine rüşvet vererek soft fork girişimlerini engelleyeceklerini söylediğinde tansiyon yükseldi.

Hard fork önerilene kadar tartışmalar bir kez daha devam etti. Nihayetinde hard fork uygulandı ve Ethereum ağının geçmişini DAO saldırısının gerçekleşmesinden öncesine geri döndürerek çalınan fonları yatırımcıların fonlarını çekebilecekleri akıllı bir sözleşmeye yeniden tahsis etti.

Bu hamle son derece tartışmalıydı ve bazılarının gözünde blok zincirinin sansüre karşı direncini ve değişmezliğini etkiledi: Onların gözünde yatırımcılar kurtarılıyordu. Olayları bu şekilde görenler hard fork'u reddetti ve ağın şu anda Ethereum Classic (ETC) olarak bilinen önceki bir sürümünü destekledi. 

Hashrate Savaşları: ABC vs. SV

Bitcoin Cash, Ağustos 2017'de Bitcoin blok zincirinin hard fork'u yoluyla yaratıldı ve daha sonra topluluk içindeki grupların çekişmesiyle iki ağa bölündü. Bir tarafta, arkasındaki teknolojiyi geliştirmeye çalışan bir geliştirme ekibi olan Bitcoin Cash ABC (BCHA) vardı. Diğer tarafta ise kendini "Satoshi Nakamoto" ilan eden Craig Wright tarafından desteklenen ve blok boyutunu 32 MB'den 128 MB'ye çıkarmaya çalışan bir ekip olan Bitcoin Cash SV (BSV) vardı.

Blok 556.767'de blok zinciri ikiye bölündü ve BCH ticker sembolü için savaş başladı. Her iki taraftaki madenciler de diğerine karşı hash-rate avantajına sahip olmak için ellerinden gelen her türlü kaynağı kullandı. Birçoğu, bloklarını yeniden düzenlemek için diğer ağa %51'lik bir saldırı çağrısında bulundu, böylece destekçileri kendi taraflarına geçmeye zorlanacaktı.

Kripto para borsaları ve diğer işletmeler, BCH ticker'ını zirveye çıkan blok zincirine atfedeceklerini açıkladılar. Bazı madencilik havuzları tüm kaynaklarını hash savaşlarına yönlendirdi ve Bitcoin Cash ABC sonuçta hash oranının çoğunluğuna sahip oldu ve herhangi bir %51 saldırı girişimini savuşturdu. Daha sonra borsalarda ve diğer hizmetlerde BCH ticker'ını talep etti ve diğer ağ ticker olarak BSV'yi seçti.