Bitculator

Preuzmite Bitculator za Android

Tržišna kapitalizacija:

$2.74 T

Promet 24h:

$11.61 B

okt 03 Likvidacije:

$1.60 M

Registrujte se

Bitculator · Učenje

Double Hashing

Šta znači Double Hashing u kripto terminologiji?

# 258·Ažurirano okt 2026·3 min čitanja

Duplo heširanje je tehnika u kojoj se heš funkcija dva puta primenjuje na ulaz.

Šta je dvostruko heširanje?

Dvostruko heširanje podrazumeva da podatke propustite kroz heš dva puta, često koristeći istu funkciju, a ponekad dve različite. Rezultat je novi otisak koji je i dalje kratak i fiksne dužine, ali ima dodatni sloj zaštite. Zamislite to kao zaključavanje kofera, pa stavljanje tog kofera u drugi kofer koji takođe zaključate.


Mit

„Dvostruko heširanje uvek znači dvostruku bezbednost.“ Ne baš. Ono prvenstveno pomaže u odbrani od određenih napada i ograničenja u dizajnu, a u nekim sistemima bira se zbog jednostavnije implementacije, a ne zato što magično udvostručuje bezbednost.


Kako funkcioniše dvostruko heširanje

Evo kratkog primera koji prati logiku Bitcoina. Ukratko i jasno.

  1. Korak 1: Počinjete sa podacima, kao što su zaglavlje bloka ili transakcija.
  2. Korak 2: Propustite ih kroz kriptografsku heš funkciju da biste dobili sažetak.
  3. Korak 3: Ponovo heširate taj sažetak. Možete koristiti istu ili drugu funkciju, u zavisnosti od dizajna.
  4. Korak 4: Konačni sažetak koristite kao identifikator, na primer kao ID transakcije (TxID) ili heš zaglavlja bloka za proof of work.
  5. Korak 5: Svako može da proveri rezultat tako što će ponoviti oba heširanja i uporediti ih. Brzo, deterministički i gotovo.

To je dvostruko heširanje na delu.


Zašto je dvostruko heširanje važno

Šta dobijate time, osim prava na hvalisanje?

  • Prednost: Dodatnu zaštitu od određenih klasa napada, kao što je napad proširenjem dužine kod nekih jednoproaznih postavki.
  • Kontekst: Podržava provere na nivou mreže koje učvršćuju nepromenljivost zapisa koji su izrudaren i široko provereni.
  • Relevantnost: Naići ćete na njega kod zaglavlja Bitcoin blokova, nekih formata adresa i brojnih biblioteka koje podrazumevano nude dvostruki SHA 256.

Savet

Kada testirate dvostruko heširanje, uporedite rezultat sa poznatim vektorima i obratite pažnju na redosled bajtova i kodiranje pre i posle svakog prolaza. Dovoljna je i najmanja nepodudarnost da krenete u lov na nepostojeće greške.


Ključne karakteristike dvostrukog heširanja

Najvažnije stvari koje treba da znate:

  • Slojevi: Dva prolaza dodatno i nezavisno sažimaju podatke.
  • Determinističnost: Isti ulaz svaki put daje isti izlaz, u oba prolaza.
  • Praktičnost: Lako se proverava u velikom obimu jer je svaki prolaz brz.

Kako se izračunava dvostruko heširanje?

Izračunate heš ulaza, a zatim ponovo heširate taj rezultat. Zapisano formulom:

H2(x) = H(H(x))

Primer iz Bitcoin sveta:

H2(x) = SHA 256(SHA 256(x))

Za adrese se često koristi kombinacija dve funkcije:

Hmix(x) = RIPEMD 160(SHA 256(x))

Varijacije

Ista ideja, različite varijante:

  • ista: Ista funkcija se koristi dva puta, na primer SHA 256, pa ponovo SHA 256.
  • kombinovana: Dve različite funkcije koriste se uzastopno, na primer SHA 256, pa RIPEMD 160.
  • za adresu: Bitcoin adrese heširaju javni ključ funkcijom SHA 256, pa zatim RIPEMD 160, što je klasična kombinacija dvostrukog heširanja.

Podsetnik

Izračunavanje dvostrukog heširanja je jednostavno, ali pazite na ulazne podatke. Razlike u redosledu bajtova, pravila popunjavanja i znakovi za novi red mogu da pokvare rezultat čak i kada vaš kod izgleda savršeno.


Primer

Bitcoin rudari računaju SHA 256 dva puta nad zaglavljem bloka, a čvorovi ponavljaju ista dva prolaza pre nego što prihvate blok.


Zanimljivost

Satoshi je delimično izabrao dvostruki SHA 256 za zaglavlja da bi ublažio napade zasnovane na proširenju dužine i sprečio da se različite komponente oslanjaju na jedan sirovi prolaz — uredno inženjersko rešenje koje je dobro odolelo vremenu.


Zaključak

Ukratko, dvostruko heširanje znači heširanje podataka dva puta radi pouzdanijih provera i čistijeg dizajna — mali dodatni korak na koji se veliki sistemi svakodnevno oslanjaju.

Da li smo nešto propustili?

Vaš doprinos nam pomaže da podaci budu tačni. Kontaktirajte nas ako je nešto netačno ili nedostaje.

Kontakt