Funkcja hashująca (też: funkcja haszująca, funkcja skrótu, ang. hash function) to algorytm, który zamienia dane dowolnej wielkości – słowo, plik, transakcję, cały blok – w ciąg o stałej długości, zwany hashem lub skrótem. Sam wynik i jego rolę w blockchainie opisuje hasło Hash. Tutaj chodzi o mechanizm: jak działa funkcja, jakie są algorytmy, które z nich są już złamane i gdzie – także poza krypto – od nich zależy Twoje bezpieczeństwo.
Jak to wygląda w praktyce
Funkcja SHA-256, używana w Bitcoinie, zawsze zwraca 256 bitów, zapisywanych jako 64 znaki szesnastkowe. Zobacz, co się dzieje przy minimalnej zmianie danych wejściowych:
| Dane wejściowe | SHA-256 |
|---|---|
| blogprezesa | 6709e4f3552fd20c5925bd2b6cdffb9fc4504d97432bff6971cebcc10a9b10a0 |
| blogprezesb | 0ec1fff8622c667f84cb79573cefc5d0be82e4a6f3021796abbc2468d67d780c |
| Blogprezesa | 9ec0f84e43769ded1ef528fcd68bcb17a10cedd1c03dd9c49b3069c77f350e43 |
Zmiana jednej litery albo wielkości jednej litery daje zupełnie inny wynik. To tzw. efekt lawinowy. Skrót całej książki i skrót jednego słowa mają tę samą długość.
Cechy kryptograficznej funkcji hashującej
| Cecha | Co oznacza | Co by się stało bez niej |
|---|---|---|
| Deterministyczność | te same dane zawsze dają ten sam skrót | nie dałoby się niczego zweryfikować |
| Jednokierunkowość | ze skrótu nie odtworzysz danych | z bazy skrótów haseł dałoby się odczytać hasła |
| Odporność na kolizje | nie da się znaleźć dwóch danych o tym samym skrócie | można by podmienić plik lub transakcję na inną o tym samym skrócie |
| Efekt lawinowy | drobna zmiana danych zmienia cały skrót | z podobieństwa skrótów dałoby się zgadywać dane |
Skala liczb pokazuje, dlaczego zgadywanie nie działa. Możliwych wyników SHA-256 jest 2256, czyli liczba 78-cyfrowa. Nawet cała moc obliczeniowa sieci Bitcoin nie zbliża się do przeszukania takiej przestrzeni.
Najważniejsze algorytmy
| Algorytm | Długość skrótu | Zastosowanie i status |
|---|---|---|
| MD5 | 128 bitów | złamany – znane kolizje; tylko do prostych sum kontrolnych |
| SHA-1 | 160 bitów | złamany – praktyczna kolizja pokazana w 2017 roku |
| SHA-256 | 256 bitów | Bitcoin (kopanie, identyfikatory transakcji, bloki) |
| RIPEMD-160 | 160 bitów | Bitcoin – w połączeniu z SHA-256 przy tworzeniu części adresów |
| Keccak-256 | 256 bitów | Ethereum – adresy, identyfikatory, smart kontrakty |
| bcrypt, Argon2 | różna | przechowywanie haseł – celowo wolne |
Gdzie jeszcze działają funkcje hashujące
W blockchainie funkcje hashujące odpowiadają za kopanie, łączenie bloków i identyfikatory transakcji – to opisuje hasło Hash. Równie ważne są zastosowania, z którymi inwestor styka się poza łańcuchem bloków:
- Hasła do kont – uczciwy serwis nie przechowuje Twojego hasła, tylko jego skrót z dodatkiem losowej „soli”. Przy logowaniu liczy skrót jeszcze raz i porównuje wyniki.
- Podpisy cyfrowe – podpisuje się nie cały dokument czy transakcję, tylko ich skrót. Dlatego słaba funkcja hashująca osłabia też podpis.
- Zapytania do API giełd – bot podpisuje każde zapytanie kodem HMAC, zwykle opartym na SHA-256 i kluczu Secret Key. Giełda liczy to samo po swojej stronie i sprawdza, czy zapytanie nie zostało zmienione po drodze.
- Sumy kontrolne plików – pozwalają sprawdzić, czy pobrany program jest tym, który opublikował producent.
Praktyczne zastosowanie: weryfikacja pobranego portfela
Producenci portfeli i oprogramowania publikują sumy kontrolne SHA-256 plików instalacyjnych. Po pobraniu możesz policzyć skrót pliku u siebie – w Windows poleceniem certutil -hashfile nazwa_pliku SHA256, w macOS i Linuksie poleceniem shasum -a 256 nazwa_pliku – i porównać go z opublikowanym. Jeśli różni się choćby jeden znak, plik został zmieniony lub uszkodzony i nie wolno go instalować. To prosta ochrona przed podrobionymi aplikacjami portfeli.
Najczęstsze błędy
- Mylenie hashowania z szyfrowaniem – szyfrowanie da się odwrócić kluczem, hashowania nie.
- Przekonanie, że krótkie lub popularne hasło jest bezpieczne, bo „jest zahashowane” – takie hasła łamie się słownikami gotowych skrótów.
- Używanie MD5 lub SHA-1 do celów bezpieczeństwa.
- Porównywanie tylko kilku pierwszych znaków sumy kontrolnej.
Perspektywa tradera
Trader nie musi liczyć skrótów, ale korzysta z nich codziennie: identyfikator transakcji to dowód wpłaty w sporze z giełdą, a suma kontrolna chroni przed zainstalowaniem fałszywego portfela lub terminala. Warto też rozumieć, że cała wartość Bitcoina opiera się na tym, że SHA-256 pozostaje niezłamana. Ryzyko takie jak przyszłe komputery kwantowe dotyczy przede wszystkim podpisów cyfrowych, a funkcje hashujące uważa się za znacznie bardziej odporne.
Najczęstsze pytania
Czym różni się funkcja hashująca od hasha?
Funkcja hashująca to algorytm, a hash to jego wynik – konkretny skrót danych.
Czy da się odwrócić hash?
Dobrej funkcji kryptograficznej nie da się odwrócić. Można jedynie zgadywać dane wejściowe i porównywać skróty – działa to tylko przy krótkich lub przewidywalnych danych, np. słabych hasłach.
Czy dwa różne pliki mogą mieć ten sam hash?
Teoretycznie tak, bo danych jest nieskończenie wiele, a skrótów skończenie wiele. Dla SHA-256 znalezienie takiej pary jest jednak praktycznie niewykonalne. Dla MD5 i SHA-1 kolizje już znaleziono.
Jakiej funkcji hashującej używa Bitcoin?
Głównie SHA-256, w kopaniu i identyfikatorach transakcji stosowanej dwukrotnie. Przy tworzeniu części adresów używa się też RIPEMD-160. Ethereum korzysta z Keccak-256.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


