Дерево Меркла

Приклад бінарного дерева гешування. Геші 0-0 і 0-1 це геші блоків даних L1 і L2, відповідно. Геш 0 — це геш об'єднання Гешів 0-0 і 0-1.

Дерево Меркла (геш-дерево, tiger tree tashing, англ. Merkle tree) є особливою структурою даних, яка містить підсумкову інформацію про якийсь більший обсяг даних. Використовується для перевірки цілісності даних.

Дані поділяються на малі частини (блоки), які індивідуально гешуються за допомогою Leaf Tiger Hash, потім з кожної пари гешів по черзі обчислюється Internal Tiger Hash. Якщо до гешу немає пари, то він переноситься в новий ланцюжок без змін. Далі в ланцюжку для кожної пари знову обчислюється Internal Tiger Hash. Ця процедура повторюється до тих пір, поки не залишиться один геш. Цей один геш, що залишився, називають Tiger Tree Root. Саме його використовують для однозначної ідентифікації файлу і вказують у різних P2P посиланнях.

Level		Tiger Tree Root
|                   /
0:            --- 21 -- -------\            
             /         \        \
1:       - 20 -         19 ------\
        /      \         \        \
2:    17        18        19 ------ Internal Tiger Hashes
     /  \      /  \      /  \     /   
3:  12   13   14   15   16  11 --/
    /\   /\   /\   /\   /\   \
4: 1  2 3  4 5  6 7  8 9 10  11 ---  Leaf Tiger Hashes

Використання

Геш-дерева використовуються для перевірки даних, що зберігаються, обробляються та передаються в комп'ютерах та між ними. Забезпечують перевірку на цілісність та достовірність даних та окремих блоків, що передаються між вузлами peer-to-peer мережі. Геш-дерева застосовуються в системах довіреного завантаження[1]. Геш-дерева також використовуються в геш-криптографії[en].

Геш-дерева використовуються у файлових системах IPFS, Btrfs та ZFS[2] для протидії Деградації даних[3], програмі розповсюдження даних Dat, протоколі Google Wave[4], розподіленій системи керування версіями Git та Mercurial, резервній системі Tahoe-LAFS[en], однорангових мережах Bitcoin та Ethereum[5], фреймворку прозорості сертифікатів[en], системах Riak та Dynamo[en][6].

Початкова реалізація дерева Меркла у Bitcoin від Сатосі Накамото застосовує крок стиснення геш-функції до надмірного рівня, що полегшує використання дерев типу Fast Merkle[7].

Огляд

Дерево гешів це двійкове дерево гешів, в якому листи є геш-блоками даних, наприклад, файлу або набору файлів. Верхні вузли дерева є гешами своїх «дітей». Наприклад, на зображенні hash 0 є результат гешування конкатенації hash 0-0 та hash 0-1. Тобто, hash 0 = hash (hash 0-0 + hash 0-1), де + означає конкатенацію.

Більшість реалізацій геш-дерев є двійковими (два дочірні вузли під кожним вузлом), але вони можуть використовувати також і багато інших дочірніх вузлів під кожним вузлом.

Як правило, для гешування використовується криптографічна геш-функція, така як SHA-2. Якщо геш-дерево потребує лише захисту від ненавмисного пошкодження, може бути використана необов'язкова контрольна сума, така як CRCs.

У верхній частині геш-дерева є верхній геш (або root hash, або master hash). Перш ніж завантажувати файл у мережу P2P, в більшості випадків верхній геш отримується з надійного джерела, наприклад, вебсайту, який, як відомо, має хороші рекомендації щодо завантаження файлів. Коли доступний верхній геш, геш-дерево може бути отримано з будь-якого неперевіреного джерела, як і будь-який рівноправний вузол у мережі P2P. Потім отримане геш-дерево порівнюється з перевіреним верхнім гешем, а якщо дерево гешування пошкоджене або підроблене, буде братися інше дерево гешу з іншого джерела, поки програма не знайде той, який дорівнює верхньому гешу.

Основна відмінність від геш-таблиці полягає в тому, що одна гілка геш-дерева може бути завантажена у необхідний час, а цілісність кожної гілки може бути перевірена негайно, навіть якщо все дерево ще недоступне. Наприклад, на зображенні цілісність блоку даних L2 можна перевірити негайно, якщо дерево вже містить hash 0-0 і hash 1, гешувавши блок даних і послідовно поєднуючи його результат з hash 0-0, а потім hash 1 і, нарешті, порівняння результату з top hash. Аналогічним чином, цілісність блоку даних L3 можна перевірити, якщо в дереві вже є hash 1-1 і hash 0. Це є перевагою, оскільки необхідно розбивати файли в дуже малих блоках даних, так що лише невеликі блоки повинні бути повторно завантажені, якщо вони пошкоджені. Якщо геш-файл дуже великий, таке геш-дерево або геш-список стає досить великим. Але якщо це дерево, можна швидко завантажити одну невелику гілку, можна перевірити цілісність гілки, а потім завантажувати блоки даних.

