Podpis Schnorra to innowacyjny cyfrowy podpis, który przyczynia się do zwiększenia prywatności i skalowalności sieci Bitcoin. Autorstwo tego rozwiązania przypisuje się Klausowi-Peterowi Schnorrze, profesorowi Uniwersytetu Frankfurckiego, który przedstawił tę propozycję już w 1991 roku. W ramach tego osiągnięcia, dokonał modyfikacji schematów El-Gamala oraz Fiata-Shimara.
Elliptic Curve Digital Signature Algorithm
Gdy Satoshi Nakamoto rozważał stworzenie Bitcoina, technologie związane z podpisami cyfrowymi były stosunkowo mało znane. Pomimo tego, przy tworzeniu Bitcoina Nakamoto musiał dokonać wyboru spośród metod podpisów open source, jednocześnie spełniając wszelkie wymogi bezpieczeństwa. Spośród dostępnych opcji jedynie algorytm ECDSA (Elliptic Curve Digital Signature Algorithm) spełniał te kryteria, a także był wspierany przez protokół OpenSSL.
Co to jest OpenSSL? To narzędzie do szyfrowania, poprawiające jakość i bezpieczeństwo komunikacji online. Sam algorytm ECDSA wyróżniał się znacznie niższymi wymaganiami obliczeniowymi oraz krótkimi kluczami. Przy wykorzystaniu dodatkowych systemów, takich jak RSA, ECDSA zapewniał wysoki poziom bezpieczeństwa. Warto zauważyć, że klucz ECDSA o długości 256 bitów gwarantował taki sam poziom bezpieczeństwa co klucz RSA o długości 2048 bitów, przy jednoczesnym zachowaniu niewielkiej części jego rozmiaru.
Deweloperzy pracujący nad ulepszeniem krzywej eliptycznej secp256k1 jeszcze bardziej doskonalili ECDSA. Niemniej jednak algorytm ten posiadał pewne wady i braki, które wymagały poprawy. W tym kontekście pojawiło się nowe rozwiązanie, znane jako podpisy Schnorra. Warto podkreślić, że poprzednikiem ECDSA było DSA – hybryda systemów ElGamal i Schnorr.
Podpisy Schnorra
W roku 2008 wygasł patent Clausa Schnorra, zbiegając się z momentem, w którym Satoshi przedstawił światu Bitcoina. Chociaż podpisy Schnorra nie były wtedy szeroko znane, prawdopodobnie dlatego Satoshi zdecydował się na użycie ECDSA. Podpisy cyfrowe przynoszą nam szereg korzyści:
- Bezpieczeństwo: Podpisy opierają się na dyskretnym logarytmie, co sprawia, że są bezpieczne. Dodatkowo, wykorzystują mniejszą liczbę założeń, posiadając jednocześnie wiarygodny dowód logiczny, którym jest losowa wyrocznia.
- Łatwość: Technologia aplikacji korzystającej z podpisów jest przejrzysta i intuicyjna, co znacznie ułatwia pracę kryptografom.
- Nieelastyczność
- Liniowość: Podpisy są realizowane za pomocą matematyki liniowej. Oznacza to, że podpisy mogą być dodawane i odejmowane, tworząc w rezultacie poprawny podpis. Ich liniowość umożliwia również agregację, czyli łączenie kilku kluczy publicznych w jeden. To z kolei ułatwia zarządzanie i zwiększa wydajność w kontekście różnych zastosowań.
Multisygnatury oparty o podpisy Schnorra
Przed wprowadzeniem podpisów Schnorra ogłoszono publiczne testy nowego schematu multisygnatury, który wykorzystywał technologię omawianych podpisów. Celem testów było zebranie opinii i informacji zwrotnej, aby w przyszłości wprowadzić kod bezbłędnie funkcjonujący. Schematy multisygnaturowe zakładają, że użytkownicy systemu mają pełną kontrolę nad generowaniem swoich kluczy, kiedy i w jaki sposób. Niemniej jednak, w rzeczywistości, jak widać w sieci Bitcoin, wielu użytkowników nie ma dostępu do swoich prywatnych kluczy, co skutkuje brakiem kontroli nad procesem generowania kluczy. Z tego powodu zaproponowano zmiany — Multisignature oparty o podpisy Schnorra.
Podpisy Schnorra — wdrożenie
Do implementacji podpisów Schnorra wykorzystano standaryzację BIP-340, co umożliwiło ich integrację z protokołem Bitcoin. Aktualizacja ta nie wprowadza drastycznych zmian w samym środowisku sieci Bitcoin. Użycie tego schematu uważane jest za najbardziej optymalne dostępne rozwiązanie, a jego właściwości matematyczne zapewniają bardzo wysoką dokładność obliczeń. Transakcje, które korzystają z podpisów Schnorra, potwierdzane są bardzo szybko.
Wprowadzenie podpisów Schnorra do systemu Bitcoin odbyło się tak niezauważalnie, że tylko nadzwyczaj uważni użytkownicy sieci zauważą subtelne zmiany w adresie SegWit. Warto podkreślić, że podpisy Schnorra nie zastępują algorytmu ECDSA w środowisku Bitcoin; oba schematy współistnieją ze sobą.
Podpisy Schnorra częścią Taproot Bitcoina
Interesującym aspektem jest bliskie powiązanie Podpisów Schnorra z technologią Taproot w świecie Bitcoina. Taproot, czyli BIP-341, stanowi drugą część tej innowacyjnej “oferty”, która współgra zarówno z Schnorr, jak i z Tapscript.
Podczas gdy Schnorr proponuje nowy typ podpisu, Taproot rozszerza tę funkcjonalność, wprowadzając nową wersję wynikającą z transakcji oraz nowy sposób określania warunków wydatkowania. Aktualizacja Taproot w szczególności obejmuje dwa kluczowe elementy, które przynoszą większą prywatność i efektywność:
- Sygnatury Schnorra: Nowy algorytm podpisu, będący efektem ścisłego związku z rodziną krzywych eliptycznych, przewyższający efektywnością tradycyjny ECDSA.
- Implementacja MAST (Merkelized Abstract Syntax Tree) o nazwie Taproot: Ten element aktualizacji pozwala na osiągnięcie większej prywatności i efektywności poprzez umożliwienie ujawniania jedynie faktycznie używanej części skryptu. W rezultacie, oszczędzane jest miejsce w bloku, a jednocześnie zachowywane w tajemnicy są inne warunki skryptu.
Warto zauważyć, że choć nazwy są podobne, konieczne jest rozróżnienie między globalną aktualizacją a konkretnym jej elementem, aby dokładnie zrozumieć, jak te nowe funkcje wpływają na funkcjonowanie sieci Bitcoin. Podpisy Schnorra, oprócz swojej wydajności, charakteryzują się również fascynującą liniowością, co sprawia, że stają się nie do odróżnienia od bardziej tradycyjnych adresów i transakcji jednopodpisowych.
Multisygnatury Schnorra – jak działają?
Podpisy cyfrowe pełnią istotną rolę, udowadniając, że transakcja została autoryzowana przez posiadacza konkretnego klucza prywatnego. W praktyce większość użytkowników Bitcoina dokonuje przekazów finansowych, korzystając tylko z jednego podpisu, który jest związany z adresem właściciela danego klucza.
Multisygnatury, natomiast, oferują taki sam kryptograficzny dowód autoryzacji, ale dla wielu właścicieli portfela. W takim przypadku każdy z właścicieli ma zdolność generowania swojego indywidualnego podpisu. Sygnatury Schnorra reprezentują szczególny rodzaj multisygnatury. Są niewielkie, zajmują jedynie 64 bajty, i charakteryzują się prostotą w procesie 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