Súkromný kľúč musí zostať tajný
Súkromný kľúč je veľmi veľké náhodné číslo v povolenom rozsahu. Peňaženka ho používa na vytvorenie digitálneho podpisu. Kto kľúč získa, môže podpisovať platby z príslušných výstupov. Preto sa kľúč neposiela príjemcovi ani bitcoinovým uzlom.
Moderná peňaženka zvyčajne spravuje veľa kľúčov automaticky. Používateľ ich obnovuje zo zálohy, napríklad zo seed slov. Seed je hlavné tajomstvo, z ktorého možno odvodiť ďalšie kľúče. Jeho únik môže ohroziť celú peňaženku.
Verejný kľúč možno ukázať
Verejný kľúč vznikne zo súkromného kľúča pomocou kryptografie eliptických kriviek. Bitcoin používa krivku s názvom secp256k1. Výpočet jedným smerom je jednoduchý. Z verejného kľúča však dnešnými známymi postupmi nemožno prakticky získať súkromný kľúč.
Verejný kľúč pomáha overiť podpis. Nedáva však právo vytvoriť nový platný podpis. Podobá sa zámku, ktorý môže vidieť každý. Súkromný kľúč je tajomstvo potrebné na jeho otvorenie. Pri kryptografii ide o matematický vzťah, nie o fyzický predmet.
Adresa je cieľ platby, nie tajomstvo
Bitcoinová adresa je čitateľne zakódovaný cieľ platby. Podľa typu môže vychádzať z verejného kľúča alebo zo skriptu. Skript je krátky program s podmienkami minutia. Adresa obsahuje aj kontrolné prvky, ktoré pomáhajú odhaliť niektoré preklepy.
Adresu možno zverejniť na prijatie platby. Neznamená to však, že je dobré používať ju stále. Opakované použitie uľahčuje prepájanie transakcií a znižuje súkromie. Nová adresa nemení vlastníka, iba sťažuje jednoduché spájanie platieb.
- súkromný kľúč: tajomstvo na vytvorenie podpisu
- verejný kľúč: údaj na overenie podpisu
- adresa: zakódovaný cieľ, na ktorý peňaženka vytvorí výstup
- podpis: dôkaz oprávnenia pre konkrétne údaje transakcie
Podpis chráni konkrétnu transakciu
Peňaženka nepodpisuje všeobecné vyhlásenie typu „som vlastník“. Podpíše určené časti pripravenej transakcie. Ak niekto zmení chránenú sumu alebo cieľ, overenie podpisu zlyhá. Presný rozsah podpisu závisí od použitého režimu podpisovania.
Staršie typy výstupov používajú najmä podpisy ECDSA. Taproot používa Schnorrove podpisy podľa BIP 340. Obe schémy pracujú s krivkou secp256k1, ale majú odlišné pravidlá. Kryptografia chráni oprávnenie, nie používateľa pred podvodnou aplikáciou alebo zlou adresou.