

Podpisy Schnorra to cyfrowy podpis, zwiększający prywatność i skalowalność sieci Bitcoin. Klaus – Peter Schnorra, profesor Uniwersytetu Frankfurckiego zaproponował to rozwiązanie w 1991 roku. Tym samym zmodyfikował schematy El-Gamala i Fiata-Shimara.
Elliptic Curve digital Signature Algorithm
Kiedy Satoshi Nakamato myślał o stworzeniu Bitcoina, podpisy były bardzo mało znane. Cóż, tworząc Bitcoina, Nakamoto i tak musiał wybrać jedną z metod podpisu open source. Algorytm musiał również spełniać wszystkie zasady bezpieczeństwa. Takie wymagania posiadał jedynie ECDSA (Elliptic Curve Digital Signature Algorithm). Algorytm ten był wspierany przez protokół OpenSSL. Co to jest? To narzędzia szyfrujące, poprawiające jakość i komunikację online. Sam ECDSA charakteryzował się zdecydowanie mniejszymi wymaganiami obliczeniowymi i krótkimi kluczami. A przy wykorzystaniu dodatkowych systemów, w tym przypadku RSA zapewniał spory poziom bezpieczeństwa. Co istotne – 256 – bitowy klucz ECDSA zapewniał taki sam poziom bezpieczeństwa, jak klucz RSA o rozmiarze 02072 bitów. RSA zachowywał jednocześnie niewielką część jego rozmiaru.
Deweloperzy, którzy pracowali nad ulepszeniem krzywej eliptycznej cecp256k1 jeszcze bardziej ulepszyli ECDSA. Jednakże algorytm ten posiada niedociągnięcia i braki, które trzeba było zmienić. I w tym momencie pojawia się nowe rozwiązanie, zwane jako podpisy Schnorra. Co ciekawe, poprzednikiem ECDSA było DSA – hybryda systemów ElGamal i Schnorr.
Podpisy Schnorra
W 2008 roku wygasł patent Clausa Schnorra. Dokładnie w tym samym roku, w którym Satoshi przedstawił światu Bitcoina. Nie były one jednak bardzo znane. Najprawdopodobniej dlatego Satoshi zdecydował się na wykorzystanie ECDSA. Co nam dają podpisy? Korzyści:
1. Bezpieczeństwo. Podpisy wykorzystują dyskretny logarytm. Ich zaletą jest również to, że wykorzystują mniejszą liczbę założeń i mają wiarygodny dowód logiczny. Bezpieczeństwo podpisów udowadnia losowa wyrocznia.
2. Łatwość. Technologia aplikacji wykorzystującej podpisy jest przejrzysta i intuicyjna, co zdecydowanie ułatwia pracę kryptografom.
3. Nieelastyczność.
4. Liniowość. Są realizowane za pomocą matematyki liniowej. Co to znaczy? Podpisy mogą podlegać dodawaniu i odejmowaniu. W efekcie powstaje prawidłowy podpis. Liniowość podpisów pozwala na ich agregację, czyli łączenie kilku kluczy publicznych w jeden.
Multisygnatury oparty o podpisy Schnorra
Zanim wprowadzono podpisy Schnorra, ogłoszono publiczne testy nowego schematu – multisygnatury opartego o technologię omawianych podpisów. Testy miały zebrać feedback, aby w przyszłości wprowadzić bezbłędnie działający kod. Schematy multisygnaturowe zakładają, że użytkownicy danego systemu mają pełną kontrolę, kiedy i jak generowane są ich klucze. W rzeczywistości jednak, co jest widoczne w sieci Bitcoin, wielu użytkowników nie posiada dostępu do swoich prywatnych kluczy. Nie mają również kontroli nad tym, jak one powstają. Dlatego zaproponowano zmiany — Multisignature oparty o podpisy Schnorra.
Podpisy Schnorra — wdrożenie
Do ich wdrożenia wykorzystano standaryzację BIP – 340. Umożliwia ona integrację z protokołem Bitcoin. Aktualizacja nie wywołuje żadnych drastycznych zmian w samym środowisku sieci Bitcoin. Użycie tego schematu uważane jest za najlepsze, jakie istnieje. Jego właściwości matematyczne
zapewniają bardzo wysoką dokładność obliczeń. Transakcje potwierdzane są bardzo szybko. Wprowadzenie podpisów Schnorra do systemu Bitcoin jest tak niezauważalna, że tylko nad wyraz czujni użytkownicy sieci zauważą zmiany w adresie SegWig. Podpisy nie zastąpią ECDSA w Bitcoinach. Będą razem współistnieć.
Podpisy Schnorra częścią Taproot Bitcoina
Co ciekawe, Podpisy Schnorra są ściśle powiązane z Taprootem Bitcoina. Taproot, czyli BIP 341. To druga część „oferty”. Powiązana ze Schnorrem, Taproot i Tapscript. Jeżeli Schnorr proponuje nam nowy typ podpisu, wówczas Taproot rozszerza ich funkcjonalność. Wprowadza nową wersję, wynikającą z transakcji i nowy sposób określania warunków wydatkowania.
Aktualizacja Taproot zawiera w szczególności dwa elementy, które powodują większą prywatność i wydajność:
- Sygnatury Schnorra, „nowy” algorytm podpisu, pod wieloma względami bardziej wydajny niż ECDSA, chociaż oba należą do tej samej rodziny krzywych eliptycznych,
- implementacja MAST (Merkelized Abstract Syntax Tree), o nazwie Taproot. Dlatego konieczne jest rozróżnienie między globalną aktualizacją a tym konkretnym jej elementem, które mają tę samą nazwę.
Podpisy Schnorra są nie tylko wydajniejsze (zrozum: szybciej weryfikowalne), ale przede wszystkim charakteryzują się bardzo ciekawą liniowością charakterystyczną dla adresów i transakcji wielopodpisowych, która stanie się nie do odróżnienia od bardziej tradycyjnych adresów i transakcji jednopodpisowych. W połączeniu z MAST pozwolą również na ujawnienie tylko faktycznie używanej części skryptu, oszczędzając w ten sposób miejsce w bloku i zachowując w tajemnicy inne warunki skryptu.
Multisygnatury Schnorra – jak działają
Podpisy cyfrowe muszą dostarczyć dowód, że transakcja została podpisana przez właściciela konkretnego klucza prywatnego. Faktycznie wygląda to tak, że zdecydowana większość użytkowników Bitcoina wysyła swoje transakcje tylko z jednym podpisem. Jest on identyfikowany przez adres wysyłania właściciela tego klucza. Multisygnatury zapewniają taki sam dowód kryptograficzny dla wielu właścicieli portfela. Wtedy każdy właściciel ma możliwość wygenerowania swojego podpisu. Sygnatury Schnorra, to szczególna multisygnatura. Jest mała – zaledwie 64 bajty i bardzo prosta w weryfikacji.
Podsumowanie
Aby Bitcoin został masowo zaadoptowany, musi posiadać jak największy poziom bezpieczeństwa. Rosnące zainteresowanie wokół tematu walut cyfrowych, giełd kryptowalutowych sprawia, że bitcoin zarówno się rozwija, jak i naraża się na potencjalne zagrożenia. Pojawienie się sygnatur Schnorra w Bitcoin Core rozwiązuje dwa główne problemy – prywatności i długoterminowej stabilności sieci bez nagród blokowych.
Odkryj staking z tokenem KNG na Kanga Exchange