Pochopenie vlastnej starostlivosti o majetok
Používanie peňaženiek s vlastnou úschovou je pre používateľov náročné, pretože si vyžaduje znalosť aspoň základných princípov kryptografie. Okrem toho musia poznať procesy prebiehajúce v blockchaine a kryptografických peňaženkách. V tomto článku vysvetlíme základné princípy kryptografických kľúčov a transakcií.
Pre ľahšie pochopenie zámerne zjednodušíme vysvetlenie niektorých procesov a vynecháme niektoré detaily. Článok je určený predovšetkým pre nováčikov.
Vlastníctvo aktív si vyžaduje zachovanie tajomstiev
Cardano, podobne ako väčšina blockchainov, umožňuje výlučne vlastniť aktíva. To znamená, že kontrolu nad aktívami máte len vy a nikto iný na svete.
Výhradné vlastníctvo znamená, že len vy môžete vytvoriť platnú transakciu, ktorá prevedie aktíva z vašej adresy na blockchaine na adresu príjemcu. Takže len vy môžete míňať aktíva.
Táto funkcia je podmienená vašou schopnosťou vytvoriť a udržiavať kryptografické tajomstvo.
Vlastníctvo a prevod aktív v blockchainových sieťach sú založené na kryptografii s verejným kľúčom (známej aj ako asymetrická kryptografia). Kryptografia vo všeobecnosti ponúka nástroje umožňujúce vzájomnú komunikáciu medzi vzdialenými účastníkmi tajným a dôveryhodným spôsobom. Ale len za podmienky, že kryptografické tajomstvo nebude odhalené.
Každý, kto chce vlastniť aktíva, musí najprv vytvoriť kryptografické tajomstvo.
Toto tajomstvo sa nazýva seed alebo passphrase. Určitý počet slov sa náhodne vyberie z vopred definovaného zoznamu slov (napr. z BIP-39). Môže to byť napríklad 24 slov, ale v heslovej fráze sa môžete stretnúť aj s menším počtom slov. Môže to byť napríklad 15 slov.
Prístupovú frázu vám vygeneruje každá peňaženka Cardano po jej inštalácii. Peňaženka s vlastnou úschovou nemôže nikdy fungovať bez kryptografických tajomstiev. Peňaženka, ktorú si nainštalujete, funguje len s vaším tajomstvom.
Je možné použiť existujúcu prístupovú frázu a tzv. obnoviť peňaženku. Dokonca je možné používať viacero peňaženiek s rovnakým kryptografickým tajomstvom.
V danom okamihu je potrebné zabezpečiť, aby ste náhodne vygenerovanú prístupovú frázu videli len vy. Ide o kryptografické tajomstvo, ktoré umožní vaše výlučné vlastníctvo aktív.
Preto sa uistite, že používate overenú peňaženku a že ste si ju stiahli (alebo nainštalovali) z dôveryhodného zdroja.
Prístupovú frázu si musíte zapamätať presne tak, ako je zobrazená v peňaženke. V prípade potreby musíte byť schopní zložiť rovnaký zoznam slov v rovnakom poradí.
To sa nedá urobiť bez fyzického zápisu na papier alebo použitia inej metódy na bezpečné uchovanie (napr. vyrytie slov do kovu). Nikdy neukladajte prístupovú frázu digitálne, t. j. do súboru alebo odfotením na mobilný telefón.
Prístupovú frázu môžete opäť potrebovať, ak stratíte ľahkú peňaženku v počítači, celý počítač alebo smartfón, prípadne hardvérovú peňaženku. Nezabudnite, že ak poznáte prístupovú frázu, stále vlastníte svoje aktíva.
Peňaženku môžete dokonca úmyselne vymazať, ale na jej obnovenie potrebujete poznať prístupovú frázu. Vlastníctvo aktív nezávisí od existencie peňaženky a možnosti vytvoriť platnú transakciu, ale predovšetkým od udržiavania kryptografického tajomstva, t. j. prístupovej frázy.
Teraz máte kryptografické tajomstvo vo fyzickej podobe a nainštalovanú peňaženku. Ďalším krokom je odvodenie digitálneho tajomstva z prístupovej frázy. To je generovanie kryptografických kľúčov.
Kryptografické kľúče
Z heslovej frázy sa hierarchicky odvodí viacero súkromných a verejných kľúčov. Tento proces je známy ako hierarchické deterministické (HD) odvodzovanie peňaženky.
Dobrou správou je, že sa oň nemusíte starať. Vaša peňaženka urobí všetko za vás. Musíte len vedieť, čo sa deje na pozadí a aké procesy tam prebiehajú. Používateľské rozhranie peňaženky vás izoluje od zložitostí spojených s kryptografiou.
Na obrázku nižšie môžete vidieť štruktúru odvodzovania kľúča, ktorá sa začína semienkom.
Peňaženka generuje páry kľúčov zo semienka (prístupovej frázy). Hlavný kľúč je najvyššou úrovňou hierarchickej deterministickej štruktúry peňaženky.
Často sa hovorí, že nie tvoje kľúče, nie tvoje mince. Čo sú to kľúče? Možno povedať, že kľúče sú súčasťou kryptografického tajomstva, najmä súkromné kľúče.
Kľúč si môžete predstaviť ako reťazec rôznych zakódovaných znakov, ktoré sa zmestia zhruba na jeden riadok. Je to kombinácia množstva digitálnych jednotiek a núl.
Používajú sa dva súvisiace kľúče.
Najprv sa vygeneruje súkromný kľúč (alebo tiež podpisový kľúč). Na obrázku je označený červenou farbou. Ako naznačuje názov, tento kľúč musí byť utajený. Transakcie sa podpisujú týmto kľúčom. Podpisový kľúč je určitá kryptografická operácia, ktorú možno overiť druhým, verejným kľúčom.
Verejný kľúč (alebo tiež overovací kľúč) je odvodený od tohto súkromného kľúča. Na obrázku je označený zelenou farbou. Ako naznačuje názov, tento kľúč môže byť verejný.
Najprv sa vygeneruje dvojica hlavných kľúčov.
Hlavný kľúč možno použiť na odvodenie viacerých účtov Cardano, z ktorých každý má vlastnú sadu adries a kľúčov. Účet je tiež kľúčový pár, ktorý predstavuje váš podiel v Cardano a umožňuje vám delegovať ho do poolu.
Staking nie je predmetom tohto článku. Nezabudnite však, že staking funguje aj prostredníctvom kryptografie. Zameriame sa na posielanie transakcií z adresy na adresu, ktoré si vyžaduje platobné kľúče.
Adresy v blockchaine sa používajú na držanie finančných prostriedkov (UTxO). Je možné na nich prijímať UTxO a následne z nich UTxO odosielať.
Verejné kľúče (z dvojice platobných kľúčov) sa používajú na generovanie adries, zatiaľ čo súkromné kľúče sa používajú na podpisovanie transakcií, a teda na preukázanie vlastníctva finančných prostriedkov.
Nasledujúci text bude pre ľahšie pochopenie zjednodušený. Nebudeme sa zaoberať hašovaním adries v blockchaine.
Vlastník aktív je preukazovateľ a sieť Cardano je overovateľ.
V procese posielania aktív prostredníctvom transakcie je potrebné použiť príbuzný pár kľúčov. Aktíva sú spojené s adresou, ktorá bola odvodená z verejného kľúča. Odosielateľ digitálne podpíše transakciu, čím poskytne dôkaz o vlastníctve aktív na danej adrese. Na podpísanie transakcie sa používa súkromný kľúč.
Digitálny podpis transakcie si môžete predstaviť ako bežný podpis dokumentu perom. Znalec by vedel jednoznačne overiť podpis a povedať, či ste dokument podpísali.
Cardano (blockchainová sieť) musí overiť podpis prostredníctvom verejného kľúča. Overí sa, či bol použitý súkromný kľúč, ktorý zodpovedá adrese, na ktorej sa aktíva nachádzajú.
Cardano musí mať k dispozícii na overenie verejnú časť kryptografického tajomstva a súkromnú časť vo forme digitálneho podpisu.
Podpísaním transakcie sa súkromný kľúč neodhalí. To znamená, že na adrese sa stále môžu nachádzať UTxO, ktoré sú vo výlučnom vlastníctve odosielateľa transakcie. Počas validácie sa tiež overuje, či adresa vlastní dostatočné množstvo aktív, ktoré môže vlastník minúť.
Transakcia obsahuje adresu príjemcu. Táto adresa je odvodená z verejného kľúča príjemcu. Príjemca je držiteľom príslušného súkromného kľúča, takže môže z tejto adresy posielať (míňať) aktíva.
Na obrázku môžete vidieť zjednodušený proces opísaný vyššie.
Alica posiela UTxO Bobovi. UTxO je na adrese blockchainu, ktorá patrí Alici. Alicina peňaženka vytvorí transakciu a vloží do nej vstupné UTxO. Zadajú sa ďalšie parametre transakcie. Napríklad hodnota, ktorá sa má z UTxO minúť (pre zjednodušenie sa celé UTxO posiela Bobovi, takže Alica nedostane nič späť).
Zo vstupného UTxO sa vytvorí výstupné UTxO, v ktorom sa uvedie adresa blockchainu patriaca Bobovi (bol použitý Bobov verejný kľúč).
Aby sa aktíva mohli previesť, Alica musí transakciu podpísať súkromným kľúčom prostredníctvom svojej peňaženky. Digitálny podpis bude overený sieťou Cardano, ktorá nie je na obrázku nakreslená.
Peňaženka vyberie UTxO, ktoré sa vložia do transakcie. Vyberie tiež súkromné kľúče, ktoré sú potrebné na podpis. Používateľ väčšinou len zadá výdavkové heslo alebo potvrdí odoslanie transakcie stlačením tlačidla v hardvérovej peňaženke.
Je dôležité dvakrát skontrolovať adresu príjemcu a sumu, ktorá sa má poslať. Transakcie sú nevratné. Ak je transakcia raz zaradená do bloku, nie je možné ju vrátiť späť. Ak sa UTxO pošle na nesprávnu adresu (neexistujúcu alebo cudziu), tento záznam sa navždy uloží do blockchainu. Chyby sa nedajú opraviť.
Vlastná úschova aktív
Čo je to self-custody aktív? Čo si musia majitelia aktív uvedomiť?
Sieť blockchain je v podstate decentralizovaná účtovná kniha uchovávajúca záznamy o vlastníctve aktív. Namiesto mien vlastníkov sa používajú adresy blockchainu.
Záznam v účtovnej knihe možno zmeniť len pomocou kryptografie. Ak chcete zmeniť vlastníka aktív, ich súčasný vlastník musí preukázať svoje vlastníctvo podpísaním transakcie prostredníctvom súkromného kľúča.
Vlastníctvo možno chápať ako výhradné právo na míňanie aktív.
Ak vlastník stratí súkromné kľúče (peňaženku) aj passphrase (fyzickú podobu kryptografického tajomstva), záznam v účtovnej knihe zostane zapísaný navždy. Aktíva budú existovať, ale nebude možné ich minúť. Inými slovami, stratou kryptografického tajomstva vlastník navždy stratí aj všetky aktíva.
Ak sa niekomu podarí ukradnúť alebo odhaliť vaše kryptografické tajomstvo, bude mať rovnakú kontrolu nad vašimi aktívami ako vy. Vy ste zodpovední za výlučné vlastníctvo svojich aktív. Ak zlyháte a niekto prevedie aktíva na inú adresu blockchainu, neexistuje spôsob, ako to zmeniť.
Dokonca nie je možné dokázať, či ste danú transakciu podpísali vy alebo osoba, ktorá ukradla vaše kryptografické tajomstvo (prístupovú frázu alebo súkromné kľúče).
Aktíva sú pod kontrolou toho, kto vlastní súkromné kľúče (alebo passphrase) daných adries blockchainu. To má byť jediná osoba. To však nemožno zaručiť. Kryptografické tajomstvo môže poznať viacero osôb.
Sieťový konsenzus nepozná kontext transakcií a vlastníkov aktív. Overuje iba transakcie, t. j. overuje digitálne podpisy. Ak sú transakcie platné, záznamy v účtovnej knihe sa zmenia. Aktíva sa prenesú z adries odosielateľov na adresy príjemcov. Transakcie budú navždy uložené v blockchaine (účtovnej knihe).
Neexistuje iný spôsob zmeny vlastníka aktív ako použitie súkromných kľúčov.
Vlastníci tak získajú plnú kontrolu nad aktívami. Sú však výlučne zodpovední za kryptografické tajomstvo a musia si byť vedomí všetkých rizík s tým spojených.
Záver
Nabudúce si vysvetlíme podrobnosti, ktoré sme v tomto článku zjednodušili. Budeme hovoriť o tom, aká kryptografia sa používa, ako a prečo sa hashujú adresy v blockchaine, ako funguje digitálny podpis, ako sa deterministicky odvodzujú páry kľúčov atď. Cieľom tohto článku bolo objasniť základné pojmy súvisiace s používaním samoobslužných peňaženiek. Pre používateľov je prospešné poznať základy kryptografie a vedieť, aké procesy prebiehajú počas prevodu aktív.
Pôvodný článok: Understanding Self-Custody of Assets | Cardano Explorer (cexplorer.io)