Title: Merkle trees ve Merkle roots Post by: Husires on September 06, 2020, 02:30:32 PM Feragatname: Bu eğitimdeki bilgiler, Merkle trees ve Merkle roots anlamamın bir sonucudur ve bazı hatalar içerebilir. Tüm bilgileri gözden geçirin ve doğru olduğundan emin olun. English Topic: https://bitcointalk.org/index.php?topic=5272933.msg55110498#msg55110498 İçindekiler 1. Merkle tree nedir? (#post_point1) 2. kripto Hash Fonksiyonları (#post_point2) 3. Merkle trees nasıl çalışır? (#post_point3) 4. Merkle trees Kullanımlar (#post_point4) 5. Neden Bitcoin'de kullanılıyor? (#post_point5) https://golden-storage-production.s3.amazonaws.com/topic_images/65e932e8ca3e4530aa764151b88d1ecd.png Source: Bitcoin whitepaper Merkle tree nedir? Merkle tree (ayrıca bir karma ağaç olarak da bilinir), her yaprak düğümünün bir veri bloğunun karması ile etiketlendiği ve yaprak olmayan her düğümün, alt düğümlerinin etiketlerinin karması ile etiketlendiği bir ağaçtır. Bir Merkle tree, yaprak olmayan her düğüm, alt düğümlerinin etiketlerinin karması (veya ağacın altındaki bir yaprağın değerinin karması) ile etiketlenir; bu, ağaçta yukarı çıktıkça kendini tekrar eden bir süreçtir. tek bir hash kaldı: Merkle root. Merkle root: bir blok zinciri ağındaki bir bloğun parçası olan tüm işlemlerin tüm karmalarının karmasıdır. Yapısı, bir gruptaki verileri verimli bir şekilde doğrulamak için kullanılır. Fikir, 1979'da Ralph C. Merkle tarafından yaratıldı ve patentlendi, patenti 2002'de sona erdi. kripto Hash Fonksiyonları Sabit boyutlu bir çıktıya sahip olmamızı sağlayan herhangi bir işlev, çünkü girdi için tamamen benzersizdir ve işlevin kendisi belirleyicidir. Ayrıca, önemli ölçüde depolama tasarrufu sağlar ve verimliliği artırmaya yardımcı olur. Misal: Code: girdi: H Merkle trees nasıl çalışır? diyelim ki 8GB'lık bir dosyanız var ve onu doğrulamak istiyorsunuz, böylece sahip olduğunuz hash'leri geliştiriciler tarafından halka açık hale getirilen hash ile eşleştiriyorsunuz, yani içindeki her dosya tüm verilerle eşleşiyorsa doğru dosyayı indiriyorsunuz, ama bunu nasıl yapacağız ? Son dosyaya gelene kadar her dosyayı ayrı ayrı karşılaştırabilirsiniz (bu nedenle 8GB'lık dosyaları karşılaştırmanız gerekir) ancak bu uzun zaman alacaktır. Merkle tree, çalışma süresini azaltan bir çözüm sunar. İlk olarak, büyük problemi daha küçük problemlere ayıracağız. 8GB'lık bir dosyaya sahip olmak yerine, onu sekiz parçaya böleceğiz. A'dan H'ye kadar farklı parçaları çağırın. Sonra her bölüm bize sekiz farklı hash veren bir hash fonksiyonundan geçirilir. Source: https://academy.binance.com/blockchain/merkle-trees-and-merkle-roots-explained Her çifti alıyoruz, karşılaştırıyoruz ve (hA + hB, hC + hD, hE + hF ve hG + hH) elde ediyoruz, sonra fonksiyonu alıp tekrarlıyoruz. Source: https://academy.binance.com/blockchain/merkle-trees-and-merkle-roots-explained Merkle trees Kullanımlar IPFS, Btrfs, ZFS dosya sistemleri, Bitcoin ve Ethereum ve Apache Cassandra, Riak ve Dynamo gibi bir dizi NoSQL sistemlerinde depolanan ve depolanan her türlü veriyi doğrulamak için kullanılabilir. Neden Bitcoin'de kullanılıyor? Blok başlıklarında bulunabilecekleri tüm bloklarda bulunurlar. SPV: Hepimiz kalıcı düğümlere bağlı cüzdanlara güveniyoruz ve tüm blok işlemlerini indirmek yerine, Merkle Kanıtı'na ihtiyacınız var - işleminizin belirli bir blokta olduğunu kanıtlayan bir düğüm tarafından sağlanan kanıt. Örneğin hB'yi doğrulamak için 7 adım yerine 3 adımla doğrulayabiliriz. HA'ya sahipsek, hAB üzerinde çalışabiliriz. HABCD'yi hCD ve hEFGH ile hesaplayabilmemiz için, elde edilen Merkle kökünün blok başlığındaki ile eşleştiğini doğrulayabiliriz. Sadece 3 adım. https://bitcoin.org/bitcoin.pdf (https://bitcoin.org/bitcoin.pdf) Madencilik: Bitcoin bloğu iki parçadan oluşur, Başlık (sabit boyutlu) ve bir işlem listesi (değişken boyutlu) Çoğu zaman, bloğun çoğu aynı kalır ve (nonce) değiştirilir. Sources Code: https://en.wikipedia.org/wiki/Merkle_tree |