Merkle Ağacı (Merkle Tree) — Nedir ve neden kullanılır?

Kursat | Aelf
3 min readSep 9, 2019

--

Kripto para ve Blockchain teknolojisine yatırım yapmak bir şeydir, ancak Blockchain’in nasıl çalıştığını tam olarak anlamak bir başka şeydir. Aelf ekosistemi de dahil olmak üzere birçok Blockchain’de ağa dahil edilen teknolojinin bir eseri Merkle Ağacı’dır. Bu ağın birçok parçası olmasına rağmen Merkle Ağacı, doğrulama sürecinde verimliliği ve güvenilirliği nasıl sağlamayı planladığımızı belirlerken anlaşılması gereken önemli bir unsurdur.

Merkle Ağacı yeni bir şaşırtıcı keşif değildir, sadece Blockchain içinde değil güvencesiz veya P2P ortamında kullanılan oldukça yaygın bir şekilde kullanılan test edilmiş ve gerçek bir sistemdir. Aslında bu konsept, 1979'a ve Blockchain’in bir fikir olmasından önceye dayanıyor. Bilgisayar bilimcisi Ralph Merkle’den sonra adlandırılmıştır.

Basit bir ifadeyle bir Merkle Ağacı; çok fazla veri alır, bu verilerin ne olduğunu açığa çıkarmadan içinde tutulan verinin gerçekliğini/doğruluğunu kanıtlayabilen basit bir karakter dizisine sıkıştırır. Sıkıştırılmış bir dosyaya (.ZIP veya .RAR) benzer şekilde eğer belirli bir standarda göre doğru bir şekilde adlandırılırsa, kullanıcı sıkıştırmayı çıkartmadan ve açmadan içerdiği dosyaları tanıyabilir. Bu karakter dizisine (başlık) bir karma (hash) adı verilir. Karma; tek yönlü bir işlevdir, yani aynı verileri koyarsanız her zaman aynı karmayı alırsınız, ancak bu karmayı alamazsınız ve orijinal verileri çıkaramazsınız.

“Ağaç” kavramı, bilim genelinde yaygın bir fikirdir ve birbirinden dallanan ebeveynleri (parent) ve çocukları (children) içeren bir yapıya atıfta bulunur. Bu durumda, tüm yapraklar (İşlemler / bloklar) ile başlamanız ve bir ebeveyn karma (Merkle Root) için geri dönmeniz anlamında baş aşağı bir ağaçtır. Şekil 1.1'de görüldüğü gibi, Merkle Ağacına dahil edilmeden önce iki kez karmalanan işlemlerle başlıyoruz. 1–100 blok L1’e, 101–200 blok L2’ye, 201–300 blok L3’e, 301–400 blok L4’e karmalar gibi işlemlere sahip olabiliriz. Bunlar daha sonra ağacın alt dalına karmalanır. Örneğin, L1 bloğu karma 0–0’a karmalanmıştır.

Bu şema, ikili ağaç dediğimiz şeyi göstermektedir. Bu, her bir ebeveynin maksimum iki çocuk dalına sahip olabileceği anlamına gelir. Teknik olarak bunu artırabilirsiniz ama ikili ağaçlar en yaygın olanıdır. Karma 0–0 ve 0–1’e sahip olduktan sonra bu, ‘ebeveyn’ karmasına karmalanır (Hash 0). Buna Merkle Root (Kök) denilen en üst karmaya gelinceye kadar devam edilir.

Bu sürecin güvenlik, hız ve verimlilik dahil olmak üzere birçok avantajı vardır. Verileri yoğunlaştırmak için bu işlemi kullanarak, her karmayı Merkle Ağaç Kökü ile eşleştirerek herhangi bir gerçek veriyi açığa çıkarmadan çok hızlı bir şekilde doğrulanabilir. Blockchain’in merkezsizleşmiş yönü ile bağlantılı olarak oluşturulan Merkle ağacının karmaşıklığından dolayı bu karmalar içinde bulunan verilerin değiştirilmesini çok zorlaştırır.

Bir ağın hızı bu teknoloji kullanılarak kolayca artırılabilir. Doğrulanacak ve daha sonra geri gönderilecek dosyaları ağ üzerinden göndermek yerine bir bilgisayarın yalnızca çok hızlı bir şekilde doğrulanabilecek karmayı (bunun yalnızca bir karakter dizisi olduğunu unutmayın) göndermesi gerekir. Bir tutarsızlık varsa o zaman alt ağaçların karmaları, kusurlu blok bulunana ve gerektiği gibi değiştirilinceye kadar talep edilir. Bu, bir hata için bütün dosyayı aramaktan çok daha hızlıdır. Tabii ki, bu aynı zamanda kaynakların daha verimli kullanımıdır.

Aelf Merkle Ağacını nasıl kullanır?

Geleneksel anlamda değildir. Normalde Merkle Ağacı bir Blockchain içerisinde kullanılacaktır. Aelf, tüm yan zincirler arasındaki birlikte çalışabilirliği kontrol etmek için Merkle Ağacı’nı kullanıyor olacaktır. Her bir yan zincir, kendi Ağacını yaratacak ve Ana Zincir içinde yer alması için Merkle Köküne sunacaktır. Yan Zincir A Yan Zincir B’den gelen bazı verileri doğrulamak isterse, Yan Zincir A Ana Zincire yaklaşacak ve verileri doğrulamak için orada saklanan Merkle Kökü ile karşılaştırmasını isteyecektir. Ana Zinciri neredeyse her bir Yan Zincirin veri doğrulama için kullanacağı bir arşive ilişkilendirebilirsiniz. Bu konsept, oldukça eşsizdir ve doğrulama sürecini büyük ölçüde geliştirecektir. Çapraz zincir birlikte çalışabilirlik için bir ortam yaratmada etkili bir süreçtir. Özel ve halka açık zincirlerin birbirleriyle konuşmasını ve herhangi bir gizlilik sorunu olmadan verileri doğrulamasını sağlar.

Bu Merkle Ağacı, Aelf tarafından Yan Zincirleri ayırmak için kullanılan Yan Zincir “Ağacı (Tree)” ile aynı değildir. Merkle Ağacı, ana zincir ve diğer yan zincirler ile verileri depolamak ve doğrulamak için kullanılır. Bir Yan Zincir Ağacı, her bir zincirin (dalın) belirli bir kullanım durumu gerçekleştirdiği kendi ağaç benzeri yapısını oluşturan birçok alt zincirlerden oluşabilir. Bu zincirlerden biri yönetmek için aşırı büyük olduğunda, birden fazla zincire bölünebilir.

Merkle ağacı, Aelf ekosisteminin sadece benzersiz değil aynı zamanda bir Blockchain ağının fonksiyon biçiminde devrim yaratan bir başka özelliğidir.

--

--

No responses yet