Друга атака знаходження першовзору

Merkle root hash не вказує на глибину дерева, застосувавши атаку знаходження першовзору, в якому зловмисник створює документ, відмінний від оригіналу, який має той же Merkle hash root. У наведеному вище прикладі зловмисник може створити новий документ, що містить два блоки даних, де в першому є hash 0-0 + hash 0-1, а другий — hash 1-0 + hash 1-1.

Одне просте рішення визначається в фреймворку прозорісті сертифікатів[en]: при обчисленні геш-вузлів листів, до геш-даних додано 0x00 байт, тоді як при обчисленні внутрішніх геш-вузлів додано 0x01. Обмеження розміру дерева геш-елементів є обов'язковою умовою деяких формальних підтверджень безпеки[en], і допомагає зробити деякі докази жорсткішими. Деякі реалізації обмежують глибину дерева, використовуючи префікси глибини дерева гешу до гешей, тому будь-який витягнутий геш-ланцюг визначається як дійсний, лише якщо префікс зменшується на кожному кроці і залишається позитивним, коли лист досягнуто.

Tiger геш-дерево (TTH)

Tiger геш-дерево є широко використовуваною формою геш-дерева. Він використовує двійкове геш-дерево (два дочірні вузли під кожним вузлом), зазвичай має розмір блоку даних 1024 байт і використовує Tiger hash.[8]

Tiger геш-дерево використовуються в Gnutella та Direct Connect P2P, Phex[en] та DC ++[en][9] .

Приклади

Base32: RBOEI7UYRYO5SUXGER5NMUOEZ5O6E4BHPP2MRFQ

URN: urn:tree:tiger:RBOEI7UYRYO5SUXGER5NMUOEZ5O6E4BHPP2MRFQ

Magnet-посилання: magnet:?xt=urn:tree:tiger:RBOEI7UYRYO5SUXGER5NMUOEZ5O6E4BHPP2MRFQ

Див. також

Примітки

  1. Kilian, J. (1995). Improved efficient arguments (preliminary version). CRYPTO.
  2. Bonwick, Jeff. ZFS End-to-End Data Integrity. Jeff Bonwick's Blog. Архів оригіналу за 6 травня 2017. Процитовано 6 січня 2018.
  3. Likai Liu. Bitrot Resistance on a Single Drive. likai.org. Архів оригіналу за 8 квітня 2018. Процитовано 6 січня 2018.
  4. General Verifiable Federation. Google Wave Protocol. Архів оригіналу за 28 вересня 2013. Процитовано 6 січня 2018.
  5. Koblitz, Neal; Menezes, Alfred J. (January 2016). Cryptocash, cryptocurrencies, and cryptocontracts. Designs, Codes and Cryptography. 78 (1): 87—102. doi:10.1007/s10623-015-0148-5.
  6. Adam Marcus. The NoSQL Ecosystem. aosabook.org. Архів оригіналу за 8 квітня 2018. Процитовано 6 січня 2018. When a replica is down for an extended period of time, or the machine storing hinted handoffs for an unavailable replica goes down as well, replicas must synchronize from one another. In this case, Cassandra and Riak implement a Dynamo-inspired process called anti-entropy. In anti-entropy, replicas exchange Merkle trees to identify parts of their replicated key ranges which are out of sync. A Merkle tree is a hierarchical hash verification: if the hash over the entire keyspace is not the same between two replicas, they will exchange hashes of smaller and smaller portions of the replicated keyspace until the out-of-sync keys are identified. This approach reduces unnecessary data transfer between replicas which contain mostly similar data.
  7. Mark Friedenbach: Fast Merkle Trees. Архів оригіналу за 26 січня 2022. Процитовано 6 січня 2018.
  8. Chapweske, J.; Mohr, G. (4 березня 2003). Tree Hash EXchange format (THEX). Архів оригіналу за 3 серпня 2009.
  9. DC++'s feature list. dcplusplus.sourceforge.net. Архів оригіналу за 13 січня 2018. Процитовано 6 січня 2018.

Посилання

Read other articles:

artikel ini tidak memiliki pranala ke artikel lain. Tidak ada alasan yang diberikan. Bantu kami untuk mengembangkannya dengan memberikan pranala ke artikel lain secukupnya. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Februari 2023. Topik arti...

 

 

