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ı blockchain verilerini daha verimli ve güvenli bir şekilde kodlamaya yarar.
Bunlara "ikili karma ağaçlar" da denir.
Merkle Ağacı Kırma
Bitcoin'in blok zincirinde, belirli bir veri kümesinin orijinal işlem kümesiyle aynı olduğunu doğrulamak için kullanılabilen bir sayı ve harf dizisi olan bir karma oluşturmak için bir algoritma yoluyla bir işlem bloğu çalıştırılır, ancak orijinal işlem setini elde etmemek. Bununla birlikte, Bitcoin'in yazılımı, bir kerede hash fonksiyonu aracılığıyla ortalama 10 dakikalık işlem sayısını temsil eden tüm işlem verileri bloğunu çalıştırmaz. Daha ziyade her bir işlem karma hale getirilir, daha sonra her bir işlem çifti birleştirilir ve birlikte karma hale getirilir ve 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 karması kendisiyle birleştirilir.)
Görselleştirilen bu yapı bir ağaca benzer. Aşağıdaki şemada, "T" bir işlem, "H" bir karma 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 sıradaki karmalar "yapraklar", ara karmalar "dallar" ve üstteki karmalar "kök" olarak adlandırılır. Belirli bir bloğun Merkle kökü başlıkta saklanır: örneğin, # 482819 bloğunun Merkle kökü e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8'dir. Kök diğer bilgilerle birleştirilir (yazılım sürümü, önceki bloğun karması, zaman damgası, zorluk hedefi ve nonce) ve daha sonra bloğun benzersiz karmasını üretmek için bir karma işlevi üzerinden çalıştırılır:. Bu karma aslında ilgili blokta değil, bir sonraki blokta yer alır; 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, TD işleminin yukarıdaki şemadaki bloğa dahil edildiğini doğrulamak istediğinizi varsayalım. Kök karma (H ABCDEFGH) varsa, işlem bir sudoku oyunu gibidir: ağı DH hakkında sorgularsınız ve H C, H AB ve H EFGH döndürür. Merkle ağacı, her şeyin üç kareyle muhasebeleştirildiğini doğrulamanızı sağlar: H AB, H C, H EFGH ve kök H ABCDEFGH, HD (tek eksik karma) veride mevcut olmalıdır.
Merkle ağaçları, onları 1987'de "Geleneksel Şifreleme İşlevine Dayalı Dijital İmza" başlıklı bir makalede öneren Ralph Merkle'den almıştır. Merkle ayrıca kriptografik hash icat etti.