Merkle Tree nedir?
Merkle Tree, büyük bir kayıt kümesini tek bir kısa parmak izine sıkıştıran bir veri yapısıdır. Tam listeyi kontrol etmek yerine sadece birkaç küçük parçayı doğrulayarak bir öğenin bu geniş listede olduğunu kanıtlamanızı sağlar. Her ebeveynin çocuklarının özetini tuttuğu ve hepsinin tek bir ataya kadar toplandığı bir soy ağacı hayal edin.
Merkle Tree tüm işlemleri kendisi “saklar.” Tam olarak değil. Sadece onların kompakt parmak izlerini tutar ve ağaç gerektiğinde ham kayıtlar kullanılarak yeniden oluşturulabilir.
Merkle Tree nasıl çalışır
Hızlı, doğrulanabilir bir özet gerektiren bir ödeme bloğu düşünün. Merkle Tree'nin basit anlatımı şu şekilde:
- Adım 1: İşlemler gibi öğelerden oluşan bir listeyle başlayın, her biri ağacın bir yaprağıdır.
- Adım 2: Her öğeyi bir hash fonksiyonu kullanarak kısa bir parmak izine dönüştürün.
- Adım 3: Yan yana olan parmak izlerini eşleştirin, her çifti birleştirip tekrar hashleyerek ebeveynlerini oluşturun.
- Adım 4: Tek bir üst parmak izi kalana dek eşleştirme ve hashleme işlemini tekrarlayın. Buna bu kümenin Merkle root'u denir.
- Adım 5: Bir öğenin kümede olduğunu kanıtlamak için sadece o öğe ve kardeş parmak izlerinden oluşan kısa bir yol gerekir. Hızlı ve küçük.
Fikir bu: küçük kanıtlar, yüksek güven.
Merkle Tree neden önemli
Büyük miktardaki işlem verisini tek bir kompakt parmak izinde özetleyerek, Merkle Tree doğrulamayı hızlı ve ucuz hale getirir.
- Avantaj: Tüm bloğu indirmeden dahil olma kontrolü yapabilirsiniz, böylece zaman ve bant genişliğinden tasarruf edersiniz.
- Bakış açısı: İnternetteki "güven ama doğrula" yaklaşımına uyuyor; lüks markalarla çevrimiçi forumların kesiştiği yerde.
- Kullanım alanları: Bitcoin bloklarında, Ethereum makbuzlarında, NFT izin listelerinde, airdroplarda ve rolluplarda karşınıza çıkar.
Yaprak sayısı tekse, birçok tasarım yukarıya hashleme yapmadan önce son yaprağı çoğaltır. Ayrıca zincirinizin veya kütüphanenizin kullandığı tam özetleme sürecini kontrol edin, çünkü küçük kural farkları kanıtları değiştirebilir.
Merkle Tree'nin Temel Özellikleri
İşte onu özel ve kullanışlı kılan özellikler:
- Verimlilik: Veri kümesi çok büyüse bile kanıtlar küçük kalır, bu sayede hafif istemciler hafif kalır.
- Bütünlük: Bir yapraktaki bir baytı değiştirin, değişiklik en tepeye kadar yayılır ve oynama kolayca fark edilir.
- Kök: Her şey tek bir Merkle root içinde toplanır; bu kök daha sonra saklanabilir veya imzalanabilir ve kontrol için kullanılabilir.
Çeşitleri
Merkle Tree'nin sık karşılaşacağınız birkaç popüler çeşidi var:
- İkili: Klasik çift tabanlı ağaç, Bitcoin bloklarında kullanılır.
- Merkle Patricia: Anahtar-değer verileri için trie tabanlı bir yapı, Ethereum durumunda ve makbuzlarda kullanılır.
- Seyrek: Çoğu yaprağın boş olduğu, büyük indeksli bir ağaç; üyelik ve üyelik dışı kanıtları kısa tutmak için uygundur.
- Verkle: Çok büyük dallanma için daha kısa kanıtlar sunan daha yeni bir tür, gelecekteki yükseltmeler için araştırılıyor.
Merkle Tree kanıtlarının güvenilirliği, kabul ettiğiniz başlık veya kontrol noktasına bağlıdır. Yanlış bir köke güvenirseniz, en temiz kanıt bile bir anlam taşımaz.
Örnek
Bitcoin tarzı bir hafif cüzdan, tüm işlem geçmişini indirmeden işleminizden blok başlığına kadar kısa bir hash yolunu kontrol ederek ödemenizi doğrulayabilir.
İlginç Bilgi
Ralph Merkle bu fikri yetmişlerin sonlarında bir öğrenci projesi olarak tasarladı ve Satoshi Bitcoin'de kullanana kadar akademik çevrelerde yıllarca kaldı. İyi fikirlerin zaman içinde değer kazandığına dair bir örnek.
Sonuç
Özetle? Merkle Tree, bir öğenin büyük bir kümede olduğunu hızlı ve küçük kanıtlarla gösterir; gereksiz büyütme yok, ağır indirmeler yok.
