Multisig zabezpiecza bitcoiny, wymagając do ich wydania podpisów kilku wskazanych kluczy. W regule 2 z 3 wystarczą dowolne dwa spośród trzech różnych kluczy. Utrata jednego nie musi oznaczać utraty pieniędzy, a złodziej z jednym kluczem nie może ich wydać. Warunkiem są właściwe kopie zapasowe i rzeczywiste rozdzielenie kluczy.
Alicja nie chce uzależniać wszystkich oszczędności od jednego urządzenia. Tworzy portfel 2 z 3 z niezależnymi kluczami A, B i C. Płatność może zatwierdzić para A + B, A + C albo B + C. Każdy podpis jest matematycznie sprawdzalną zgodą utworzoną odpowiednim kluczem prywatnym; sam klucz nie trafia do sieci. Jeśli Alicja straci A, nadal może użyć B i C, o ile ma też potrzebne dane portfela. Kto ukradnie wyłącznie A, sam nie wyśle pieniędzy. Bitcoiny nie są przy tym podzielone na trzy kupki: wspólna reguła chroni całość objętych nią środków. Klucze mogą należeć do trzech osób albo jednej osoby korzystającej z oddzielnych urządzeń. Trzy kopie tej samej Seed Phrase, czyli tego samego zestawu słów do odzyskiwania, nie tworzą trzech niezależnych kluczy. [1] [2]
Alicja wpisuje w aplikacji adres odbiorcy i kwotę. Aplikacja jako koordynator przygotowuje propozycję transakcji i przekazuje ją urządzeniom podpisującym. Często używa PSBT: formatu przenoszącego dane płatności i stopniowo dodawane podpisy. Urządzenia nie muszą więc być podłączone jednocześnie ani znajdować się w tym samym miejscu; klucze prywatne pozostają oddzielone. Przed podpisaniem Alicja sprawdza odbiorcę, kwotę i opłatę na zaufanym ekranie każdego używanego urządzenia. Na podstawie zweryfikowanych reguł portfela urządzenie powinno też rozpoznać wyjście zwracające jej resztę. Dwa podpisy pod podmienioną płatnością jej nie uratują. Koordynator nie wymyśli brakującego podpisu, ale może przedstawić błędną propozycję. Dopiero po uzyskaniu wymaganych podpisów i sfinalizowaniu transakcji aplikacja rozgłasza ją w sieci. [5]
Każdy niezależny klucz wymaga własnej bezpiecznej kopii. Do odzyskania całego portfela nie wystarczą jednak automatycznie dwa zestawy słów. Potrzebna jest również wspólna konfiguracja: liczba wymaganych podpisów, publiczne dane wszystkich trzech kluczy, ich kolejność oraz sposób tworzenia adresów. Można ją zachować jako Output Descriptor, dokładny techniczny opis portfela, albo równoważny eksport konfiguracji. Publiczny deskryptor bez kluczy prywatnych sam nie podpisze płatności, ale może ujawnić adresy i przepływy środków, dlatego także powinien pozostać prywatny. Alicja najpierw sprawdza przyjmowanie, wysyłanie i odzyskiwanie niewielkiej kwoty. Jeśli później straci A lub podejrzewa jego wyciek, usunięcie urządzenia z aplikacji nie zmieni starej reguły. Pozostałymi kluczami musi przenieść środki na nowe, sprawdzone adresy oparte na nowym zestawie kluczy. [4] [6]
Reguła 2 z 3 pozwala stracić jeden klucz; reguła 2 z 2 nie pozwala stracić żadnego. Jednocześnie przy pierwszej regule środki wyda dowolna para, także dwie osoby, które porozumieją się bez trzeciej. Właściwa konfiguracja zależy więc od tego, czyje pieniądze chroni i jakie awarie ma przetrwać. Jeśli Alicja trzyma wszystkie urządzenia i kopie w jednej szufladzie, pojedyncza kradzież lub pożar mogą zniweczyć korzyść z rozdzielenia. Więcej pracy wymagają też sprawdzanie płatności, zgodność portfeli i odzyskiwanie. Warunki wydania zapisuje się tu w skrypcie, czyli krótkim programie. Zwykła skryptowa transakcja multisig zazwyczaj zajmuje więcej miejsca niż porównywalna transakcja z jednym podpisem i przy tej samej stawce opłat kosztuje więcej. Dla początkującej osoby prosty portfel, który dobrze zna, może być bezpieczniejszy niż skomplikowana konfiguracja, której nie rozumie. [1] [2]
Ogólny zapis m z n oznacza, że potrzeba m poprawnych podpisów spośród n wskazanych kluczy. W klasycznym skryptowym Multisig klucze publiczne i ten próg należą do warunku wydania. Wyjście transakcji określa go bezpośrednio lub jest kryptograficznie powiązane z odpowiednim skryptem. Przy wydawaniu węzły, czyli komputery kontrolujące reguły Bitcoina, sprawdzają wymagane podpisy i dane skryptu; nie chodzi jedynie o zgodę aplikacji. W deskryptorach multi zachowuje podaną kolejność kluczy publicznych, a sortedmulti sortuje je według ścisłej reguły. Ścieżka wyprowadzania określa, które konkretne klucze portfel ma obliczyć na podstawie danych początkowych. Nieprawidłowa kolejność lub inne ścieżki wyprowadzania kluczy mogą dać inne adresy. Deskryptor pozwala portfelowi odtworzyć te warunki; sam nie jest zapisywany w blockchainie jako plik konfiguracji. Ten opis dotyczy zwykłego skryptowego Multisig. Inne konstrukcje mogą pozwalać kilku uczestnikom wspólnie utworzyć jeden podpis i mają własne zasady. [3] [4] [7]
Reguła 2 z 3
Multisig z trzema różnymi kluczami wymaga prawidłowych podpisów dowolnych dwóch. Jeden skradziony klucz nie wystarcza; po utracie jednego pozostałe dwa pozwalają wydać środki, jeśli dostępne są też potrzebne dane skryptu. Rozdziel klucze i ich kopie oraz zachowaj pełny Output Descriptor lub równoważną politykę portfela.
Pełniejszy obraz uzyskasz, czytając to hasło razem z Private Key, Portfel, PSBT. Do tego hasła prowadzą również odsyłacze z HD Wallet, Cold Storage, Watch-only Wallet, Change Address.
01Czy Multisig jest automatycznie bezpieczniejszy niż jedna Hardware Wallet?+
Nie. Poprawnie rozdzielone klucze i kopie mogą ograniczyć pojedynczy punkt awarii, ale więcej uczestników zwiększa złożoność obsługi. Potrzebna jest zweryfikowana polityka portfela i przetestowane odzyskiwanie; przejęty wspólny koordynator może pokazać wszystkim tę samą błędną płatność.
02Czy wszystkie klucze Multisig muszą być w jednym miejscu podczas podpisywania?+
Nie. PSBT umożliwia oddzielne przekazywanie danych i podpisów bez gromadzenia kluczy prywatnych. Każdy podpisujący powinien sprawdzić odbiorców, kwoty i opłatę. Przed rozgłoszeniem trzeba sfinalizować transakcję wymaganymi prawidłowymi podpisami i spełnić wszystkie pozostałe warunki wejść.