Cold Storage oznacza trzymanie kluczy prywatnych do bitcoinów oddzielnie od codziennego komputera lub telefonu połączonego z internetem. Klucze tworzą podpisy, czyli weryfikowalne zgody na płatność. Możesz śledzić saldo online i przyjmować pieniądze przy wyłączonym urządzeniu podpisującym. Wysłanie wymaga jednak jego podpisu albo bezpiecznie odzyskanych kluczy. Rozdzielenie ogranicza ataki zdalne, ale nie zastępuje kopii zapasowej ani kontroli płatności.
Alicja chce trzymać bitcoiny przez długi czas, lecz laptopa używa też do pracy, poczty i pobierania plików. Nie chce, by włamanie do laptopa od razu oddało napastnikowi klucze do jej oszczędności. Tworzy je więc i przechowuje w oddzielnym zaufanym urządzeniu. Do aplikacji na laptopie przenosi tylko publiczne dane potrzebne do obserwowania portfela. Gdy wysyła bitcoiny z dotychczasowego portfela na wcześniej sprawdzony adres odbiorczy, urządzenie podpisujące może pozostać wyłączone. Sieć zapisuje płatność, a aplikacja pokazuje jej potwierdzenia; żaden plik z pieniędzmi nie jest pobierany do urządzenia. Miesiąc później Alicja chce przesłać część środków dalej. Laptop przygotowuje propozycję: komu, ile i za jaką opłatą. Alicja przekazuje ją urządzeniu podpisującemu, sprawdza dane na jego ekranie i dopiero wtedy potwierdza. Urządzenie tworzy podpis cyfrowy potwierdzający uprawnienie do wydania środków, nie ujawniając kluczy prywatnych. Podpisana transakcja wraca do aplikacji online, która rozgłasza ją w sieci. Ten podział pracy jest istotą Cold Storage. Sama nazwa nie mówi nic o jakości urządzenia, poprawności pokazanego adresu ani o tym, czy Alicja odzyska portfel po awarii. [7] [11]
Poza zwykłym komputerem online trzymamy klucze, nie bitcoiny. Każde UTXO, czyli jeszcze niewydane wyjście wcześniejszej płatności, nadal jest zapisane w publicznym blockchainie. Odłączenie wcześniej zainfekowanego laptopa nie wystarczy; metalowa płytka ze słowami to kopia zapasowa, nie urządzenie podpisujące. Plan powinien uwzględniać kradzież, pożar, awarię i śmierć właściciela. Glacier Protocol rozdziela więc przygotowanie, wpłaty, wypłaty, podgląd i utrzymanie. [9] [10]
Słowa kopii zapasowej nazywamy Seed Phrase. Opcjonalna passphrase to wybrany przez ciebie dodatkowy sekret służący do wyprowadzenia portfela, a nie PIN urządzenia. Multisig wymaga z kolei podpisów kilku kluczy. Utwórz klucze na zaufanym urządzeniu i zapisz format kopii, ewentualną passphrase oraz konfigurację portfela. BIP129 opisuje dwuetapowe przygotowanie Multisig z weryfikacją kluczy i wspólnej konfiguracji. Porównaj adres odbiorczy na urządzeniu podpisującym, nie tylko na komputerze. Zacznij od małego przelewu i sprawdź odbiór, wydanie oraz odzyskanie środków. Sam wpływ płatności nie dowodzi, że odzyskiwanie działa. [5] [11]
Seed Phrase i używana passphrase pozwalają ponownie wyprowadzić klucze; odnalezienie właściwego portfela może wymagać też innych danych. Inna passphrase prowadzi do innego portfela i nie zastępuje zapomnianej. Udziały kopii SLIP39 nie są kopiami seedu, czyli tajnych danych wyjściowych do wyprowadzania kluczy: odzyskiwanie wymaga określonej ich liczby. Chroń kopię przed kradzieżą, fotografowaniem i uszkodzeniem. Nigdy nie wpisuj prawdziwej kopii zapasowej na stronie internetowej ani na zwykłym komputerze online. [13] [14]
Air gap usuwa bezpośrednie połączenie sieciowe, ale dane nadal docierają przez QR czy microSD. Błąd programu odczytującego przesłane dane (parsera), złośliwe oprogramowanie wewnętrzne urządzenia (firmware) lub zwodniczy ekran mogą zagrozić także takiej konfiguracji. Używaj zweryfikowanego firmware, obsługiwanych formatów i niezależnej kontroli transakcji. Karta nie oczyszcza zainfekowanego komputera, a QR nie jest automatycznie bezpieczny. Również przewodowa Hardware Wallet może izolować klucze. Sam sposób połączenia nie gwarantuje bezpieczeństwa. [1] [7] [12]
Uwzględnij włamanie, potajemne kopiowanie, przymus i możliwość odzyskania przez spadkobierców. Jedno zdarzenie nie powinno ujawnić kluczy wystarczających do kradzieży ani zniszczyć tylu materiałów, że odzyskanie stanie się niemożliwe. Plomba może ujawnić manipulację, ale nie zapobiega kopiowaniu. Portfel ukryty lub pozorny nie gwarantuje ochrony przed przymusem. Opisz procedury i role bez niepotrzebnego ujawniania sekretów. Firmowa podwójna kontrola wymaga innej organizacji niż osobista piecza. [9] [10] [13]
Sprawdzaj stan kopii, czytelność instrukcji i zgodność urządzeń bez zbędnego ujawniania seedu. Bezpieczny test musi znaleźć właściwe UTXO z otrzymanych płatności oraz z reszty wracającej do własnego portfela oraz umożliwić prawidłowy podpis; samo przyjęcie listy słów nie wystarczy. Wykonuj go na zaufanym urządzeniu. Przed zmianą urządzeń lub zasad portfela sprawdź cały proces małą kwotą. Przy podejrzeniu wycieku utwórz nowe niezależne klucze i bezpiecznie przenieś środki; nie niszcz starych materiałów przed sprawdzeniem nowej konfiguracji. [7] [9] [10]
Skrypt określa warunki wydania bitcoinów. Rozszerzony klucz publiczny xpub pozwala wyprowadzać kolejne klucze publiczne w danej gałęzi portfela. Aby utworzyć z nich adresy, trzeba też znać typ skryptu określający warunki wydania środków. Sam xpub nie pozwala podpisywać płatności. Koordynator online to aplikacja z publicznymi danymi portfela. Znajduje UTXO, wyprowadza adresy i buduje niepodpisaną transakcję; urządzenie podpisujące przechowuje klucze prywatne. Output Descriptor opisuje skrypty i pochodzenie kluczy, a suma kontrolna pomaga wykryć błędy kopiowania. Publiczny descriptor lub xpub zwykle sam nie pozwala wydać środków, ale może ujawnić adresy i salda. Przejęty koordynator może też podmienić odbiorcę. [4] [8] [15]
PSBT według BIP174 przenosi niepodpisaną transakcję wraz z danymi do podpisania. Dane są uporządkowane w mapach, czyli zestawieniach oznaczeń i przypisanych im wartości: dla całej transakcji oraz osobno dla każdego wejścia i wyjścia. Plik zaczyna się od bajtów 0x70 0x73 0x62 0x74 0xff. Koordynator przygotowuje dane, urządzenie dodaje podpis; po zebraniu podpisów i finalizacji można rozgłosić wynikową transakcję. Urządzenie offline nie potrzebuje więc własnej bazy UTXO. BIP370 opisuje PSBT v2, a BIP371 dodaje pola Taproot. Zgodność urządzeń sprawdź wcześniej. [1] [2] [3] [6] [7]
Przed zatwierdzeniem sprawdź na zaufanym ekranie odbiorcę, kwotę, opłatę lub jej stawkę oraz wyjścia zwracające resztę do własnego portfela, czyli change. Zwróć też uwagę na pokazane wejścia i tryb sighash, który określa, jakie części transakcji obejmuje podpis. BIP174 wymaga weryfikacji, że proponowana reszta należy do oczekiwanego portfela; etykieta z komputera nie wystarczy. Przy dużej płatności potwierdź adres innym niezależnym, uwierzytelnionym kanałem, ewentualnie z drugą osobą. [1] [11] [12]
W konfiguracji m-of-n do podpisania potrzeba m spośród n kluczy. Stratę można przetrwać, jeśli pozostaje co najmniej m dostępnych kluczy. Napastnik potrzebuje natomiast co najmniej m, aby samodzielnie wydać środki. Nie myl tych warunków. Same seedy mogą nie odtworzyć portfela: zachowaj descriptor lub konfigurację Bitcoin Secure Multisig Setup (BSMS), w tym xpuby, kolejność kluczy, ścieżki wyprowadzania (kolejne kroki obliczania poszczególnych kluczy) i typ skryptu. Większa złożoność pomaga tylko wtedy, gdy umiesz nią zarządzać i odtworzyć cały system. [4] [5] [8]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Hardware Wallet, Samodzielne przechowywanie bitcoinów, Air-gapped Wallet, PSBT, Seed Phrase, BIP 39. Do tego hasła prowadzą również odsyłacze z Hardware Wallet, Watch-only Wallet, PSBT, Custodial Exchange.