Cold Storage znamená držet soukromé klíče k bitcoinům odděleně od běžného počítače či telefonu připojeného k internetu. Klíče vytvářejí podpis, kterým dáváte ověřitelný souhlas s platbou. Zůstatek můžete sledovat online a peníze přijímat i s vypnutým podpisovým zařízením. Pro odeslání ale potřebujete jeho podpis nebo bezpečně obnovené klíče. Oddělení omezuje vzdálené útoky, nenahrazuje zálohu ani kontrolu platby.
Alice chce dlouhodobě držet bitcoin, ale notebook používá také na práci, e-mail a stahování souborů. Nechce, aby případné napadení notebooku rovnou vydalo útočníkovi klíče k úsporám. Proto si je vytvoří a ponechá v odděleném důvěryhodném zařízení. Do aplikace v notebooku přenese jen veřejné údaje potřebné ke sledování peněženky. Když si ze své dosavadní peněženky pošle bitcoin na předem ověřenou přijímací adresu, podpisové zařízení může zůstat vypnuté. Platba se zaznamenává v síti a aplikace ukáže její potvrzení; nic se nestahuje do zařízení jako soubor s penězi. O měsíc později chce Alice část prostředků poslat dál. Notebook připraví návrh: komu, kolik a s jakým poplatkem. Alice jej předá podpisovému zařízení, údaje ověří na jeho displeji a teprve pak potvrdí. Zařízení vytvoří digitální podpis, kterým dokládá oprávnění k útratě, aniž by vydalo soukromé klíče. Podepsaná transakce se vrátí do online aplikace a ta ji odešle do sítě. Tohle rozdělení práce je podstata Cold Storage. Označení samo nic neříká o kvalitě zařízení, správnosti zobrazené adresy ani o tom, zda Alice zvládne obnovu po jeho poruše. [7] [11]
Mimo běžný online počítač zůstávají klíče, ne samotné bitcoiny. Každé UTXO, tedy dosud neutracený výstup dřívější platby, je dál zaznamenané ve veřejném blockchainu. Odpojit dříve napadený notebook nestačí; kovová destička se slovy je zase záloha, nikoli podepisující zařízení. Plán musí počítat s krádeží, požárem, selháním zařízení i úmrtím majitele. Glacier Protocol proto odděluje přípravu, vklady, výběry, sledování a údržbu. [9] [10]
Záložní slova se označují Seed Phrase. Volitelná passphrase je další vámi zvolený tajný údaj pro odvození peněženky, nikoli PIN zařízení. Multisig zase vyžaduje podpisy více klíčů. Klíče vytvořte na důvěryhodném zařízení a zaznamenejte potřebný formát zálohy, případnou passphrase a konfiguraci peněženky. BIP129 popisuje dvoukolovou přípravu Multisigu s ověřením klíčů a společné konfigurace. Přijímací adresu porovnejte na podpisovém zařízení, ne pouze na počítači. Začněte malým převodem a ověřte příjem, zkušební útratu i obnovu. Příjem platby sám o sobě schopnost obnovy nedokazuje. [5] [11]
Seed Phrase a použitá passphrase umožňují znovu odvodit klíče; pro nalezení správné peněženky mohou být potřeba i další údaje. Jiná passphrase vede k jiné peněžence, zapomenutou správnou nenahradí. Záložní podíly SLIP39 nejsou pouhé kopie seedu, výchozích tajných dat pro odvozování klíčů: obnovu umožní až požadovaný počet podílů. Chraňte zálohu před odcizením, fotografováním i poškozením. Skutečnou zálohu nikdy nezadávejte do webu ani běžného online počítače. [13] [14]
Air gap odděluje zařízení od přímého síťového připojení, ale data k němu stále putují například přes QR nebo microSD. Chyba programu čtoucího přenesená data (parseru), škodlivý vnitřní software zařízení (firmware) či klamný displej mohou ohrozit i takovou sestavu. Používejte ověřený firmware, podporované formáty a nezávislou kontrolu transakce. Karta nevyčistí napadený počítač a QR není automaticky bezpečný. I kabelová Hardware Wallet může držet klíče izolované. Samotný způsob propojení není zárukou bezpečnosti. [1] [7] [12]
Uvažujte také o vloupání, tajném kopírování záloh, nátlaku a možnosti obnovy dědici. Jedna událost by neměla zpřístupnit dost klíčů ke krádeži ani zničit tolik podkladů, že obnova nebude možná. Pečeť může ukázat manipulaci, nezabrání však pořízení kopie. Skrytá či návnadová peněženka nezaručuje ochranu před nátlakem. Zapište postup a role bez zbytečného odhalování tajemství; firemní dvojí kontrola vyžaduje jinou organizaci než osobní úschova. [9] [10] [13]
Kontrolujte stav záloh, srozumitelnost pokynů a kompatibilitu zařízení bez zbytečného odkrývání seedu. Bezpečná zkouška obnovy musí najít správné UTXO z přijatých plateb i ze zbytků vrácených do vlastní peněženky (change) a umožnit platný podpis; nestačí, že program přijme seznam slov. Provádějte ji na důvěryhodném zařízení. Před změnou zařízení či pravidel peněženky ověřte celý postup malou částkou. Při podezření na únik vytvořte nové nezávislé klíče a prostředky bezpečně převeďte; staré podklady neničte před ověřením nové sestavy. [7] [9] [10]
Skript určuje podmínky, za kterých lze bitcoiny utratit. Rozšířený veřejný klíč xpub umožňuje odvozovat další veřejné klíče v příslušné větvi peněženky. K vytvoření adres z těchto klíčů je potřeba znát také typ skriptu, tedy pravidla pro utracení. Samotný xpub platby podepisovat neumí. Online koordinátor je aplikace s veřejnými údaji peněženky. Zjišťuje UTXO, odvozuje adresy a sestavuje nepodepsanou transakci; podpisové zařízení drží soukromé klíče. Output Descriptor popisuje skripty a původ klíčů, kontrolní součet pomáhá odhalit chybu při přenosu. Veřejný descriptor či xpub sám obvykle nestačí k utrácení, může však prozradit adresy a zůstatky. Napadený koordinátor navíc může podvrhnout příjemce. [4] [8] [15]
PSBT podle BIP174 přenáší nepodepsanou transakci spolu s údaji potřebnými k podpisu. Údaje jsou uspořádané do map, tedy seznamů položek s označením a hodnotou: pro transakci jako celek i zvlášť pro každý vstup a výstup. Soubor začíná bajty 0x70 0x73 0x62 0x74 0xff. Koordinátor připraví podklady, zařízení přidá podpis; po spojení podpisů a finalizaci lze výslednou transakci vyslat. Offline zařízení tak nepotřebuje vlastní databázi UTXO. BIP370 upravuje PSBT v2 a BIP371 pole pro Taproot; podporu mezi zařízeními ověřte předem. [1] [2] [3] [6] [7]
Před potvrzením zkontrolujte na důvěryhodném displeji příjemce, částku, poplatek nebo sazbu poplatku a výstupy vracející zbytek zpět do vlastní peněženky, tedy change. Všímejte si také zobrazených vstupů a režimu sighash, který určuje, které části transakce podpis závazně pokrývá. BIP174 požaduje ověřit, že navržený change patří očekávané peněžence; samotnému označení z počítače věřit nelze. U významné platby ověřte adresu dalším nezávislým, ověřeným kanálem, případně s druhou osobou. [1] [11] [12]
V sestavě m-of-n je k podpisu třeba m z celkem n klíčů. Ztrátu lze překonat, pokud zbude alespoň m dostupných klíčů. Útočník naopak k samostatnému utracení potřebuje získat alespoň m klíčů. Tyto dvě hranice nezaměňujte. Samotné seedy navíc nemusí stačit k rekonstrukci peněženky: zálohujte descriptor či Bitcoin Secure Multisig Setup (BSMS) konfiguraci, včetně xpubů, pořadí klíčů, derivačních cest (postupu odvození jednotlivých klíčů) a typu skriptu. Složitější sestava má smysl jen tehdy, když ji dokážete spravovat a obnovit. [4] [5] [8]
Pro nejúplnější obraz čtěte toto heslo společně s Hardware Wallet, Vlastní úschova, Air-gapped Wallet, PSBT, Seed Phrase, BIP 39. Opačným směrem na něj odkazují také Hardware Wallet, Watch-only Wallet, PSBT, Custodial Exchange.