Miniscript + Taproot: zbuduj samoodzyskiwalny sejf Bitcoin z timelockiem i social recovery (praktyczny przewodnik 2026)
Miniscript + Taproot: zbuduj samoodzyskiwalny sejf Bitcoin z timelockiem i social recovery (praktyczny przewodnik 2026)
Czy Twój portfel BTC może sam się uratować, jeśli zgubisz urządzenie lub znikniesz na dłużej niż miesiąc? Dzięki Taproot, Miniscript, timelockom CLTV i CSV oraz procedurom social recovery można zaprogramować politykę wydatkowania, która daje szybki dostęp właścicielowi, a po czasie awaryjnym – bezpieczny dostęp opiekunom. Ten artykuł to praktyczny, unikalny przewodnik dla kategorii Bezpieczeństwo, Portfele, Web3 & DAO i Edukacja od Zera.
Dlaczego teraz: Taproot to już nie tylko ordinals
Wzrost użycia Taproot i dojrzałość bibliotek Miniscript sprawiają, że zaawansowane polityki przestają być domeną firm custody. Coraz więcej narzędzi wspiera descriptory i PSBT, co otwiera drogę do programowalnych sejfów dla osób prywatnych i zespołów krypto.
Co zbudujemy: sejf z trzema ścieżkami wydatkowania
Cel: adres Taproot z trzema alternatywnymi drogami wydatku, ukrytymi w drzewie skryptów (Taptree):
- Ścieżka 1 – klucz podstawowy: codzienne wydatki kluczem właściciela (key-path; szybka i tania).
- Ścieżka 2 – awaryjna krótka: po 30 dniach nieaktywności (CSV) właściciel może odzyskać środki z klucza zapasowego przechowywanego offline.
- Ścieżka 3 – social recovery: po 90 dniach (CLTV) środki może odblokować 2 z 3 zaufanych osób lub urządzeń firmowych.
Na łańcuchu ujawnia się tylko użyta ścieżka. Prywatność i koszty pozostają optymalne, dopóki korzystasz z key-path.
Polityka wydatkowania w Miniscript (schemat)
Poglądowy zapis polityki jako drzewo warunków:
tr(
pk(owner),
{
and(older(4320), pk(backup)),
and(after(ABS_TIME_90D), thresh(2, pk(trusteeA), pk(trusteeB), pk(trusteeC)))
}
)
- older(4320) to timelock względny CSV w blokach, ok. 30 dni przy 144 bloki na dobę.
- after(ABS_TIME_90D) to timelock bezwzględny CLTV liczony w czasie unix lub wysokości bloku.
- thresh(2,…) definiuje 2 z 3 podpisy w gałęzi social recovery.
Wiedza kluczowa: 3 filary bezpiecznego sejfu
- Taproot i Taptree: umożliwiają ukrycie złożonych skryptów za jednolitym adresem. Key-path (jednokluczowy wydatek) jest tańszy i bardziej prywatny; script-path ujawnia tylko użytą gałąź.
- Timelocki: CSV (OP_CHECKSEQUENCEVERIFY) pozwala na opóźnienie względne w blokach, a CLTV (OP_CHECKLOCKTIMEVERIFY) – na blokadę bezwzględną do konkretnego czasu lub wysokości bloku.
- Miniscript i Descriptory: Miniscript nadaje strukturę Bitcoin Script, dzięki czemu portfele i HSM potrafią analizować ryzyko, estymować koszty i generować prawidłowe ścieżki podpisu. Descriptory opisują politykę i pochodne adresy w sposób przenośny.
Wymagania sprzętowe i oprogramowanie
- Portfel sprzętowy z obsługą Taproot i PSBT; wsparcie Miniscript bywa eksperymentalne. Przykładowo: zaawansowane urządzenia klasy air-gapped, zestawy DIY i oprogramowanie desktopowe integrujące descriptory.
- Portfel desktop z obsługą descriptorów, PSBT i, opcjonalnie, kreatorem Miniscript. Przykłady: nowoczesne portfele open-source nastawione na Taproot i multisig.
- Biblioteki: rust-miniscript lub BDK do kompilacji polityki; bitcoin-cli do weryfikacji descriptorów w trybie signet lub testnet.
- Nośnik backupu: metalowy do zapisu seedów, koperty kryptograficzne dla kluczy opiekunów, oraz druk runbooka odzyskiwania.
Kroki wdrożenia na testnecie (zalecane)
- Generowanie kluczy: utwórz niezależne seedy BIP39 dla owner, backup, trusteeA, trusteeB, trusteeC. Zapisz na nośnikach metalowych; przechowuj w różnych lokalizacjach.
- Tworzenie polityki: zdefiniuj Miniscript według schematu powyżej; ustaw ABS_TIME_90D jako wysokość bloku plus zapas lub znacznik czasu unix + 90 dni.
- Kompilacja do descriptorów: skompiluj do formatu tr oraz wygeneruj tzw. output descriptor z kluczami w formacie xpub lub tr(pubkey,…). Zweryfikuj policy sanity w narzędziu miniscript.
- Wdrożenie w portfelu: zaimportuj descriptor jako watch-only w portfelu desktop; wygeneruj adresy depozytowe i zasil je niewielką ilością BTC na signet lub testnet.
- Symulacje:
- Wydatek key-path: podpisz PSBT tylko kluczem owner.
- Wydatek CSV po 30 dniach: zbuduj transakcję, poczekaj wymagane bloki, podpisz kluczem backup.
- Wydatek CLTV po 90 dniach: podpisz transakcję dwoma z trzech kluczy trustee.
- Runbook: spisz kroki odzyskiwania, lokalizacje kluczy i osoby kontaktowe. Wydrukuj w dwóch egzemplarzach; zaszyfruj wersję cyfrową.
Koszty, rozmiary i prywatność
| Rodzaj wydatku | Szac. rozmiar wejścia | Prywatność | Co się ujawnia |
|---|---|---|---|
| Key-path (owner) | ok. 57–65 vB | Wysoka | Brak skryptu; wygląda jak pojedynczy klucz |
| Script-path CSV (backup) | ok. 90–140 vB | Średnia | Ujawnia używaną gałąź i warunek CSV |
| Script-path CLTV 2 z 3 | ok. 120–200 vB | Średnia | Ujawnia progi podpisów i czas CLTV |
W praktyce większość operacji dziennych przechodzi przez key-path. Gałęzie skryptowe są używane wyłącznie awaryjnie.
Shamir, multisig czy Miniscript z timelockiem – co wybrać
| Metoda | Plusy | Minusy | Kiedy stosować |
|---|---|---|---|
| Shamir Secret Sharing (dzieli seed) | Bez zmian on-chain, niski koszt | Brak polityki czasowej; złożony operacyjnie | Drobne sejfy rodzinne, prosty podział kopii |
| Multisig M z N (bech32m lub Taproot) | Prosty mentalnie, dojrzałe narzędzia | Ujawnia strukturę przy wydatku; wyższy koszt | Sejfy zespołowe, compliance i audyt |
| Taproot + Miniscript + timelock | Prywatność, automatyczne ścieżki awaryjne | Kompleksowość konfiguracji, wsparcie narzędzi zróżnicowane | Zaawansowane sejfy, dziedziczenie, długie horyzonty |
Częste błędy i jak ich uniknąć
- Zbyt krótki CSV: 7–14 dni to mało na logistykę. Zacznij od 30–45 dni i przetestuj.
- CLTV w timestamp zamiast wysokości: rozważ blok wysokościowy dla deterministycznej granicy, unikniesz różnic w zegarach.
- Adresy wielokrotnego użytku: zawsze generuj nowy adres z tego samego descriptoru; nie mieszaj depozytów.
- Brak runbooka: bez procedury recovery zaufane osoby nie pomogą nawet z kluczami.
- Niekompatybilne portfele: sprawdź obsługę PSBT, Taproot script-path i descriptorów w tym samym ekosystemie narzędzi.
Warstwa prawna i podatkowa (PL/EU – wysokopoziomowo)
- Dziedziczenie: polityka CLTV może wspierać plan sukcesji, ale nie zastępuje testamentu. Zadbaj o instrukcje prawne dla opiekunów.
- Powierzenie kluczy: jeśli opiekunem jest podmiot gospodarczy, mogą pojawić się obowiązki AML lub ryzyka regulacyjne.
- Podatki: samo tworzenie sejfu nie generuje podatku; natomiast transfery między własnymi adresami i sprzedaż aktywów – już tak, zależnie od jurysdykcji.
To nie jest porada prawna ani podatkowa. Skonsultuj plan z doradcą.
Mini–case study: rodzinny sejf 2 z 3 z timelockami
- Uczestnicy: Owner, Backup, trzech Opiekunów z różnych miast.
- Parametry: CSV 4320 bloków (ok. 30 dni), CLTV po 90 dniach.
- Praktyka:
- Owner korzysta z key-path do codziennych wydatków.
- Po utracie urządzenia Owner czeka 30 dni i używa Backup.
- W scenariuszu skrajnym po 90 dniach 2 z 3 Opiekunów współpodpisuje wypłatę.
- Wnioski: zero ekspozycji multisig w codziennych transakcjach, a jednak gotowa siatka bezpieczeństwa.
Checklisty operacyjne
Dla właściciela
- Przetestuj wszystkie ścieżki na signet lub testnet zanim wpłacisz realne środki.
- Ustal kanał komunikacji z opiekunami i bezpieczne frazy weryfikacyjne.
- Aktualizuj runbook po każdej zmianie klucza lub wersji oprogramowania.
Dla opiekunów
- Przechowuj klucz w innej jurysdykcji lub przynajmniej w innej lokalizacji fizycznej.
- Co kwartał wykonuj test podpisu PSBT w środowisku testowym.
- Nie ujawniaj ról i lokalizacji kluczy publicznie (OPSEC).
FAQ & Support
- Czy mogę użyć FROST lub MuSig2 zamiast gałęzi 2 z 3? Tak, jako single-key key-path; to poprawia prywatność, ale wymaga kompatybilnych portfeli do wspólnego podpisu.
- Co jeśli źle wyliczę CLTV? Zawsze testuj na signet; preferuj wysokość bloku i dodaj bufor bezpieczeństwa.
- Czy da się dodać dead-man switch? Tak, ale zwykle wymaga zewnętrznego obserwatora lub pre-signed TX; rośnie ryzyko operacyjne.
Pro i kontra w skrócie
| Aspekt | Pro | Kontra |
|---|---|---|
| Bezpieczeństwo | Wielowarstwowa polityka, odporność na utratę klucza | Wyższa złożoność wdrożenia |
| Prywatność | Key-path nie ujawnia złożoności | Script-path odsłania gałąź przy awarii |
| Koszty | Tanie wydatki dzienne | Gałęzie skryptowe droższe w użyciu |
| UX | Automatyczne ścieżki awaryjne | Wymaga runbooka i dyscypliny backupów |
Wnioski i kolejne kroki
Taproot i Miniscript pozwalają zbudować sejf BTC odporny na życie: wygodny na co dzień, a jednocześnie wyposażony w timelocki i recovery zaufanych osób. Zanim wdrożysz na mainnecie:
- Zbuduj politykę i przetestuj pełny cykl na signet.
- Zweryfikuj interoperacyjność narzędzi: PSBT, import descriptorów, podpisy.
- Sformalizuj runbook i zdeponuj kopie offline w dwóch lokalizacjach.
CTA: Zaplanuj 2-godzinny sprint bezpieczeństwa. W tym tygodniu skonfiguruj wersję testową sejfu, wykonaj trzy testowe wypłaty i oceń komfort operacyjny zespołu lub rodziny.

