Blockchain teknolojisini tartışırken Merkle ağaçlarını duydunuz mu? Bunun nedeni, teknolojinin özünde Merkle ağacının olmasıdır. 

Öyleyse, tam olarak nedir?

Bu yazıda, Merkle ağacını derinlemesine inceleyeceğiz ve blockchain teknolojisini başarıya dönüştürmedeki rolünü anlayacağız..

Başlayalım.


 

Merkle Ağacı Nedir?

Merkle ağacı, büyük bir içerik havuzundaki verilerin güvenli bir şekilde doğrulanması için kullanılan bir veri yapısıdır. Verilerin doğrulanması söz konusu olduğunda da verimli ve tutarlıdır.

Ethereum ve Bitcoin, Merkle Trees’i kullanıyor.

Sorun: Merkezi ağın özünde, verilere tek bir kopyadan erişilebilir. Bu, verileri depolamak veya bunlara erişmek için fazla bir şey yapmaları gerekmediği anlamına gelir. Bununla birlikte, merkezi olmayan blok zinciri ağı söz konusu olduğunda, her veri düğümler arasında kopyalandıkça işler karışır. Bu nedenle, verilere verimli bir şekilde erişmek bir zorluktur. Buradaki zorluk, verilerin bir kopyasını oluşturmak ve bunu düğümler arasında paylaşmaktır. Bunun da ötesinde, paylaşılan verilerin her bir alıcı düğüm için doğrulanması gerekir..

Çözüm: Merkle Trees, merkezi olmayan blok zincirlerinin verileri paylaşmasına, doğrulamasına ve güvenilir hale getirmesine olanak tanır. Verileri, verileri paylaşmak ve doğrulamak için fazla işlem gücüne ihtiyaç duyulmayacak şekilde düzenler. Ayrıca hash fonksiyonları ve kriptografi kullanımı sayesinde güvenli işlemi kolaylaştırır..

Satoshi Nakamoto, Bitcoin aracılığıyla blockchain teknolojisinde Merkle ağaçlarını uygulayan ilk kişiydi. Onun kullanımı, merkezi bir otoriteye ihtiyaç duyulmayan yeni bir bilgisayar bilimi dalı açtı. Ayrıca Merkle ağaçlarını aşırı derecede kullandı ve Hızlı Merkle ağaçlarını kullandı..

Ancak, konsept ilk olarak 1979’da patentini alan Ralph Merkle tarafından tanıtıldı. Onun adını aldı..

Ayrıca, Hyperledger Cactus: Yeni Bir Hyperledger Çerçevesi’ni okuyun.

Şifreleme Karma İşlevleri

Merkle ağaçlarını tartışmadan önce, kriptografik hash fonksiyonunu daha iyi anlamamız gerekiyor..

Bir karma işlevi, herhangi bir uzunluktaki herhangi bir rasgele veriyi sabit boyutlu bir çıktıya eşlemekten sorumludur. Kriptografik bir işlevdir ve bu nedenle kriptografide yaygın olarak kullanılmaktadır..

Karma işlevler verimlidir ve tek özellikleriyle bilinir, yani işlev tersine çevrilemez. Yalnızca bu şekilde çalışmak üzere tasarlanmış tek yönlü bir işlevdir. 

Hashing, aşağıdakileri içeren birden fazla kullanıma sahiptir:

  • Parola koruması
  • Dosya bütünlüğü kontrolleri ve doğrulama
  • Kripto para

Message Direct (MD), Secure Hash Function (SHF) ve RIPE Message Direct (RIPEMD) dahil olmak üzere birçok hash ailesi var.

Bir SHA256 karma algoritması kullanırsanız ve giriş olarak 101Blockchains’i geçerseniz, aşağıdaki çıktıyı alırsınız

fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

Özetlemek gerekirse, hash fonksiyonlarının temel özellikleri şunları içerir:

  • Deterministik
  • Ön Görüntü Dirençli
  • Hesaplama Açısından Verimli
  • Tersine Çevrilebilir Mühendislik
  • Çarpışmaya Dayanıklı

Şifreleme Karma İşlevleri hakkında daha fazla bilgi edinmek istiyorsanız, buradaki ayrıntılı makalelere göz atın: 

Merkle Ağaçları Nasıl Çalışır??

Artık Hash işlevlerini biraz iyi anladığımıza göre, şimdi Merkle Ağaçları hakkında daha fazla bilgi edinmenin zamanı geldi..

Dolayısıyla, teknik olarak Merkle ağaçları, yaprak olmayan düğümün ilgili alt düğümlerinin bir karma değeri olarak tanımlandığı veri yapısı ağaçlarıdır..

Bu aynı zamanda, Merkle ağacının, yaprak düğümlerinin en düşük düğüm olduğu yerde ters çevrildiği anlamına gelir.. 

Neyi aktarmaya çalıştığımı daha iyi anlamak için Merkle ağacı örneğine bir göz atalım:

Kaynak: Wikipedia