Barney VisserLahir1949 (umur 74–75)KebangsaanAmerika SerikatPekerjaanPendiri Furniture Row Pemilik dan prinsipal Furniture Row Racing Barney Visser (lahir tahun 1949) merupakan seorang pengusaha, pemilik tim balap dan veteran Perang Vietnam. Ia merupakan pendiri dan pemilik perusahaan mebel Amerika Serikat Furniture Row sekaligus juga prinsipal tim balap NASCAR Seri Piala, Furniture Row Racing.[1] Ia tinggal di Denver, Colorado yang juga menjadi kantor pusat untuk seluruh ...

 

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Penggaraman mentega di Briarcliff Farms, Briarcliff Manor, New York, 1906 Garam susu adalah sebuah produk garam yang dipakai untuk mengolah produk mentega dan keju yang disajikan untuk memberikan rasa dan pengaruh.[1][2][3] Gara...

UniCredit S.p.A.Kantor pusat. Torre Unicredit, MilanNama dagangUniCredit GroupSebelumnyaUniCredito ItalianoJenisPublikKode emitenBIT: UCGFWB: CRITemplat:WSEKomponen FTSE MIBISINIT0005239360IndustriJasa keuanganPendahuluUnicreditoCredito ItalianoCapitaliaDidirikan1998; 26 tahun lalu (1998)KantorpusatMilan, ItaliaTokohkunciPier Carlo Padoan (Chairman)Andrea Orcel (CEO)ProdukPerbankan ritel dan privatPerbankan korporat dan investasiSewa guna usahaAnjak piutangAsuransi (melalui joint ve...

 

 

WrestleMania XXVI Poster menampilkan (dari kiri ke kanan) Shawn Michaels, Triple H, John Cena, The Undertaker dan Batista Tema Destruction in the Desert Get All Fired Up. Lagu Tema I Made It (Cash Money Heroes) oleh Kevin Rudolf feat. Birdman, Jay Sean dan Lil Wayne Thunderstruck oleh AC/DC Be Yourself oleh Audioslave The Show oleh Since October Detail Promosi WWE Tanggal 28 Maret, 2010 Tempat Stadion Universitas Phoenix Kota Glendale, Arizona Kehadiran 72,219 Kronologi Bayar-Per-Tayang Elim...

 

 

Church in New York City, United StatesSt. Nicholas of Tolentine ChurchLocationFordham Road and University Avenue, Bronx, New York CityCountryUnited StatesDenominationCatholic ChurchReligious instituteOrder of Saint AugustineHistoryDedicationNicholas of TolentineDedicatedSeptember 15, 1907ArchitectureFunctional statusActiveArchitect(s)Delaney, O'Connor & Schultz (for 1927 church)[1]StyleCollegiate Gothic Gothic RevivalAdministrationArchdioceseArchdiocese of New YorkClergyArchbishop...

Television station in the U.S. Virgin Islands (1961–1989) WBNB-TVCharlotte Amalie, U.S. Virgin IslandsChannelsAnalog: 10 (VHF)ProgrammingAffiliationsCBS (1961–1989)NBC (secondary, 1961–1983)NET (secondary, 1961–1970)OwnershipOwnersee § OwnershipHistoryFounded1960 (1960)First air dateJuly 22, 1961 (1961-07-22)Last air dateSeptember 17, 1989 (1989-09-17)(28 years, 57 days)Call sign meaningBob and Bob (Bob Noble and Bob Moss, station co-...

 

 

† Египтопитек Реконструкция внешнего вида египтопитека Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:Четвероно...

 

 

Study of how public institutions and individual experiences affect education and its outcomes Moments from Wikimedia+Education Conference 2019 Part of a series onSociology History Outline Index Key themes Society Globalization Human behavior Human environmental impact Identity Industrial revolutions 3 / 4 / 5 Social complexity Social construct Social environment Social equality Social equity Social power Social stratification Social structure Perspectives Conflict theory Critical theory Struc...

1978 single by Skyhooks Women in UniformSingle by Skyhooksfrom the album Guilty Until Proven Insane B-sideDon't Take Yur Lurex to the LaundromatDo the HookReleasedFebruary 1978Recorded1978GenreGlam rock[1]Length4:21LabelMushroom RecordsSongwriter(s)Greg MacainshProducer(s)Eddie LeonettiSkyhooks singles chronology Party to End All Parties (1977) Women in Uniform (1978) Megalomania (1978) Women in Uniform is a 1978 song by the Australian band Skyhooks; it was written by the band's bass ...

 

 

التهاب الخصية الموجات فوق الصوتية الدوبلرية من الصفن، في المستوى المحوري، تظهر التهاب الخصيةالموجات فوق الصوتية الدوبلرية من الصفن، في المستوى المحوري، تظهر التهاب الخصية معلومات عامة الاختصاص طب الجهاز البولي  من أنواع مرض صفني،  ومرض التهابي  [لغات أخرى]‏...

 

 

German economist (1930–2016) Reinhard SeltenSelten in 2001BornReinhard Justus Reginald Selten(1930-10-05)5 October 1930Breslau, Weimar Germany Wrocław, Poland)Died23 August 2016(2016-08-23) (aged 85)Poznań, PolandNationalityGermanEducationGoethe University FrankfurtKnown forGame theoryAwardsNobel Memorial Prize in Economic Sciences (1994)Scientific careerFieldsEconomicsInstitutionsUniversity of BonnTechnical University of Berlin[1]Doctoral advisorWolfgang FranzDoctoral s...

Chad KroegerKroeger tampil pada 2016LahirChad Robert Turton15 November 1974 (umur 49)Hanna, Alberta, KanadaPekerjaan Musisi penyanyi pencipta lagu produser musik Tahun aktif1995–sekarangSuami/istriAvril Lavigne ​ ​(m. 2013; c. 2015)​ Chad Robert Kroeger /ˈkruːɡər/[1] (né Turton; lahir 15 November 1974) adalah penyanyi, penulis lagu, musisi, dan produser Kanada. Ia dikenal sebagai vokalis utama dan gitaris band rock Nick...

 

 

Lightweight antisubmarine torpedoMk 46 is also the designation of the Mk 46 Mod 0 variant of the M249 light machine gun Mark 46 torpedo A Mk 46 exercise torpedo launched from USS Moosbrugger.TypeLightweight anti-submarine torpedo[1]Place of originUnited StatesService historyIn service• Mod 0: 1963[1]• Mod 5: 1979Used bySee operatorsProduction historyDesignerNaval Ordnance Test Station Pasadena[1]Aerojet[1]Alliant TechsystemsDesigned...

 

 

Political party in the Faroe Islands The Faroese People's Party – Radical Self-Government Hin føroyski fólkaflokkurin – radikalt sjálvstýriLeaderBeinir JohannesenFounded1939Merger ofBusiness Party with a faction of the Self-Government PartyHeadquartersJónas Broncksgøta 29100 TórshavnYouth wingHUXAIdeologyConservatism[1][2]Social conservatism[3]Economic liberalism[2]Faroese independence[2]Political positionCentre-right[4]...

1702 battle of the Mughal-Sikh Wars Battle of BasoliPart of Mughal-Sikh Wars and Hill States-Sikh WarsDate1702LocationBasoli, Kathua District, Jammu and Kashmir.Result Sikh victory[1][2]Belligerents Khalsa (Sikhs) Mughal Empire Kahlur StateGuler StateJammu StateBahu StateCommanders and leaders Guru Gobind SinghBhai Daya SinghBhai Dharam SinghBhai Mohkam SinghBhai Himmat SinghBhai Sahib SinghSahibzada Ajit Singh Wazir KhanRaja Ajmer ChandRaja Dalip Singh of GulerRaja Gaje Singh...

 

 

Economy of ArkansasState quarterStatisticsGDP$176.24 billion[1]GDP per capita$54,347[2]Population below poverty line19.1%[3]Gini coefficient0.4773[4]Labor force1,349,512[5]Unemployment4.0%[6]Public financesRevenues$4,604 million[7]Expenses$4,604 million[7] The economy of Arkansas produced $176.24 billion of gross domestic product in 2023.[1] Six Fortune 500 companies are based in Arkansas, including the world's #1 corpor...

 

 

Film production company This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: BBC Film – news · newspapers · books · scholar · JSTOR (August 2023) (Learn how and when to remove this message) BBC FilmFormerlyBBC Films (1990–2020)IndustryFilmFounded18 June 1990; 33 years ago (18 June 1990)FoundersDavi...

Collection of finance from backers to fund an initiative Crowdfunding is the practice of funding a project or venture by raising money from a large number of people, typically via the internet.[1][2] Crowdfunding is a form of crowdsourcing and alternative finance. In 2015, over US$34 billion was raised worldwide by crowdfunding.[3] Although similar concepts can also be executed through mail-order subscriptions, benefit events, and other methods, the term crowdfund...

 

 

Zilla diodia Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Arachnida Ordo: Araneae Famili: Araneidae Spesies: Zilla diodia Nama binomial Zilla diodiaWalckenaer, 1802 Zilla diodia adalah spesies laba-laba yang tergolong famili Araneidae. Spesies ini juga merupakan bagian dari ordo Araneae. Nama ilmiah dari spesies ini pertama kali diterbitkan pada tahun 1802 oleh Walckenaer. Laba-laba ini biasanya banyak ditemui di Eropa hingga Azerbaijan. Referensi Platnick, Norman I. (2010)...