Un hash este o amprentă digitală a datelor. Introduceți orice intrare într-o funcție hash și primiți înapoi un șir de caractere cu lungime fixă. Aceeași intrare produce întotdeauna același hash. Schimbați un caracter din intrare și hash-ul se schimbă complet. Această proprietate face ca hash-urile să fie utile pentru verificare. Puteți verifica dacă un fișier nu a fost modificat comparând hash-ul său cu o valoare bună cunoscută. Bitcoin folosește SHA-256. Ethereum folosește Keccak-256. Fiecare bloc conține hash-ul blocului anterior, care leagă lanțul.
Hash-urile sunt unidirecționale. Nu poți lucra înapoi de la un hash la intrarea originală. De aceea sunt folosite pentru parole și dovezi. Minerii concurează pentru a găsi un hash sub o anumită țintă. Ei modifică un nonce, hashează antetul blocului și verifică rezultatul. Procesul este de tip ghicire și verificare la scară largă. Găsirea unui hash valid dovedește că s-a lucrat. Verificarea acestuia nu necesită aproape niciun efort. Această asimetrie este fundamentul dovezii de lucru. Funcțiile hash sunt folosite și pentru a genera adrese de portofel și a verifica integritatea tranzacțiilor.
Proprietățile funcției hash
- Determinist — aceeași intrare dă întotdeauna aceeași ieșire
- Calcul rapid — verificarea este ieftină
- Rezistent la preimagine — nu se poate inversa hash-ul
- Efect de avalanșă — o mică modificare a intrării, o ieșire complet diferită
Un hash nu este o criptare. Este un digest unidirecțional. Nu există cheie și nici modalitate de decriptare.
Comments
No comments yet. Be the first to share a thought.
Leave a comment