Merkle ağacı, bilgisayar ve kriptografi bilimlerinde kullanılan bir veri yapısıdır. Kriptopara piyasasında merkle ağacı, blokzincirindeki hash fonksiyonu ile yapılan işlemlerin özetini içeren bir veri yapısını ifade eder. Merkle ağacı; blokzincirindeki işlem bloklarının kolay ve verimli bir şekilde doğrulanmasında yardımcı olur. Bu yazıda merkle tree nedir sorusunun yanıtını bulabilirsiniz.
ANA BAŞLIKLAR
Merkle Tree Nedir?
Merkle ağacı, Ralph Merke tarafından bulunmuştur. Ralph Merke, merkle ağacı kavramının patentini 1979 yılında almıştır ve 1987’de yayınladığı “ Geleneksel Şifreleme Fonksiyonuna Dayalı Dijital İmza” makalesinde merkle ağacı kavramından bahsetmiştir. Merkle ağacı, hash özetlerini bulunduran şema şeklinde bir veri yapısıdır. Merkle ağacındaki hash verilerin özet kodları aşağıdan yukarıya doğru sıralanarak şema halinde belirtilir. Merkle ağacında, altta bulunan şemadaki hash’lerin birbirine eklenmesi, üstte bulunan hash’lerın değerini belirler.
Merkle ağacı ile hash verilerinin hepsinin bir şemada bulunması ve aşağıdan yukarıya doğru oluşan hash değerlerinin sıralı toplanmasıyla, sistemdeki verilerin bütünlüğü sağlanır. Bilgisayarlarla kişiden kişiye, eşler arası yapılan veri transferlerinde, aktarılan verilerin doğrulanmasında kullanılır. Merkle ağacı kullanılarak, transfer edilen verilerin veya veri bloklarının hasarlı veya sahte olup olmadığı anlaşılabilir. Bu blokların doğruluğu, merkle ağacı ile doğrulanabilir.
Merkle Tree Nasıl Çalışır?
Merkle ağaçları, bloklardaki hash özetlerinin bir araya gelmesi ile oluşur. Merkle ağacının en alt bölümünde, işlem verileri yer alır. Bu verilerin hash değeri (hash kodu), hash fonksiyonu çalıştırılarak elde edilir. Sonrasında ise hash şemasında altta bulunan değerler birbirlerine eklenir ve elde edilen değer yukarıdaki satırlara eklenir. Bu işlemin sonucunda merkle tree inşa edilmiş olur. İşlemin sonunda, en yukarıdaki şemada oluşan hash değeri, kök hash veya merke kökü gibi terimler ile ifade edilir. Hesaplanan kök hash değeri, bloklarda hata olup olmadığını yansıtır. Kök hash’ı oluşturan değerlerde uyumsuzluk olması durumda, sistemdeki algoritma hatasız merkle kökünü oluşturana kadar hash fonksiyonları ile işlem yapmaya devam eder.
Merkle Tree Bitcoin’de Neden Kullanılır?
Bitcoin blokzincirindeki blokları doğrulamak isteyen madencilere işlem kolaylığı sağlar. Bitcoin blokzincirindeki madenciler hash fonksiyonunu çalıştırarak blokları doğrularlar. Bitcoin blokzincirinde veriler sıralanarak, merkle ağacına yerleştirilir. Sonrasında ise algoritma hash fonksiyonları ile çalışarak kök hash elde edilir. Elde edilen kök hash, daha sonra yapılacak madencilik işlemlerinde de kullanılabilir. Bu sayede, madenciler tüm blokları hash etmek yerine sadece kök hash’ı hash ederek işlemlerine devam edebilirler. Merkle ağacı, Bitcoin dışındaki kriptopara birimlerinin blokzincirlerinde de çözümler sağlar.