Merkle Ağacı

Merkle Ağacı nedir?

Merkle ağacı, bilgisayar bilimi uygulamalarında kullanılan bir veri yapısıdır. Bitcoin ve diğer kripto para birimlerinde Merkle ağaçları, blok zinciri verilerini daha verimli ve güvenli bir şekilde kodlamaya hizmet eder.

Ayrıca “ikili karma ağaçlar” olarak da adlandırılırlar.

Merkle Ağacını Yıkmak

In Bitcoin en blockchain, işlemlerin bir blok bir oluşturmak için bir algoritma aracılığıyla çalıştırılan karma numaraları ve belirli bir veri kümesi işlemlerin özgün kümesiyle aynı olduğunu doğrulamak için kullanılabilecek harflerin bir dizidir, ama orijinal işlem setini elde etmemek. Bununla birlikte, Bitcoin’in yazılımı, tek seferde hash işlevi aracılığıyla – ortalama 10 dakika değerinde işlemi temsil eden – işlem verisi bloğunun tamamını çalıştırmaz. Aksine, her bir işlem karma hale getirilir, ardından her işlem çifti birleştirilir ve birlikte karma hale getirilir ve bu, tüm blok için bir karma olana kadar devam eder. (Tek sayıda işlem varsa, bir işlem iki katına çıkar ve hash’i kendisiyle birleştirilir.)

Görselleştirilen bu yapı bir ağaca benziyor. Aşağıdaki diyagramda, “T” bir işlemi, “H” bir hash’i belirtir. Görüntünün oldukça basitleştirilmiş olduğuna dikkat edin; ortalama bir blok sekiz değil 500’den fazla işlem içerir.

Alt satırdaki karmalar “yapraklar”, ara karmalar “dallar” ve üstteki karma “kök” olarak adlandırılır. Belirli bir bloğun Merkle kökü başlıkta saklanır: örneğin, 482819 numaralı bloğun Merkle kökü e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8’dir. Kök, diğer bilgilerle (yazılım sürümü, önceki bloğun hash değeri, zaman damgası, zorluk hedefi ve nonce) birleştirilir ve ardından bloğun benzersiz hash’ini üretmek için bir hash işlevi aracılığıyla çalıştırılır: 000000000000000000bfc767ef8bf28c42cbd4bdbafd9aa1b5c3c33c2b089594. Bu hash aslında ilgili bloğa dahil değil, bir sonraki bloğa dahil edilmiştir; Merkle kökünden farklıdır.

Merkle ağacı kullanışlıdır çünkü kullanıcıların tüm blok zincirini indirmeden belirli bir işlemi doğrulamasına izin verir (Ağustos 2017 sonunda 130 gigabayttan fazla). Örneğin, D işleminin  yukarıdaki şemadaki bloğa dahil edildiğini doğrulamak istediğinizi varsayalım. Kök hashine (H ABCDEFGH ) sahipseniz, süreç bir sudoku oyunu gibidir: ağı H D hakkında sorgularsınız ve H C, H AB ve H EFGH döndürür. Merkle ağacı, her şeyin üç karmayla hesaplandığını doğrulamanıza izin verir: H AB, H C, H EFGH verildiğinde ve H ABCDEFGH, H D kökü  (tek eksik karma) verilerde mevcut olmalıdır.

Merkle ağaçları, isimlerini ” Geleneksel Şifreleme Fonksiyonuna Dayalı Bir Dijital İmza ” başlıklı 1987 makalesinde öneren Ralph Merkle’den alıyor. Merkle ayrıca kriptografik hashing icat etti.