Co je hashing a proč je důležitý pro Bitcoin

Bitcoin využívá hashovací funkci SHA-256

  • 5 min čtení
  • 3 kapitoly

Než se pustíme do samotného fungování těžby Bitcoinu, je potřeba pochopit jeden ze základních technických principů, na kterých kryptoměny stojí. Tímto principem je hashing.

Hashing je důležitou součástí kryptografie a hraje zásadní roli v Bitcoinu i dalších kryptoměnách. Přestože jde na první pohled o technické téma, základní princip je poměrně přímočarý. Do určité matematické funkce vložíme data libovolné délky a výsledkem je řetězec s předem danou, pevnou délkou.

Právě tento výsledný řetězec označujeme jako hash. Vstupem přitom může být prakticky cokoli – jedno písmeno, slovo, věta, celá stránka textu nebo mnohem větší množství dat. Délka výsledného hashe se však nemění podle velikosti vstupu, ale podle konkrétní hashovací funkce, která byla použita.

Hashing je součástí kryptografie, tedy oblasti zabývající se metodami zabezpečené komunikace a ochranou informací před nežádoucím přístupem. Právě od kryptografie pochází také výraz „crypto“ používaný ve slově kryptoměny.

Zdroj: Shutterstock

Porozumění hashování je důležité zejména proto, že tento mechanismus později pomáhá vysvětlit, jak funguje těžba Bitcoinu a další části jeho systému.

Hash převádí libovolná data na výstup pevné délky

Hashing můžeme zjednodušeně popsat jako proces, při kterém jsou vstupní data zpracována pomocí hashovací funkce. Výsledkem je hash, tedy alfanumerický řetězec s pevně stanovenou délkou.

Důležité je, že délka vstupu nemusí mít s délkou výsledku nic společného. Hashovací funkce dokáže zpracovat velmi krátký i velmi dlouhý vstup a v obou případech vytvoří výstup o stejné délce.

U hashovací funkce SHA-1 má například výsledný hash vždy 40 znaků. Nezáleží na tom, zda je vstupem jediné písmeno, slovo nebo delší text.

Například vstup „Hello“ vytvoří při použití SHA-1 následující hash:

f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

Vstup „BabyPips.com“ vytvoří:

8c8780d0b70c5ef42a534846cc042629cf07a440

A vstup „I“ vytvoří:

ca73ab65568cd125c2d27a22bbd9e863c10b675d

Přestože se všechny tři vstupy výrazně liší svou délkou, jejich výsledné hashe mají stále 40 znaků. Pevná délka tedy není určována velikostí vstupních dat, ale konkrétním algoritmem.

Jiné hashovací funkce mohou vytvářet výstupy o jiné délce. Princip však zůstává stejný. Data libovolné velikosti jsou převedena na výstup s přesně definovanou délkou.

Hash je zároveň úzce spojen s konkrétním vstupem. Pokud stejná data projdou stejnou hashovací funkcí opakovaně, výsledkem bude pokaždé stejný hash. Pokud bychom tedy slovo „Hello“ zpracovali funkcí SHA-1 milionkrát, výsledkem bude vždy stejný řetězec.

Stačí však změnit jediný znak a výsledek bude úplně jiný. Rozdíl mezi „Hello“ a „hello“ tedy vede k odlišnému hashi.

Právě kvůli této vlastnosti se hash často přirovnává k digitálnímu otisku prstu. Konkrétní vstup je spojen s konkrétním výsledkem a i velmi malá změna vstupních dat způsobí zásadní změnu výsledného řetězce.

Hashovací funkce funguje jednosměrně

Další zásadní vlastností hashování je jeho jednosměrnost. Data, která vstupují do hashovací funkce, se označují jako vstup nebo technicky jako preimage. Výstup může být označen jako hash, hash value nebo digest.

Hashovací funkce je navržena tak, aby bylo možné jednoduše převést vstup na hash, ale nikoli použít samotný hash k přímému obnovení původních dat.

