Podpisy Schnorra (ang. Schnorr signatures) to schemat podpisu cyfrowego opracowany przez Clausa-Petera Schnorra, wprowadzony do Bitcoina razem z aktualizacją Taproot. Specyfikację dla Bitcoina opisuje BIP340, a aktywacja nastąpiła w listopadzie 2021 roku. Schnorr działa na tej samej krzywej eliptycznej secp256k1 co wcześniejsze ECDSA, więc klucze prywatne i seed pozostają te same – zmienia się sposób podpisywania i weryfikacji.
Czym Schnorr różni się od ECDSA
| Cecha | ECDSA | Schnorr (BIP340) |
|---|---|---|
| Rozmiar podpisu | zmienny, zwykle 71–72 bajty | stały, 64 bajty |
| Klucz publiczny | 33 bajty | 32 bajty (tylko współrzędna x) |
| Liniowość | brak | tak – podpisy i klucze można sumować |
| Weryfikacja wsadowa | niepraktyczna | możliwa, szybsza dla wielu podpisów |
| Dowód bezpieczeństwa | słabszy formalnie | prostszy, dobrze zbadany |
Agregacja kluczy i MuSig
Najważniejsza cecha Schnorra to liniowość. Kilka kluczy publicznych można połączyć w jeden klucz zagregowany, a uczestnicy mogą wspólnie wytworzyć jeden podpis ważny dla tego klucza. Służą do tego protokoły z rodziny MuSig (np. MuSig2). Na łańcuchu taka transakcja wygląda jak zwykła płatność z jednego klucza.
Porównaj to z klasycznym portfelem multisig 2 z 3 opartym na ECDSA: skrypt ujawnia wszystkie klucze publiczne i dwa podpisy. Z MuSig wspólne wydanie wszystkich stron to jeden klucz i jeden podpis. Zyskujesz mniejszą transakcję, niższą opłatę i prywatność – obserwator nie odróżni wspólnego portfela od zwykłego. Schematy progowe (np. 2 z 3) są bardziej złożone i wymagają dodatkowych protokołów, ale idea jest ta sama.
Schnorr w Taproot
Taproot łączy Schnorra z drzewem skryptów. Wyjście Taproot ma jeden klucz publiczny. Jeśli wszyscy uczestnicy się zgadzają, wydają je ścieżką klucza – jednym podpisem Schnorra. Gdy trzeba skorzystać z alternatywnego warunku, np. klucza awaryjnego po czasie, ujawnia się tylko ta jedna gałąź skryptu, a reszta pozostaje ukryta.
Przykład
Załóżmy, że trzy osoby wspólnie wydają środki. Klasyczny multisig 3 z 3 w SegWit wymaga w witness trzech podpisów ECDSA (ok. 72 bajty każdy) i skryptu z trzema kluczami (ok. 105 bajtów) – razem ponad 320 bajtów witness. Wydanie ścieżką klucza Taproot z MuSig to jeden podpis 64 bajty. Przy stawce 30 sat/vB i rabacie witness (1 bajt = 0,25 vB) różnica około 256 bajtów to około 64 vB, czyli około 1920 sat na każdym wydaniu.
Najczęstsze błędy
- Przekonanie, że Taproot zmienił seed lub klucze – zmienił format adresów i podpisów, a nie krzywą.
- Utożsamianie agregacji kluczy z „łączeniem transakcji” – MuSig dotyczy jednego wejścia, a nie wielu użytkowników.
- Założenie, że Schnorr chroni przed komputerem kwantowym – nie chroni, podobnie jak ECDSA.
- Własne implementacje podpisów – błąd w generowaniu nonce może ujawnić klucz prywatny.
Perspektywa tradera
Dla tradera Schnorr to przede wszystkim praktyczne korzyści przy przechowywaniu kapitału: tańsze i bardziej prywatne wydatki z portfeli wieloosobowych oraz adresy Taproot (bc1p…) obsługiwane przez coraz więcej portfeli. Jeśli trzymasz większą część kapitału w cold wallet albo we wspólnym portfelu firmy, rozwiązania oparte na MuSig mogą obniżyć koszty i ukryć strukturę zabezpieczeń. Sprawdź jednak, czy Twój portfel sprzętowy i oprogramowanie w pełni je obsługują – rozwiązanie niszowe bywa trudniejsze do odtworzenia w awaryjnej sytuacji.
Najczęstsze pytania
Kiedy podpisy Schnorra trafiły do Bitcoina?
Razem z aktywacją Taproot w listopadzie 2021 roku. Specyfikację opisuje BIP340.
Czy muszę przenieść środki, żeby korzystać ze Schnorra?
Podpisy Schnorra działają tylko dla wyjść Taproot. Środki na starszych adresach nadal podpisuje się ECDSA – działają poprawnie, ale nie korzystają z nowych możliwości.
Co to jest MuSig?
Protokół, w którym kilka osób tworzy wspólny klucz publiczny i jeden wspólny podpis Schnorra. Na łańcuchu wygląda to jak zwykła płatność z jednego klucza.
Czy podpisy Schnorra są bezpieczniejsze od ECDSA?
Oba schematy uznaje się za bezpieczne na tej samej krzywej. Schnorr ma prostszy dowód bezpieczeństwa i lepsze własności, ale nie chroni przed błędami implementacji ani przed zagrożeniem kwantowym.
Jak rozpoznać adres Taproot?
Adresy Taproot w sieci głównej zaczynają się od bc1p. Adresy natywnego SegWit v0 zaczynają się od bc1q i nadal używają podpisów ECDSA.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


