Bitcoin madenciliği ve Blockchain‘de bilinmesi gereken önemli konular arasında yer alıyor “Orphan Block” kavramı. Yazımızda Orphan Block (Orphan Blok) kavramını anlatmaya çalışacağız.
Orphan Block Nedir?
Bazen iki Bitcoin madencisi neredeyse aynı anda çözüm değerini bulur ve bloğu kendi dijital imzalarıyla imzalar. İki farklı imza demek, iki farklı bloğun oluşması anlamına gelir; fakat Bitcoin protokolü gereği, iki blok aynı anda blockchain’e eklenemez ve aynı anda iki ödül dağıtılamaz. Dolayısıyla blockchain’de yalnızca bir blok asıl ve gerçek blok olarak yoluna devam edebilir. Yola devam edemeyen bloğa “Orphan Block” (Yetim Blok) adı verilir. Bu iki bloktan hangisinin gerçek, hangisinin Orphan olduğu ise ilk aşamada belli değildir ve böyle bir durumda hangi blok zinciri daha çabuk uzarsa o geçerli olacaktır.
Orphan Block Neden Oluşur?
Yukarıdaki görselde görüleceği üzere A ve B adında iki blok olduğunu varsayalım. A bloğu yoluna devam ederken B bloğunun yola devam edemediğini görüyoruz. Bundan sonraki süreçte A bloğunun üstüne yeni bloklar eklendikçe A bloğu daha güvenilir hale gelecektir. B bloğu için ise yolun sonu gelmiştir. Koyu renkle gösterilen güzergâh üzerinde bulunan bloklara işlemci gücü harcayan madencilere herhangi bir ödeme yapılmayacak ve vakitleri boşa harcanmış olacaktır.
Günde ortalama olarak üç defa orphan blok olayı gerçekleşir. Bitcoin madencisi ve meraklısı Organ Ofcorti kendi bloğundan yayınladığı “The network: Orphaned blocks part 1” adlı makalede orphan bloğun gerçekleşme ihtimalini şu şekilde formüle etmiştir:
1/(1+T/t)
Formülde çıkan sonuç yüzde olarak orphan blok oluşma ihtimalini temsil eder. T, bir bloğun ortalama bulunma süresini; t ise, bulunan bir bloğun ağda ortalama olarak yayınlanma süresini ifade eder. Formül üzerinde örnek bir hesaplama yapalım.
Orphan Block Hesaplama
Ortalama olarak bir bloğun bulunma süresini 10 dakika, yani 600 saniye olarak varsayalım, T=600. Bulunan bloğun ağda yayınlanma süresini ise ortalama olarak 10 saniye alalım (tahmini değer), t=10. Formülde yerine koyarsak; 1/(1+600/10) şeklinde bir hesaplama yapmamız gerekir. Buradan da 0,016, başka bir ifadeyle %1,6’lık bir değer elde edilir. Günde yaklaşık olarak 147 blok yaratıldığını ifade etmiştik. 147 bloğun %1,6’sı ise; 2,3 orphan blok olarak hesaplanır.
Formülde bir bloğun ağda yayınlanma süresini 10 saniye alarak 2,3 rakamını elde ettik. Şu anda ise geriye dönük verilere bakıldığında günde ortalama olarak 3 orphan bloğun oluştuğu görülüyor. Bu bilgiden ortalamanın 10 saniyenin biraz üzerinde olduğunu varsayabiliriz. Eğer bloğun ağda yayınlanma süresi artarsa daha fazla orphan blok oluşma ihtimali var demektir. Tam tersi olarak, bulunan bir bloğun ağda yayınlanma süresi 10 saniye üzerinde değil de 5 saniye olsaydı, günde ortalama 1,2 orphan blok oluşacaktı. Sonuç olarak, orphan blokların oluşması için bulunan blokların ağda yayınlanma süresinin önemli olduğunu görüyoruz.
Yalnız başına Orphan blokların oluşma sıklığı aslında Bitcoin sistemi veya ağı için herhangi bir tehdit oluşturmuyor. Sadece madenciler için biraz sıkıntı verici olabilir; fakat aynı zamanda bu konu oyunun da bir parçası olarak yorumlanır.