Geçmiş dönemlerde Bitcoin blockchain’inde sıkça görülen bir durum olan Orphan Block (Yetim Blok) önceki bloklara ait bilgilerin eksikliği nedeniyle doğrulanamayan bir bloktu. Ağda eksik veri nedeniyle oluşan Orphan Block meydana gelen hatayı temsil ederdi. Peki tam olarak Orphan Block nedir?
Bussiness 2 Community Turkey olarak önceki dönemlerde sıklıkla karşılaşılan Orphan Block’un ne olduğunu, nasıl çalıştığını ve diğer bloklarla arasındaki farkları araştırdık. Hadi başlayalım.
Orphan Block Nedir?
Orphan Block (Yetim Blok), başarılı bir şekilde kazılan ve ağa yayılan ancak aynı yükseklikte başka bir blok ağ tarafından daha önce onaylandığı için reddedilen bir bloktur. Yetim bloklar, geçerli şekilde kazılmış olsalar da ana zincire eklenemeyen bloklardan oluşan bir “yetim blok yaması” olarak düşünülebilir.
Bir blockchain’i, birbirine bağlı blokların oluşturduğu bir zincirdir ve her blok, bir önceki bloğa ait verileri içerir. Blockchain’e eklendikten sonra, verilerini bir sonraki bloğa aktarır. Bu durumda, önceki blok “ebeveyn blok,” yeni eklenen blok ise “çocuk blok” olarak adlandırılır.
Yetim Blok Nasıl Ortaya Çıkar?
Orphan Block’lar genellikle blok zincirini barındıran düğümün hızı, blok boyutu, yayılma gecikmesi, ağ gecikmeleri ve blockchain kopyasının uzunluğu gibi faktörlerden kaynaklanır. Kopuk bloklar, aynı ana bloktan iki geçerli çocuk blok üretildiğinde veya bu bloklar aynı anda kazıldığında oluşur. Bu durumda, blok zinciri iki rakip zincir kopyasına ayrılır ve sonunda çocuk bloklardan biri terk edilir.
Yeni bloklar sürekli üretildiği için madenciler, zincirlerden birine yeni bloklar ekler ve zincirlerden biri diğerine göre daha uzun hale gelir. Ağdaki düğümler, daha kısa olan zinciri devre dışı bırakır ve daha uzun zinciri kullanmaya devam eder. Daha kısa ve terk edilmiş zincir, ana blok zincirine dahil edilemeyen kopuk bloklardan oluşan bir “yetim ağ” haline gelir.
Ancak, bu kopuk zincir blokları tamamen kaybolmaz. Mempool’a (bellek havuzu) veya bir yetim blok dosyaları havuzuna geri döndürülerek tekrar doğrulanır ve yeni bir zincire eklenir. Bloklar, geçici olarak ana blok zincirinden ayrıldığı için “yetim hattı” olarak adlandırılır. Orphan Block’lar genellikle tesadüfen oluşur. Ancak bazı durumlarda saldırganlar, bir %51 saldırısı (çifte harcama saldırısı) gerçekleştirmek amacıyla geçerli bir alternatif zincir oluşturmak için bu blokları üretebilir.
Orphan Block’lar Nerede Depolanır?
Orphan Block’lar, blockchain’e dahil edilmez fakat geçici olarak bir yetim blok havuzunda depolanır. Bu havuzda, ana blok zincirinden ayrı bir şekilde listelenirler. Dikkate değer bir nokta ise, bir ana bloğa sahip olmayan yetim bir blok, Orphan Block’un oluşmasına neden olan önceki blok daha sonra zincire eklendiğinde, blockchain’e dahil edilebilir.
Orphan Block ve Uncle Block Arasındaki Fark Nedir?
Proof-of-work (iş kanıtı) kullanan blockchain’lerinde geçmişte sıkça Orphan Block’lar oluşurdu. Günümüzde de zaman zaman oluşabilir. Uncle block’lar ise Ethereum blok zincirinde proof-of-work döneminde görülen ve Orphan Block’lara benzer şekilde aynı anda kazılan ancak ana zincirde kabul edilmeyen bloklardı.
Bitcoin ve benzeri blok zincirleri, Orphan Block öneren madencilere ödül vermezken, Ethereum’da uncle block üreten madenciler ödüllendirilirdi. Ancak Ethereum’un 2022’de proof-of-stake (hisse kanıtı) sistemine geçmesiyle birlikte, blok üretim mekanizması BTC’nin aksine rekabetçi olmadığı için uncle block’lar tamamen ortadan kalkmıştır.
Orphan Block ve Stale Block Arasındaki Fark Nedir?
Mevcut tanımlara göre, stale block’lar ve Orphan Block’lar genellikle aynı blok türünü ifade etmek için kullanılır. Her ikisi de ağ tarafından terk edilen bloklardır çünkü başka bir zincirden daha az iş kanıtına (proof-of-work) sahiptirler.
Ancak bazı kaynaklar, bu iki terim arasında ince bir ayrım yapar:
- Orphan (Yetim) Block’lar: Teknik olarak, ana bloğu bilinmeyen veya eksik olan bloklardır. Ancak modern blockchain sistemlerinde, “yetim blok” terimi genellikle eksik ana blok bağlantısına sahip olmayan ama ana zincirde yer almayan blokları ifade etmek için kullanılır.
- Stale Block’lar: Ana blokla bağlantıları tamdır ancak başka bir zincir daha uzun olduğu için veya daha fazla iş kanıtına sahip olduğu için ana zincire eklenemeyen bloklardır.
Kısacası, her iki tür de ağın dışladığı blokları temsil eder ve genellikle birbirinin yerine kullanılabilir, ancak teknik bağlamda farklı anlamlara gelirler.
Sonuç – Orphan Block Nedir?
Orphan Block, başarılı bir şekilde kazılan ve ağa yayılan ancak aynı yükseklikte başka bir blok ağ tarafından daha önce onaylandığı için reddedilen bir bloktur. Geçmişte, bu bloklar Bitcoin blockchain’inde sıkça görülüyordu.
Yetim bloklar blockchain’e dahil edilmez ancak geçici olarak bir yetim blok havuzunda depolanır.
Uncle block’lar, Orphan Block’lara benzer şekilde Ethereum blok zincirinde meydana gelen bloklardı. Bitcoin ve benzeri blockchain’leri Orphan Block öneren madencilere ödül vermezken, Ethereum uncle block üreten madencilere ödül veriyordu. Fakat Ethereum’un 2022’de hisse kanıtı (proof-of-stake) sistemine geçmesiyle birlikte, ucle block’lar tamamen ortadan kalkmıştır.