Collaborative Custody je uspořádání, při kterém se na zabezpečení bitcoinů podílí majitel a další osoba nebo služba. V častém modelu má majitel dost vlastních klíčů pro samostatnou platbu a služba pomáhá při potížích. To však musí vyplývat z pravidel konkrétní peněženky, ne pouze z názvu produktu.
Petr spravuje bitcoiny ve vlastní peněžence. Obává se ale, že jednou ztratí zařízení nebo zálohu. Peněženka je aplikace nebo zařízení pro přijímání a odesílání bitcoinů. Podepsat tu znamená vytvořit pomocí soukromého klíče, tajného číselného údaje, ověřitelný důkaz oprávnění k platbě. Ostatní mohou podpis zkontrolovat, aniž by tento tajný údaj znali. Unchained popisuje uspořádání 2-of-3: platba potřebuje podpisy dvou ze tří klíčů. Petr drží klíče A a B, služba klíč C. Fungují tedy kombinace A+B, A+C a B+C; samotné C nestačí. Tomuto požadavku na více podpisů se říká Multisig. Petr může zaplatit bez služby a při ztrátě jednoho klíče požádat o pomoc. Dvě zařízení obnovená ze stejné Seed Phrase, tedy stejné slovní zálohy, ovšem nepřinášejí nezávislost: vyzrazení společného tajemství ohrozí obě. [1] [4] [8]
Dokud má Petr použitelné A+B a úplné podklady peněženky, výpadek služby mu sám o sobě nebere možnost zaplatit. Pokud zůstane jen A, potřebuje pro A+C také službu. Její výpadek či odmítnutí podpisu pak může obnovu zastavit. Ztratí-li A i B, samotné C jej nezachrání. Proto se samostatný odchod a asistovaná obnova zkoušejí zvlášť. Také Casa ve svém návodu pro obnovu bez vlastní infrastruktury výslovně počítá s nedostupným klíčem služby. Konkrétní postup a potřebné vybavení závisejí na zvoleném produktu; nelze je odvodit ze slova „collaborative“. [1] [6]
Petr má své zálohy, ale náhradní aplikace ještě musí zjistit, jakou peněženku mají obnovit. U běžného 2-of-3 potřebuje veřejné klíče všech tří účastníků, včetně služby, a pravidla jejich použití. Veřejný klíč umožňuje ověřovat podpisy; soukromý je vytváří. Output Descriptor je strojově čitelný popis této konfigurace, včetně způsobu odvozování adres. Dvě vlastní Seed Phrase samy nedoplní chybějící veřejný klíč poskytovatele. Petr si proto export uloží a ověří, dokud služba funguje. Než jej někomu pošle, zkontroluje obsah: obecný formát descriptoru může obsahovat i soukromé klíče. [4] [5]
Koordinátor je program, který skládá podklady; podepisující má klíč, jímž platbu schvaluje. PSBT, formát popsaný v BIP 174, přenáší rozpracovanou transakci a potřebné údaje mezi programy a zařízeními. Vytvořením souboru se chybějící podpis nedoplní. Ani koordinátor bez klíče ale nemusí být neškodný: může Petrovi podstrčit jiného příjemce. Před podpisem je proto třeba ověřit adresu, částku, poplatek a change, tedy zbytek posílaný zpět do vlastní peněženky. Hardware Wallet pomáhá klíč oddělit od počítače; stále záleží na tom, co její displej umožňuje ověřit a co Petr skutečně potvrdí. [2] [3]
Chyba může vzniknout už před první platbou, když aplikace sestavuje společnou peněženku. BIP 129 popisuje předání klíčů a konfigurace tak, aby účastníci porovnali podpisový práh, zapojené klíče a první adresu. Patří sem typ skriptu, tedy zápisu podmínek utracení, a odvozovací cesty, podle kterých vznikají další klíče. Podstrčené nastavení může nasměrovat vklady jinam. Dokument však sám neřeší odolnost úložiště zařízení ani jeho pozdější kontroly přijímacích a change adres. Podpora standardu proto není potvrzením bezpečnosti celého výrobku. [2]
XPUB je rozšířený veřejný klíč, ze kterého lze odvozovat veřejné klíče dané větve peněženky. Znalost takových údajů a konfigurace může poskytovateli umožnit sledovat adresy a platby, i když nemá dost podpisů k utracení. Připojí-li k nim účet se jménem klienta, vzniká další vazba. Soukromí a oprávnění utrácet jsou proto různé otázky. Také tvrzení, že služba sama nezaplatí, má podmínky: stále může získat další Petrův klíč nebo jej oklamat, aby podepsal škodlivou transakci. Menší pravomoc poskytovatele některá rizika omezuje, neodstraňuje všechna. [2] [4]
Petr ztratí klíč a v aplikaci si založí nový. Tím však starý klíč nepřestal platit pro dřívější vklady. Výstup transakce je záznam částky a podmínek, za nichž ji lze později utratit. Dřívější vklady existují jako UTXO, dosud neutracené výstupy transakcí, s vlastními podmínkami utracení. U běžného Multisig je potřeba sestavit nové podmínky a příslušné prostředky do nich převést potvrzenou transakcí. Potom se kontroluje, co zůstalo na starých adresách. Změna hesla k účtu nebo názvu klíče tento přesun nenahradí. Aktualizovat je nutné také konfiguraci a rodinné pokyny, jinak mohou dědicové pracovat s plánem, který už neodpovídá skutečnosti. [4] [9]
Dobrý nácvik probíhá na oddělené testovací peněžence. Petr načte uloženou konfiguraci do kompatibilního nástroje, porovná adresy a ověří, že vlastními klíči dokáže podepsat bez původní služby. Režim watch-only ukazuje adresy a zůstatek, ale nedokazuje schopnost podepsat. Caravan je příklad otevřeného koordinátoru; podporu konkrétního formátu a zařízení je potřeba ověřit. Do zkoušky patří také asistovaná obnova, nedostupný klíč, poplatky a change. Výsledkem má být srozumitelný zaznamenaný postup včetně použitých verzí, nikoli jen pocit bezpečí z obrazovky se zůstatkem. [3] [6] [7]
Pro nejúplnější obraz čtěte toto heslo společně s Multisig, Vlastní úschova, Output Descriptor, PSBT, Bitcoin Inheritance Plan, Counterparty risk. Opačným směrem na něj odkazují také Bitcoin Inheritance Plan, Institutional custody.