Slovník pojmů

Glosář pojmů, které se hodí pro orientaci v bitcoinu.

Peer-to-peer

Typ počítačové sítě, kde spolu přímo komunikují jednotliví uživatelé jako peer-to-peer, tedy rovný s rovným, bez přítomnosti centrálního serveru. Uživatelé či uzly na síti jsou si rovnocenné, není tu přítomna žádná centrální autorita. Bitcoin je od počátku koncipován jako peer-to-peer síť.


Dvojí útrata (double spend)

Situace, kdy se ty samé bitcoiny uživatel pokusí utratit vícekrát. Vyřešení problému dvojité útraty tím, že jsou transakce zapisovány do blockchainu, je hlavní technologický přínos Satoshiho Nakamota.


Časové razítko (timestamp)

V technologii Bitcoinu se časová razítka přidělují k transakcím v rámci bitcoinové sítě a evidují, kdy byly utracené. Časové razítko zároveň pomáhá zamezit nekalé manipulaci s blockchainem.


Důkaz o vykonané práci (proof-of-work, POW)

Data, pro které je možné snadno ověřit, že splňují nějakou specifickou vlastnost, ale pro jejichž vytvoření není známý žádný efektivní postup. Data naopak musíme vytvořit „neefektivním“ způsobem, při kterém je vynakládána faktická práce (v podobě času, výpočetního výkonu či elektřiny k němu potřebné). Výsledná data pak lze chápat jako důkaz, že někdo vykonal práci pro nalezení takovych dat. Kritickou vlastností mechanismu proof of work je pak právě neschopnost „zjednodušit“ si práci například nějakým chytrým trikem nebo zrychleným výpočtem.

V případě Bitcoinu se jedná o počítání hashe hlavičky bloku (číslo), který musí mít menší než stanovenou hodnotu. Je triviální ověřit, že pro konkrétní hlavičku je podmínka splněna – stačí porovnat spočítaný hash s daným číslem. Ale není jednoduché najít takovou hlavičku, pro kterou po zahashování dostaneme očekávaný výsledek, protože výsledek hashovaci funkce se chová zcela náhodně. Při hledání vhodného hashe tak nezbývá nic jiného, než opakovaně zkoušet hashovat různé vstupy.


Hashovací funkce (hash function)

Matematický algoritmus převodu vstupních dat do malého čísla. Výstup takové funkce se označuje jako hash. Mezi přednosti hashovací funkce patří, že po zadání libovolně velkého vstupního čísla poskytne stejně dlouhý výstup, z výsledného hashe je pak téměř nemožné zpětně rekonstruovat původní vstup.


Uzel (node)

Bitcoinový uzel je integrální součást blockchainu. V systému Bitcoin je uzlem každý počítač či zařízení, které se k síti připojí. Uchovává typicky kopii celého blockchainu, validuje nové bloky a transakce a je skrze něj možné vyslat transakci k ostatním uzlům v síti. Vzhledem k peer-to-peer povaze bitcoinové sítě jsou si všechny uzly rovny.


Princip best efforts

Typ finančního závazku, ve kterém se zajistitel upisuje k co možná nejsvědomitějšímu prodeji svěřených jistin, avšak není povinován prodat všechny. Typickým příkladem je společnost, která si najme investiční banku k prodeji jistin během počáteční veřejné nabídky (IPO).


Escrow mechanismus

Je forma kontraktu, ve které figuruje prostředník (escrow agent) zprostředkovávající transakci mezi dvěma stranami, které by si případně nedůvěřovaly. Escrow agent může držet prostředky, dokud se obě strany nedohodnou. V technologii Bitcoinu je tohoto mechanismu použito při ověřování podpisů u multisig adres.


Veřejný klíč (public key)

Druhý z dvojice klíčů v asymetrické kryptografii. Z veřejného klíče se generuje adresa. Veřejný klíč může být vypočítán ze soukromého klíče, avšak nikoliv soukromý z toho veřejného.


Hashcash

Systém založený na důkazu o vykonané práci, který brání proti e-mailovému spamu a DoS útokům. Systém, který v roce 1997 představil Adam Back, připojoval před odesláním ke každému emailu časové razítko, jehož výpočet počítači zabere malé množství času. Jelikož ale útočníci posílají velké množství nevyžádaných zpráv najednou, výpočet časového razítka je zbrzdí v masovému odesílání zpráv.


Usenet (User’s Network)

Představuje jeden z nejstarších webových komunikačních systémů. Vznikl na začátku 80. let ve Spojených státech. Systém tvořily vzájemně propojené uzly, které si mezi sebou předávaly zprávy.


SHA-256

Zkratka z anglického Secure Hash Algorithm, tedy Bezpečný hashovací algoritmus je kryptografická funkce, která z libovolně dlouhého vstupu vytvoří výstup fixní délky. Z výstupu je proto prakticky nemožné rekonstruovat původní vstup, stejně jako narazit na dvě rozdílné zprávy s totožným výstupem. Číslo 256 značí délku výstupu v bitech.


Nonce

Značí v kryptografii číslo, které se používá jako jednorázová hodnota přinášející náhodný element. Takové hodnotě není přisuzován žádný specifický význam, její role spočívá pouze v její libovolnosti a nemožnosti ji odhadnout. Nonce tvoří součást bitcoinového bloku proto, aby bylo možné tuto hodnotu libovolně měnit a zkoušet tak hledat hash hlavičky splňující podmínku pro platný blok.


Merkleův strom (Merkle tree)

Někdy též hashový strom je druh datové struktury používané v kryptografii. Merkleův strom, někdy též zvaný jako binární hashovací strom, slouží k efektivnímu zakódování dat v blockchainu. Umožňuje totiž ověření konkrétní transakce z bloku bez nutnosti načtení celého blockchainu.


Hlavička bloku (Block header)

Slouží k identifikaci bloku v řetězci bloků (blockchainu). Hlavička obsahuje klíčové informace o bloku: čas a obtížnost, kdy byl blok vytěžen, Merkleův kořen proběhlých transakcí, nonci a hash předchozího bloku. Právě na hlavičce bloku provádějí těžaři důkaz o vykonané práci, aby daný blok vytěžili. Těžaři tedy nemusí pracovat na celém bloku tvořeného tisíci transakcí.


Binomická náhodná procházka (Binomial random Walk)

V matematice používaný model, který znázorňuje souslednost stejně velkých náhodných kroků. Ve svém Whitepaperu Satoshi Nakamoto zmiňuje její binomickou variantu, protože jím popsaný scénář útoku na síť má pouze dva možné výsledky.


Problém zruinování hráče (Gambler’s Ruin problem)

Matematický teorém popisující situaci, kdy dva hazardní hráči proti sobě sází z omezené zásoby peněz, dokud jeden z nich nevyhnutelně nezbankrotuje. Nakamoto pojmem ilustruje situaci, kdy mezi sebou soupeří poctivé a nepoctivé uzly o to, kdo zapíše svůj blok do blockchainu.


Poissonovo rozdělení (Poisson distribution)

Poissonovo rozdělení pravděpodobnosti je statistické znázornění výskytu jevů v určitém intervalu za situace, kdy jevy nastávají nezávisle na sobě. Uvádí četnost jevů (v čase, objemu, délce...) pro situace s malou pravděpodobností výskytu těchto jevů. Podrobnější vysvětlení těchto tří matematických fenoménů v kontextu Bitcoinu naleznete zde.