Skromný web o kryptoměně ethereum

Byla jednou jedna kryptoměna

Pokusím se zde na příkladech využívající reálie skutečného světa přiblížit a notně zjednodušit problematiku kryptoměn. V příkladech budu používat fiktivní kryptoměnu PočDukáty, což jsou Počítačové Dukáty z Tramtárie.

Dovoluji si upozornit, že faktická přesnost následujícího popisu kryptoměn je zhruba na úrovni „Byl jednou jeden život“ navíc bez roztomilých krvinek a je určena naprostým laikům, kterým se ze slov „hashovací funkce“ dělá vyrážka.

Bylo nebylo, kdysi v Tramtárii

Představme si situaci, že Pepa má ve své pokladničce 100 PočDukátů a chce Frantovi zaplatit 10 PD za porytí zahrádky.

Transakce

Transakce ve své nejjednodušší podobě je prosté prohlášení:

Tohle ale přece může prohlásit každý, jak Pepa zabrání, aby někdo jiný neprovedl transakci jeho jménem?

Soukromý a veřejný klíč

Aby byly zaručeny bezpečné finanční operace, každý obyvatel v Tramtárii má své unikání pečetidlo.

Pepa tak napíše svou transakci na papír, vytáhne pečetidlo, rozehřeje vosk a přidá otisk své pečetě. Pečeť má zvláštní schopnost a to, že vypadá pokaždé jinak – podle toho co zrovna podepisuje. Ostatní ale dokáží zjistit, že dokument byl zapečetěn Pepovou pečetí. Pepa se tak nemusí bát, dát papír s transakcí poslovi, protože pokud by někdo změnil jediné písmenko, tak by pečeť neseděla.

Stejným způsobem funguje i asymetrická kryptografie, kterou využívají kryptoměny.
Uživatel má svůj soukromý klíč, který stejně jako pečetidlo podepíše transakci. Jakákoliv změna v datech transakce vyústí v neplatnost podpisu.

Takže nyní máme transakci

Peer to peer

Pepa odevzdal svitek s transakcí poslovi, který ji zanesl do nejbližšího města. Tam ji předal vrchnímu písaři, který zkontroloval, že Pepova pečeť odpovídá tomu, co je na transakci napsané a když to souhlasilo, tak svitek zanesl do písárny, nechal vyhotovit kopie a s kopiemi poslal posly do sousedních měst, kde se situace opakovala, dokud Pepova transakce nerozšířila do celého království. A všichni věděli, že Pepa má už jen 90 PočDukátů a že Franta je o 10 PočDukátů bohatší.

Stejným způsobem fungují i kryptoměny, jen bych řekl, že trochu rychleji. Každý uzel sítě je připojený k několika dalším uzlům a rozesílají si mezi sebou nové transakce, dokud je nemají všichni.

Těžení a ověřování transakcí

Na druhém konci Tramtárie je malý hostinec, kam Pepa rád chodí na pivo, než tam dorazí posel s novou transakcí, všichni si tam myslí, že má Pepa pořád 100 PočDukátů.

Co by se stalo, kdyby sednul na nejrychlejšího koně v království a dorazil tam dřív než posel, vypil pivo za 100 PočDukátů, na místě vytvoří transakci

a předá ji nejbližšímu poslovi?

Posel by dorazil do nejbližšího města, vrchní písař by ověřil pečeť a vše by fungovalo jako normálně až do chvíle, kdy by dorazil do města, kam už před tím dorazil posel s první transakcí. V tom případě by vrchní písař novou transakci prostě zahodil.

V tomto okamžiku by nastal rozkol – polovina Tramtárie by věděla, že Pepa má 90 PočDukátů a druhá polovina by věděla, že nemá žádný.

Která z těchto variant je ta pravá?

A v tuto chvíli přicházejí na řadu horníci.

Horníci, kteří dříve v Tramtárii dolovali cenné kovy si udělali večerní školu poezie a nyní spolupracují s písaři.

Písaři ukládají všechny příchozí transakce do kartonových krabic kterým se říká bloky.
Horník tak sedí u krabice, prohlíží si transakce. Každému písmenu na papíře přiřadí číslo. Čísla sečtou a z tabulky, kterou mají stejnou všichni horníci vyberou slovo, které číslu odpovídá.

Tím dostanou za každou transakci jedno zástupné slovo a z těchto slov se snaží vymyslet básničku.

Když se jim podaří básničku vymyslet, krabice je zapečetěna a na její víko je básnička přepsána.

Říkáte si určitě, co z toho ten horník má, takhle celý den vymýšlet básničky je jistě těžká práce.

Je to proto, že každý horník má povoleno vhodit do krabice

Než je krabice zapečetěna, hlavní písař zkontroluje, že si Horník přidal právě jen a pouze 10 PočDukátů a že slova vytvořená z transakcí odpovídají básničce na víku. Vezme krabici, odnese ji do písárny, kde písaři okopírují, předají ji poslům a ti je odvezou do okolních měst.

Tam se situace zopakuje. Hlavní písař zkontroluje, že krabice – blok, který mu přišel odpovídá pravidlům, že všechny transakce dávají správná slova. Ta slova dohromady odpovídají básničce a je obsažena odměna horníkovi. Krabice je přepsána a poslána do okolních měst.

