Blokzincirler devasa veri depolarıdır. Birçok farklı noktadan veri akışının gerçekleştiği bu yapılarda verilerin güvenli ve verimli bir şekilde saklanması gerekmektedir. Merkle Ağacı yapısı bu gibi büyük veri yapılarının özet bir şekilde saklanmasını sağlamaktadır. Blokzincirlerdeki her bloktaki işlem verileri metin olarak saklanmamaktadır. Bunun yerine, Merkle ağacı adı verilen bir veri yapısında depolanırlar. En basit tanımıyla Merkel ağacı, bir bloktaki tüm işlemlerin özeti olarak hizmet vermektedir.
Bir bloktaki her işlem, tüm işlemlerin çeşitli fonksiyonlar vasıtasıyla oluşturulmuş kısa ve benzersiz hash’lerden oluşur. Blokzincirdeki her bloğun bir Merkle kökü vardır.
Yukarıdaki şekilde gösterildiği gibi bir blokta dört işlem olduğunu varsayalım. Bu 4 işlem A, B, C ve D olarak şekilde görülmektedir. Bu işlemlerin her birinin tamamen benzersiz daha önce başka bir hash ile oluşmamış bir özeti vardır. Bunlar Hash A, Hash B, Hash C ve Hash D’dir. Ardından bu işlemler tekrar bir araya gelerek yeni bir hash karması oluşturur. Hash A ve Hash B yeni bir hash oluşturmak için bir araya getirilir. Ortaya çıkan bu yeni hash’in adı Hash AB’dir. Benzer bir şekilde Hash C ve Hash D de bir araya gelerek yeni bir hash oluşturur. Bu hash’in adı da Hash CD’dir. Bu yapılar şekilde görüldüğü gibi Merkle ağacının dallarıdır. Hash AB ve Hash CD daha sonra tekrar Merkle ağacının Merkle kökü olan Hash ABCD'yi üretmek için hash fonksiyonu tarafından birlikte gruplandırılır. Daha sonra ise bu Merkle Kökü blok başlığında saklanır.
Merkle Ağacının Avantajları
Her bloğun içerisinde Merkle ağacının kökünden oluşan bir hash değeri bulunmaktadır. Bu bloklarda bir önceki bloğun bir hash’i de bulunmaktadır. Bu sayede blokzincirdeki bloklar birbirine bağlanabilir.
Blokların içerisinde yer alan bu hash’ler sayesinde bir işlem değiştirileceğinde tüm ağacın kökünden dallarına kadar geriye gidilmelidir. En ufak bir değişiklik tüm hash’i değiştireceği için sonraki blokları da geçersiz kılar. Bu sebeple merkle ağacı yapısı ile oluşturulmuş hash’ler blokzincirlerin değiştirilmesini engeller.
Blokzincirler dünyanın birçok farklı noktasından verilerin saklandığı veri depolarıdır. Her blokta binlerce işlem ve binlerce bloktan söz edersek, bu verilerin ham bir şekilde saklanması oldukça yüksek maliyetlere sebep olacaktır. Merkle ağaçları, doğrulama amacıyla korunması gereken veri miktarını önemli ölçüde azaltarak bu sorunları çözmektedir. Kullanıcılar bireysel blokları doğrulayabilir ve ayrıca hash'leri kullanarak işlemleri kontrol edebilir. Böylece, işlemleri doğrulamak için gereken işlemci gücü de azalır.