Merkle ağaçlarının özünde üç önemli terimi öğrenmemiz gerekiyor. Aşağıdaki gibidirler:

  • Merkle Kökü
  • Yaprak Düğümleri
  • Yaprak Dışı Düğümler

Merkle ağacına bir bütün olarak bakarsanız baş aşağı bir ağaçtır. Ağaç, bir dizi işlemi tek başına özetleyebilir. Bu, kullanıcının bir işlemin bloğun parçası olup olmadığını doğrulayabileceği anlamına gelir..

Merkle ağaçlarının çalışmasını sağlamak için hashing kullanılır. Yalnızca bir karma değeri kalana kadar düğümlerin karma çiftlerini tekrar tekrar yapar. Sol hash değeri olarak bilinir Merkle Kökü veya Kök Karma. Ağaç, tek tek işlem karmaları kullanılarak aşağıdan yukarıya doğru oluşturulur. Tek tek işlem karmaları, İşlem Kimlikleri olarak da bilinir. 

Yaprak düğümler, işlemsel veri karmalarını içeren düğümlerdir. Yaprak olmayan düğümler durumunda, önceki iki karmanın karmasını depolarlar.

Merkle ağaçlarının bir diğer önemli özelliği de doğada ikili olmasıdır. Bu, çalışması için yaprak düğümlerinin eşit olmasını gerektirdiği anlamına gelir. Tek sayıda yaprak düğüm varsa, son hash’i çoğaltacak ve onu eşitleyecektir..

 

Bir örnek

Bir örnek alarak anlamaya çalışalım.

Merkle Ağacı Örneği

Burada blokta dört işlemin gerçekleştiğini görüyoruz. Bu işlemler X, Y, Z ve W olarak adlandırılır. İşlemler daha sonra karma hale getirilir ve ardından Hash X, Hash Y, Hash Z ve Hash W olarak adlandırdığımız yaprak düğümlerinde saklanır..

Bir kez yapıldığında, Hash X, Y, Z ve W’nin yaprak düğümleri yeniden hash edilir ve birleştirilmiş bir XY ve ZW karması halinde oluşturulur. Son olarak, bu iki karma, Merkle Kökü veya Kök Karması oluşturmak için kullanılır..

Karma işleminin tamamı, Merkle Trees veri yapısını merkezi olmayan ağlar durumunda kullanışlı kılan çok büyük bir veri kümesi üzerinde yapılabilir..

Daha önce tartıştığımız gibi, karma algoritma kullanımı uygulamaya bağlıdır. Bununla birlikte, kullanılan en yaygın karma işlevlerden biri, SHA-2 şifreleme karma işlevini içerir.. 

Böylece, hash değerleri sayesinde önceki işlemlerin doğrulanabilir olması durumunda bir işlem doğrulanabilir..

 

Veri Bütünlüğü Nedir??

Merkle ağacı, veri bütünlüğü için idealdir. Ayrıca, doğrulanabilirliğini görmek için tüm işlemin üzerinden geçmeye gerek yoktur. İşlemler, blok başlığında depolanan bilgilerin kullanılmasıyla doğrulanabilir. Merkle kök değeri de önceki işlemlere bağlı olarak değiştirilir.

Bu aynı zamanda kök değerlerin sık sık değiştirildiği ve işlemleri neredeyse anında doğrulamak için kullanılabileceği anlamına gelir.. 

Bunların hepsi karma listeye biraz benzeyebilir, ancak bu doğru değildir. Bir karma liste için, işlemleri veya verileri doğrulamak için tam listeyi indirmeniz gerekir.

Merkle ağacı söz konusu olduğunda, dalı indirebilir ve ardından işlemleri doğrulamak için kullanabilirsiniz..

İşlemleri doğrulamak için tüm ağacı indirmeye gerek yoktur. Bu aynı zamanda, tüm ağacın, tüm ağdaki işlemleri doğrulamak için kullanılabilecek küçük veri bloklarına bölünebileceği anlamına gelir. Konsept olarak bilinir Merkle provaları.

Python’da bir Merkle ağacı uygulaması olan Merkle ağaç pitonuna da göz atabilirsiniz. makale.

 

Merkle Ağaçları Bitcoin’de Nasıl Çalışır?

Bitcoin, Merkle ağaçlarını etkin bir şekilde kullanan ilk kripto para birimiydi. Karma değerlerin korunduğundan ve kolayca tersine çevrilemediğinden emin olmak için, ünlü Güvenli Karma Algoritma SHA-256’yı kullanır. Bu aynı zamanda, hash değerleri çıktısının 256 bit uzunluğunda olduğu anlamına gelir. Çekirdekte, Merkle ağaçları verileri depolamak ve ayrıca işlemleri budamak için kullanılır.

Ayrıca, Blockchain’e Nasıl Başlanır’ı okuyun