A protože poslové a písaři jsou vážně rychlí, trvá rozesílání bloku po celé Tramtárii jen několik sekund. Na rozdíl od horníků, kterým vymyšlení básničky dává opravdu zabrat.

Pepa tak sedí v hospodě, objednává si pivo a říká, že zaplatí sto PočDukátů.

Hostinský má ale s Pepou svoje zkušenosti a říká: „Jen si Pepo hezky na pivo počkej, než nám dorazí krabice“.

Mezitím, poetický horník v Pepově domovském městě dostane nápad s čím se rýmuje slovo „algoritmizace“ a napíše na víko krabice celou básničku. V ten okamžik se rozjede celá mašinerie a během pár okamžiků dorazí na práh hospody zbrusu nová krabice s ověřenými transakcemi.

Hostinský se podívá dovnitř a vidí, že Pepa už deset PočDukátů utrati, když je dal Frantovi a tím pádem má jen 90 PD. Pepa dostane přes ústa, pobude chvíli v šatlavě za pokus o podvod a příště už jednu minci dvakrát utrácet nebude.Blockchain

Poslední věcí, kterou musí Tramtarijský finanční systém zaručit je, aby nějaký zlosyn, který před týdnem veškeré své úspory utratil v Hospodě na Růžku, transakcí

nevzal prázdnou krabici, nevhodil do ní, že odesílá peníze sám sobě + všechny ostatní transakce z toho dne.

(A nebo by svoji transakci prostě vynechal)
potom by vymyslel novou básničku, a pod pláštěm tmy se vloudil do písárny a nahradil původní krabici touto podvrženou?

Potom by mohl tvrdit, že v Hospodě na Růžku nikdy nebyl. Jen se podívejte do skladu, v krabici nic není, ty peníze jsem si posílal sám sobě z čisté radosti, že je mám!

Písaři by byli zmatení, protože podvrhovat bloky by mohl kdokoliv a kdykoliv a i kdyby se zeptali písařů v sousedním městě, neměli by jistotu, že tam mají správné záznamy.

A proto se teď vrátíme zpátky k horníkům. Ve chvíli kdy vymýšlí básničku ze slov, které pocházejí z transakcí v krabici, použijí podle stejných pravidel slovo vytvořené z básničky na předchozí krabici. Tím pádem jsou všechny bloky propojeny, stejně jako řetěz, neboť nový blok má v sobě část bloku předchozího.

Zlosyn, který pod pláštíkem tmy nahradí jednu krabici, by musel nahradit všechny bloky které vznikly od té doby, neboť další krabice má na sobě básničku, ve které je slovo z předchozího bloku a jeho básnička vytvoří slovo úplně jiné.

A vytvoření básničky… to je na dlouho, jednomu horníkovi to může zabrat i několik dní – ale protože se o to snaží všichni, je nová básnička nalezena průměrně třeba jednou za deset minut. Zlosyn by musel pracovat opravdu tvrdě, aby přes noc přepracoval básničky vzniklé za poslední týden.

Tím je zaručeno, že všichni ve všech městech, mají stejný sdílený blockchain a stejné transakce jako ostatní.

Zazvonil zvonec a pohádky byl konec.

Tento příběh je pravdivý, jen s několika rozdíly, nepoužívají se básničky ale

Hashovací funkce

Hašovací funkce je matematická funkce (resp. algoritmus) pro převod vstupních dat do (relativně) malého čísla. Výstup hašovací funkce se označuje otisk, fingerprint či hash.
Základní vlastností hashe je to, že pro stejná data je vždy stejný, není možné z něj vytvořit původní data a malá změna na vstupu vede na velkou změnu na výstupu.

Příklad:

v tomto případě, je hash delší než samotná data, nicméně stejným způsobem si můžete vytvořit hash z velkého souboru.

Bitcoin používá ve svém blockchainu právě sha256.
Ethereum používá SHA3_512

Transakce

Transakce jsou v podstatě stejné, jak bylo uvedeno v pohádce, jen místo jmen se používají adresy, jak taková transakce vypadá se můžete podívat zde.
Někdo zde odesílá z adresy 1QJdZQ5vQ4LVXJQq7wgGtQEt4qjmmBHNqW na 1AbfS6j7Nt5Kwocw51UsA6ceJUSis2Pkx7 2.5 Bitcoinů. A protože má na té adrese víc, tak si přebytek posílá zpět.

Bloky

Tak jak horníci vytvářeli z transakcí slova do básničky, tak se ve skutečnosti transakce prostě zahashují všechny do sebe až vznikne jeden hash.

Potom se vezme hash předchozího bloku (čili slovo z básničky z předchozí krabice) a hash transakcí a opět se to celé zahašuje.
Nyní se dostáváme do okamžiku, kdy horních vymýšleli básničku. Ta je ve světě kryptoměn reprezentována hledáním hashe, který má na začátku určitý počet nul.
V podstatě je o toto:

Začne se s N=0. A když nemají dost nul na začátku, N se zvýší o jedna.
takže když hledáme třeba jen 3 nuly na začátu, musíme v následujícím případě prohledat 2153 variant.

A to nějakou dobu trvá.

 

Pokračování příště…