SLH-DSA (ang. Stateless Hash-Based Digital Signature Algorithm) to bezstanowy algorytm podpisu cyfrowego oparty wyłącznie na funkcjach skrótu, opisany w standardzie NIST FIPS 205 z 13 sierpnia 2024 roku. Wywodzi się z algorytmu SPHINCS+, jednego z laureatów konkursu NIST na kryptografię odporną na komputery kwantowe. Jest uznawany za najbardziej konserwatywny z nowych podpisów: jego bezpieczeństwo zależy tylko od tego, czy da się złamać funkcję skrótu, taką jak SHA-256.
Z mojej perspektywy SLH-DSA jest ciekawy przede wszystkim przez bitcoina. W dyskusjach o tym, jak zabezpieczyć BTC przed komputerami kwantowymi, podpisy oparte na funkcjach skrótu mają wśród deweloperów więcej zwolenników niż podpisy kratowe, choć płaci się za nie ogromnym rozmiarem. Wyjaśniam, skąd ta sympatia i gdzie leżą ograniczenia.
Co to jest SLH-DSA w prostych słowach
Funkcja skrótu to maszynka, która z dowolnych danych robi krótki „odcisk palca”. Łatwo ją uruchomić w jedną stronę, ale nie da się jej odwrócić. Bitcoin korzysta z niej na każdym kroku: w kopaniu bloków, w adresach, w drzewie Merkle.
Najprostszy podpis z funkcji skrótu działa tak: losujesz pary tajnych liczb, a publikujesz tylko ich skróty. Podpisując wiadomość, ujawniasz część tajnych liczb, a każdy może je zahaszować i porównać z opublikowanymi skrótami. Taki klucz wolno jednak użyć tylko raz, bo każdy podpis zdradza kawałek sekretu. SPHINCS+ i SLH-DSA rozwiązują ten problem, budując z tysięcy takich jednorazowych kluczy wielopoziomowe drzewo (hiper-drzewo). Klucz publiczny to tylko korzeń tego drzewa, więc ma zaledwie 32–64 bajty. Za to podpis musi zawierać jednorazowy podpis i całą ścieżkę dowodu przez drzewo, więc rośnie do kilku, a nawet kilkudziesięciu kilobajtów.
Właśnie dlatego SLH-DSA ma tak dobrą opinię wśród kryptografów. Nie dokłada żadnego nowego założenia matematycznego. Jeśli przestaną działać funkcje skrótu, i tak mamy znacznie większy problem niż podpisy.
Bezstanowy kontra stanowy: SLH-DSA, XMSS i LMS
Istnieją starsze i mniejsze podpisy oparte na funkcjach skrótu: XMSS i LMS, zatwierdzone przez NIST w SP 800-208 z 2020 roku. Mają jedną poważną wadę: są stanowe. Portfel musi pamiętać, które jednorazowe klucze już zużył. Jeśli przywrócisz kopię zapasową sprzed miesiąca i podpiszesz coś ponownie tym samym kluczem, możesz ujawnić sekret i pozwolić na fałszowanie podpisów. Do aktualizacji firmware w jednym urządzeniu to akceptowalne, do portfela z seedem na kartce i kilkoma kopiami już nie.
SLH-DSA jest bezstanowy. Wybiera ścieżkę w drzewie pseudolosowo, a drzewo jest tak ogromne, że ryzyko kolizji jest pomijalne. Nie musisz niczego zapamiętywać, możesz trzymać klucz w wielu kopiach i podpisywać ile chcesz. Ceną jest właśnie rozmiar i czas podpisywania. Projekt QRL od lat używa stanowego XMSS, więc nie myl go z SLH-DSA.
Warianty i rozmiary według FIPS 205
Standard definiuje 12 zestawów parametrów. Różnią się trzema rzeczami: funkcją skrótu (SHA2 albo SHAKE), poziomem bezpieczeństwa (128, 192 lub 256, co odpowiada kategoriom NIST 1, 3 i 5) i wariantem „s” (small, mniejszy podpis, wolniejsze podpisywanie) lub „f” (fast, szybsze podpisywanie, większy podpis). Rozmiary dla SHA2 i SHAKE są identyczne.
- SLH-DSA-128s: klucz publiczny 32 bajty, podpis 7856 bajtów.
- SLH-DSA-128f: klucz publiczny 32 bajty, podpis 17 088 bajtów.
- SLH-DSA-192s: klucz publiczny 48 bajtów, podpis 16 224 bajty.
- SLH-DSA-192f: klucz publiczny 48 bajtów, podpis 35 664 bajty.
- SLH-DSA-256s: klucz publiczny 64 bajty, podpis 29 792 bajty.
- SLH-DSA-256f: klucz publiczny 64 bajty, podpis 49 856 bajtów.
Klucz prywatny ma dwa razy więcej bajtów niż publiczny, czyli 64, 96 lub 128 bajtów. Dla porównania podpis ECDSA w bitcoinie to około 71–72 bajty, a podpis ML-DSA-44 to 2420 bajtów. Najmniejszy podpis SLH-DSA jest więc ponad 100 razy większy niż ECDSA i ponad trzy razy większy niż najmniejszy ML-DSA. Pełne nazwy wariantów mają postać np. SLH-DSA-SHA2-128s lub SLH-DSA-SHAKE-256f.
Gdzie SLH-DSA ma sens
- Zapasowy algorytm. NIST ustandaryzował SLH-DSA obok ML-DSA właśnie po to, żeby mieć podpis oparty na zupełnie innej matematyce. Jeśli ktoś znajdzie skuteczny atak na kraty, SLH-DSA nadal działa.
- Rzadkie, ważne podpisy. Certyfikaty główne, podpisy oprogramowania, archiwa dokumentów. Tam liczy się bezpieczeństwo na dekady, a rozmiar i czas podpisywania mają mniejsze znaczenie.
- Ścieżka awaryjna w portfelu. Klucz SLH-DSA może leżeć w ukrytej gałęzi adresu i zostać użyty tylko wtedy, gdy podstawowy podpis przestanie być bezpieczny.
Oprogramowanie już to obsługuje: SLH-DSA jest w OpenSSL od wersji 3.5.0 z kwietnia 2025 roku, razem z ML-DSA.
SLH-DSA w Bitcoinie i innych sieciach
Bitcoin ma dla podpisów opartych na funkcjach skrótu naturalną sympatię, bo całe jego bezpieczeństwo i tak opiera się na SHA-256. Propozycja BIP-360 (Pay-to-Merkle-Root, P2MR), dodana do repozytorium BIP jako szkic w lutym 2026 roku, wymienia SLH-DSA obok ML-DSA jako przykładowy algorytm do przyszłego wdrożenia, ale sama żadnego podpisu postkwantowego nie wprowadza. Pozwala za to schować dodatkowe ścieżki wydania w drzewie skryptów, co pasuje do roli SLH-DSA jako zabezpieczenia awaryjnego.
Ciekawszy jest kierunek „odchudzonych” podpisów z tej samej rodziny. W maju 2026 roku Jonas Nick z Blockstream opisał SHRINCS, schemat oparty na SHA-256 i będący optymalizacją SPHINCS+. Ma ścieżkę stanową z podpisem około 580 bajtów i bezstanową ścieżkę awaryjną z podpisem około 4,3 KB. Sam autor nazywa go wstępną propozycją, a nie gotowym BIP. W dyskusji nad kwietniowym szkicem BIP opartym na ML-DSA-65 część deweloperów otwarcie wskazywała SLH-DSA lub XMSS jako lepszy kompromis. Na październik 2026 nie ma ani wybranego algorytmu, ani daty soft forka.
Poza bitcoinem: testowana wersja QRL 2.0 przewiduje portfele SPHINCS+-256s obok ML-DSA-87, a Fundacja Ethereum w planie postkwantowym stawia dla walidatorów na podpisy oparte na funkcjach skrótu (leanXMSS), choć w stanowej odmianie i z agregacją.
Co to oznacza dla Ciebie
Dziś nic nie musisz zmieniać. Twoje bitcoiny nie staną się bezpieczniejsze dlatego, że gdzieś opublikowano FIPS 205, a żaden znany komputer kwantowy nie łamie obecnie secp256k1. Gdy Bitcoin wprowadzi nowe adresy, zobaczysz to w aktualizacji portfela i w szerokiej debacie, a nie w wiadomości od nieznajomego.
- Nie wierz w „jutrzejsze” złamanie bitcoina. Przejście na nowe podpisy to proces liczony w latach, a dyskusja o nim jest publiczna.
- Uważaj na oszustów żerujących na strachu: fałszywe aktualizacje „SPHINCS+ dla Twojego portfela”, „kwantowe sejfy” i aplikacje, które proszą o seed lub klucz prywatny. To zawsze kradzież.
- Pamiętaj, że podpis SLH-DSA jest duży. Jeśli kiedyś trafi do bitcoina, transakcje z nim będą znacząco droższe niż dzisiejsze, co zmieni koszt konsolidacji UTXO i wypłat z giełd.
Ryzyka i ograniczenia SLH-DSA
- Rozmiar. Od około 7,8 KB do około 49,9 KB na podpis. W blockchainie oznacza to wysokie opłaty i drastyczny spadek przepustowości.
- Wolne podpisywanie. Szczególnie warianty „s” liczą podpis znacznie dłużej niż ECDSA czy ML-DSA, co jest odczuwalne na portfelach sprzętowych ze słabymi procesorami.
- Kompromis „s” kontra „f”. Mniejszy podpis oznacza wolniejsze podpisywanie, a szybsze podpisywanie oznacza ponad dwa razy większy podpis.
- Brak wygodnych funkcji. Nie ma prostej agregacji podpisów ani multisigu w jednym podpisie, jak przy Schnorrze.
- Brak decyzji w krypto. Bitcoin nie wybrał jeszcze żadnego algorytmu, więc SLH-DSA pozostaje kandydatem, a nie standardem sieci.
Najczęstsze pytania o SLH-DSA
Czy SLH-DSA to to samo co SPHINCS+?
SLH-DSA to ustandaryzowana wersja SPHINCS+ z drobnymi zmianami wprowadzonymi przez NIST, więc nie jest z nim w pełni zgodna bajt w bajt. Potocznie obu nazw używa się zamiennie.
Czym różni się SLH-DSA od ML-DSA?
ML-DSA opiera się na kratach, ma mniejsze podpisy i szybko podpisuje. SLH-DSA opiera się tylko na funkcjach skrótu, ma większe podpisy i wolniej podpisuje, ale jego założenia bezpieczeństwa są uznawane za bardziej konserwatywne.
Co oznaczają litery „s” i „f” w nazwie?
„s” to small, czyli wariant z mniejszym podpisem i wolniejszym podpisywaniem. „f” to fast, z szybszym podpisywaniem i większym podpisem. Weryfikacja jest szybka w obu przypadkach.
Czy SLH-DSA trafi do bitcoina?
Nie wiadomo. Jest wymieniany w BIP-360 jako możliwy kandydat, a deweloperzy rozważają też jego odchudzone warianty, np. SHRINCS. Na październik 2026 nie ma uzgodnionego wyboru ani terminu.
Podsumowanie
SLH-DSA to bezstanowy podpis postkwantowy z FIPS 205, wywodzący się z SPHINCS+ i oparty wyłącznie na funkcjach skrótu. Ma malutkie klucze publiczne i bardzo solidne założenia bezpieczeństwa, ale podpisy od 7856 do 49 856 bajtów i wolne podpisywanie. Dlatego w praktyce pełni rolę algorytmu zapasowego i podpisu do rzadkich, ważnych operacji, a w bitcoinie jest jednym z kandydatów, wokół których wciąż trwa dyskusja. Dla Ciebie najważniejsze jest dziś to, żeby nie dać się nabrać na „kwantowe” oszustwa i spokojnie śledzić, co faktycznie trafi do protokołu.


