Merkle tree Nedir?

Merkle tree, diğer bilinen adıyla hash tree, hiyerarşi sisteminin olduğu bir veri doğrulama yapısıdır. Hiyerarşinin başında Merkle Root yer almakta olup sırasıyla düğüm, yaprak düğüm ve blok şeklinde devam etmektedir. Kripto sektöründe ve çok sayıda veri depolayan hemen her sistemde yer alan Merkle tree nedir birlikte inceleyelim.

Dünya nüfusuna oranla %62,3’den fazla kişi internet kullanmakta ve her bir kullanıcının kendine ait sanal bir verisi bulunmakta. Siber saldırıların etkisinin giderek arttığı günümüzde merkle tree veri yapısı sektörlerin daha güvenilir bir altyapıya sahip olmasını sağlar.

Merkle tree nedir?

Merkle tree nedir ve ne işe yarar? Merkle ağacı kavramı adını 1979 yılında veri yapısı fikrinin patentini alan Ralph Merkle’den almıştır. Ağaç, üç yapıdan oluşur: Merkle Root, düğüm, yaprak (leaf) düğüm ve veri (blok).

Her yaprak düğüm hash edilmiş verileri saklar ve üst düğüme iletmekle görevlidir. Tüm yeni oluşturulan ya da güncellenen veriler ise son aşamada birleştirilir ve kök (root) olarak adlandırılan ana birimde depolanır. Merkle tree, Bitcoin ve hemen her altcoinin altyapısında yer alır.

Yatırımcı bir borsa üzerinden para transferi gerçekleştirileceği zaman sorun yaşadığı takdirde müşteri temsilcisinin kontrol etmesi için “TXID” adresini iletmesi gerekir. Örnek işlem transfer adres yapısı şu şekilde olup her bloğa özgü olarak atanır:

  • f4184fc596403b9d638783cf00adfe0c00c605f6356fbc91338530e0000e9e16
Merkle tree - 1
Merkle tree yapısı | Kaynak: Binance

Merkle ağacı veri yapısı ve temel özellikleri

Merkle ağacı veri yapısı, dallara ayrılmış bir formda olup tüm işlemlerin parmak izini tutarak kişinin blok içerisinde gerçekleştireceği işlemleri kayıt altına alacak şekilde dizayn edilmiştir. Hash tree olarak da isimlendirilen veri şemasının temel özellikleri şunlardır:

  • Güvenlik – Bloklar düğümler yoluyla doğrulanacağı için ağın yoğun kullanımda olduğu dönemlerde aşırı yüklemeden kaynaklı yavaşlama söz konusu olmaz. Aynı zamanda blok verileri olduğu gibi saklanmadığı için üçüncü kişilerce ele geçirilemez. Tüm veriler kriptografik hash fonksiyonundan geçirilerek 256 bitlik formatta saklanır.
  • Doğrulama mekanizmasıBlok zinciri ağları saniyede binlerce işlemi doğrulayacak kapasitededir. Merkle tree, blok zincirine hiyerarşi doğrulama sistemi getirerek kullanılması gereken CPU güç miktarını bir hayli düşürmüştür.
  • Entegrasyon – Merkle tree, kripto sektörü harici veri doğrulama ve entegrasyonun dahil olduğu çoğu alanda kullanılabilir. Kişinin, uygulamanın ya da şirketin ihtiyaçlarına bağlı olarak Merkle ağacı özelleştirilebilir.
  • Şeffaflık – Merkle Root, her bir bloğa özel hash değeri atar. Blok içerisinde değiştirilen herhangi bir unsur ya da transfer, Merkle Root tarafından güncellenir. Merkle ağacı veri yapısı daima kayıt altına alındığı için şeffaflık ön plandadır.

Merkle tree kullanım alanları

Merkle ağacı, kripto sektörü dışında birçok alanda kullanılabilir. Günümüzde Merkle tree veri yapısı, Amazon DynamoDB veri tabanı, Apache Cassandra ve Git yönetim sistemi tarafından kullanılmaktadır. Merkeziyetsizliğin ve yüksek güvenliğin giderek önem kazandığı göz önünde bulundurulduğunda yakın gelecekte yeni nesile ayak uydurabilmek adına her şirket benzer bir yapıyı altyapısına entegre etmesi düşünülmekte.

Merkle tree nedir ve nasıl oluşturulacağına dair birçok kaynak mevcuttur. Dileyen araştırmacılar Typescript kullanılarak oluşturulmuş örnek bir hash ağacına GitHub üzerinden göz atabilir.

Merkle ağacının sınırı nedir?

Merkle ağacı, belirli sayıda veriyi depolayacak yapıdadır. UInt32 veri türü toplam 4.294.967.295 değer saklayabilir. Kademeli ağaç sisteminin en alt bölümü “0” için ayrılan kısımda bloklar yer alır ve her bloğun kendine ait bir byte boyutu vardır.