Jak funguje hashování a k čemu je dobré?
Hash je výsledkem hashovacích algoritmů/funkcí (en. Hashing algorithm). Je to vlastně matematická operace, která změní vámi vložená data na kód tvořený číslicemi a písmeny o určité délce. Hash (česky haš) je vlastně něco jako digitální “ otisk prstů” vašich dat. Tato vložená data mohou být jakéhokoliv formátu — video, text, obrázek, audio, apod.
Víte, že je možné nahrát na blockchain film, dlouhé texty a videa? Vzhledem k poplatkům se však nic takového už nevyplatí.
Díky hashům je zajištěna anonymita vkládaných dat a nezměnitelnost jejich obsahu. Je to především proto, že nikdo není schopen z hashe poskládat obsah těchto vkládaných dat. Pro jednotlivé počítače mnohem rychlejší a efektivnější pracovat se samotnými hashi než s celými soubory dat. Díky hashům lze také rychle ověřovat, zda ve vložených datech proběhla nějaká nevyžádaná změna. Tak je zabezpečena i integrita záznamů.
Kryptografické hashovací funkce se používají při zabezpečování informací. Pokud jde o blockchain jednotlivých kryptoměn, tak jsou nezbytnou součástí procesu těžení a hrají roli při generování adres peněženek, což jsou zahashované veřejné klíče.
Existuje rozdíl mezi šifrováním a hashováním. V rámci šifrování jste schopni zreprodukovat obsah, protože je to založené na tom, že nějaká data zašifrujete a poté dešifrujete (encryption and decryption). K těmto zašifrovaným informacím se dostanete, pokud k nim máte klíč. Jak už bylo zmíněno výše, díky hašování nejste schopni obsah vkládaných dat vůbec zreprodukovat, přesto si můžete díky hashům ověřovat, zda se jedná o identická nebo pozměněná data. Bezpečnostní funkčnost některých typů hashů byla v minulosti nabourána. Byl to například SHA 1. Ten nejznámější, který se váže k Bitcoinovému blockchainu, je SHA 256. Ethereum používá SHA 3 – takzvaný Keccak. Oba tyto algoritmy zatím nebyly prolomeny.
Co je hashrate?
Hashrate je množství vytvořených (spočtených) hashů za sekundu. Ukazuje to na množství aktivity blockchainu jednotlivé kryptoměny. Je-li hashrate vysoký, znamená to, že těžaři mají hodně práce ⛏️ Je to ostatně dobře, jelikož velká aktivita těžařů chrání systém například před 51% útokem.
V jakých situacích se hash vyskytuje?
- webové stránky ověřují správnost vašeho hesla (vaše heslo nevidí, ale pracuje s hashem, který byl z vašeho hesla vytvořen)
- při podepisování digitálního dokumentu elektronickým podpisem
- těžař “podepisuje” vytěžení kryptoměny
- těžař zapisujete transakci do bloku
- těžař uzavřete blok
- hash nového bloku obsahuje hash toho předchozího
- Každá transakce zapsaná v blockchainu je vlastně převedena do hashe
Hashování a hashe se vyskytuje obecně všude tam, kde se zpracovává obrovské množství informací v databázích.
Praktická ukázka hashování – zkuste si to ! 🥼🔬
Chcete si hash “osahat” na vlastním pc? Je to jednoduché, můžete vidět hash jakéhokoliv vašeho souboru.
Windows 💻
Přejeďte myší na soubor, stiskněte pravé tlačítko myši a v rozbalené nabídce vyberte CRC SHA, pak SHA 256.
macOS 💻
Najděte a otevřete si program Terminal. Napište do něj shasum -a 256 (“shasummezerapomlčkapísmenoamezera256”) a přetáhněte do něj soubor.
Vyzkoušejte jeden experiment:
- uložte si někde hash všeho jpg./png. nebo textového souboru
- otevřete si jej v malování a vložte do něj miniaturní tečku, nebo v textovém
- dokumentu vymažte třeba jednu mezeru v textu
- soubor uložte a koukněte se na hash souboru znovu
Ty dva hashe jsou úplně jiné, že? Je to proto, že jakákoliv změna vložených dat mění samotný soubor.
A pokud chcete experimentovat ještě trochu, zkuste tentokrát pouze změnit název souboru. Změní se hash souboru nebo ne?…😏
Dominika