Jinými slovy, pokud máme pouze výsledný hash, neměli bychom být schopni určit, jak přesně původní vstup vypadal. Tato vlastnost je jedním ze základních důvodů, proč je hashing tak důležitý v kryptografii.

Hash je tedy navržen jako nevratný výstup. Samotný výsledný řetězec neprozrazuje původní text nebo jiná data, ze kterých vznikl.

Dobrá hashovací funkce zároveň neprozrazuje informace o charakteru vstupu. Z výsledku by například nemělo být možné poznat, zda původní data byla krátká nebo dlouhá, zda obsahovala čísla, písmena nebo jiný typ informací.

Hashovací funkce je matematická operace prováděná podle konkrétního algoritmu. Algoritmus lze chápat jako přesně definovaný soubor instrukcí, podle kterého software provádí daný výpočet.

Vstup přitom může mít libovolnou délku. Může jít o jedno písmeno, slovo, větu, stránku knihy nebo celou knihu. Výsledkem však bude vždy řetězec o délce stanovené konkrétní hashovací funkcí.

Důležitou vlastností je také citlivost na změny vstupu. Změna jediného znaku by měla vést k výrazně odlišnému výsledku. Díky tomu hash nefunguje jako jednoduchý zkrácený zápis původního textu, ze kterého by bylo možné zpětně odhadovat jeho obsah.

SHA-256 je hashovací funkce používaná Bitcoinem

Existuje několik různých hashovacích funkcí. Mezi známé příklady patří MD5 a rodina SHA.

MD5, tedy Message Digest 5, patří mezi starší hashovací funkce. V minulosti byla považována za bezpečnou, postupně však přestala být vhodná pro situace, kde je vyžadována vysoká úroveň zabezpečení.

Další významnou skupinou je Secure Hash Algorithm neboli SHA. Existuje několik generací této rodiny, konkrétně SHA-0, SHA-1, SHA-2 a SHA-3. Jednotlivé varianty vznikaly postupně a liší se používanými algoritmy i vlastnostmi výsledných hashů.

Pro Bitcoin je nejdůležitější rodina SHA-2, protože právě do ní patří SHA-256.

SHA-256 převádí vstupní data na řetězec, který má vždy délku 64 alfanumerických znaků. Tento výstup odpovídá 256 bitům, odkud pochází číslo 256 v samotném názvu funkce.

Nezáleží přitom na velikosti vstupu. Pokud by do SHA-256 vstoupila jedna stránka knihy, výsledkem by byl hash o délce 64 znaků. Stejně dlouhý výstup by vznikl i v případě, že by vstupem byla celá série knih.

Právě tato vlastnost je pro kryptografické systémy velmi praktická. Systém může pracovat s daty nejrůznější velikosti, ale výsledný hash má vždy předvídatelný a pevně definovaný formát.

Zdroj: Shutterstock

SHA-256 je důležitý především proto, že se používá v několika částech bitcoinového systému. Znalost principu hashování je proto nezbytným základem pro další pochopení toho, jak funguje samotná těžba Bitcoinu.

Při hashování tedy nejde o šifrování ve smyslu převodu dat do podoby, kterou lze později pomocí správného klíče obnovit. Podstatou je vytvoření jednosměrného digitálního otisku z konkrétních vstupních dat.

Základní princip lze shrnout jednoduše: hashovací funkce přijme data libovolné délky a vytvoří z nich výstup pevné délky. Stejný vstup vždy vytvoří stejný hash, zatímco i malá změna vstupu vede k zásadně odlišnému výsledku. Samotný hash navíc není určen k tomu, aby z něj bylo možné jednoduše získat zpět původní data.

Právě kombinace těchto vlastností dělá z hashování jeden ze základních stavebních kamenů kryptografie a technologií, na kterých funguje Bitcoin.

Aktuality a vzdělávací materiály ze světa financí. Smysluplně na jednom místě

Upozornění
© 2026 Tradeacademy