Bitcoin Forum
November 14, 2024, 02:33:18 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Merkle trees ve Merkle roots  (Read 125 times)
Husires (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1288


View Profile WWW
September 06, 2020, 02:30:32 PM
Merited by Bthd (1)
 #1


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?
      2. kripto Hash Fonksiyonları
      3. Merkle trees nasıl çalışır?
      4. Merkle trees Kullanımlar
      5. Neden Bitcoin'de kullanılıyor?


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
Çıktı: 44bd7ae60f478fae1061e11a7739f4b94d1daf917982d33b6fc8a01a63f89c21

girdi: Husires
Çıktı: 198d93f2c0bff9767d4cdc047f2191b0921d81e410c10c0744311fadfdb516f9

girdi: Today is 1/9/2020 and i used my username: Husires
Çıktı: 2afbf1c88e101259002a592dbcc9340af2f0fa8f51a06e77910b6aca63a97c0c

girdi: Today is 1/9/2020 and i used my username: Husires
Today is 1/9/2020 and i used my username: Husires
Today is 1/9/2020 and i used my username: Husires
Today is 1/9/2020 and i used my username: Husires
Today is 1/9/2020 and i used my username: Husires
Çıktı: 43a322d0eb09caaf26762ae18a369f5e8e06ac32c9e6a0d9fb4972aa53654db8


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.


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.



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

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
https://brilliant.org/wiki/merkle-tree/
https://www.youtube.com/watch?v=fB41w3JcR7U
https://golden.com/wiki/Merkle_tree-W3DMKV
https://academy.binance.com/blockchain/merkle-trees-and-merkle-roots-explained
https://blockonomi.com/merkle-tree/
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!