Bitcoin’de her blok, hash değerleri kullanılarak önceki bloklara bağlanır. Tüm blok zinciri bu şekilde oluşturulur. Bir blokta, aşağıdakiler gibi önemli bilgileri içeren blok başlıkları vardır:

  • Merkle Kök Hash
  • Sürüm Numarasını Engelle
  • Zaman damgası
  • Nonce
  • Madencilik Zorluk Hedefi
  • Önceki Blok Karması

Daha iyi anlamak için aşağıdaki şemaya bir göz atalım. Dan alınır Bitcoin teknik raporu kendisi.

Başlık: Bitcoin’deki Merkle ağaçları

Gördüğünüz gibi, madencilerin işlemleri bloğa dahil etmeleri gerekiyor. Bir kez yapıldığında, karma hale getirilir ve Merkle ağacının bir parçası olur..

Merkle Ağaçlarının bu şekilde kullanılması birçok faydaya yol açabilir. Bu, dikkate değer bir avantajı, yani Basit Ödeme Doğrulaması’nı (SPV) içerir. Bu SVP’ler, hafif istemciler olarak da adlandırılabilecek düğümlerdir. Peki ne yapıyorlar? En uzun zincir blok başlıklarını indirirler ve bu nedenle tüm blok zincirini indirmek zorunda kalmazlar. Bunların hepsini yapmak için, en uzun zincir için depolanan blok başlıklarına sahip olup olmadığını doğrulamaları gerekir. Bitcoin’de Merkle ağacı uygulaması bu şekilde yapılır.

Sonunda, bir SPV, Merkle Proof of Map’i kullanabilir ve Merkle ağacının kök karmasını kullanarak bir işlemi doğrulayabilir.. 

Ethereum’da Merkle Ağaçları Nasıl Kullanılır?

Ethereum blockchain ayrıca Merkle ağaçlarını kullanır. Bununla birlikte, buradaki yaklaşım, bitcoin’in onu nasıl kullandığından farklıdır. Ethereum’da, Merkle ağacının karmaşık bir versiyonu olan Merkle Patricia Ağacı kullanılır. Bu mümkün çünkü Ethereum Turing tamamlandı.

Merkle ağaçlarının Ethereum’da nasıl çalıştığı hakkında daha fazla bilgi edinmek istiyorsanız, ayrıntılı gönderiye göz atın. İşte.

Diğer Merkle Ağaçları Uygulaması: Kullanım Örnekleri

Elbette, orada başka Merkle ağaçları uygulaması da var. En popüler olanlardan biri, dağıtılmış bir sürüm kontrol sistemi olan Git’tir. Dünyanın her yerinden programcılar tarafından projelerini yönetmek için kullanılır.. 

Başka bir faydalı uygulama şu şekildedir: Gezegenlerarası Dosya Sistemi – eşler arası dağıtılmış bir protokol. Aynı zamanda açık kaynaklıdır ve bilgi işlem cihazlarının her yerde bulunan bir dosya sistemine katılmasını ve kullanmasını sağlar..

Sertifika yetkilileri bile Merkle ağaçlarını kendi avantajları için kullanıyor. Doğrulanabilir sertifika şeffaflığı günlükleri oluşturmak için mekanizmada kullanırlar. Günlük çok büyük olduğundan, Merkle ağaçları, bilgisayarların çok fazla zaman ve çaba harcamadan onu doğrulamasını sağlar..

Tartışacağımız son kullanım örneği, Amazon DynamoDB ve Apache Cassandra gibi veritabanı sistemleridir. Bu No-SQL dağıtılmış veritabanları, veri çoğaltma işlemi sırasında Merkle ağaçlarını kullanarak tutarsızlıkların kontrolünü ele alır. Herhangi bir sorun varsa, anti-entropi onarım sürecini kullanarak verileri güncelleyebilir veya onarabilir.

Kısacası, Merkle ağaçları vakalarının kullanımı şunları içerir:

  • Veri senkronizasyonu
  • Veri doğrulama
  • Tutarlılık doğrulama

Merkle Trees faydaları

Bu bölümde, Merkle ağacının faydalarına hızlıca bir göz atacağız..

  • Verilerin bütünlüğünü doğrulayın: Verilerin bütünlüğünü doğrulamak için etkili bir şekilde kullanılabilir.
  • Çok az disk alanı kaplar: Merkle ağacı, diğer veri yapılarına kıyasla çok az disk alanı kaplar.
  • Ağlar arasında küçük bilgiler: Merkle ağaçları, doğrulama için küçük bilgilere bölünebilir.
  • Etkili doğrulama: Veri yapısı verimlidir ve verilerin bütünlüğünü doğrulamak sadece biraz zaman alır.

Sonuç

Merkle ağacı, bilgisayar bilimindeki önemli kavramlardan biridir. Birçok kullanım durumunda yaygın olarak kullanılmaktadır ve kripto para biriminde kullanılması devrim niteliğinde bir teknolojiye yol açmıştır – blok zinciri.

Peki, Merkle ağaçları hakkında ne biliyorsun? Aşağıya yorum yapın ve bize bildirin.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me