Podpis cyfrowy
Digital signature, czyli podpis cyfrowy, to kryptograficzny dowód, że konkretna wiadomość albo transakcja została autoryzowana przez posiadacza odpowiedniego klucza prywatnego.
Czym jest podpis cyfrowy
W blockchainach podpis cyfrowy potwierdza, że właściciel klucza prywatnego autoryzował konkretną akcję.
Portfel tworzy podpis na podstawie danych transakcji albo wiadomości. Sieć albo aplikacja może potem sprawdzić podpis przy pomocy klucza publicznego lub adresu wynikającego z tego klucza.
Jeśli podpisywana treść zostanie zmieniona, weryfikacja podpisu nie przejdzie. To chroni integralność danych i pozwala przypisać autoryzację do konkretnego klucza.
Co daje podpis cyfrowy
- Autoryzacja
- Pokazuje, że akcja została zatwierdzona przez posiadacza klucza prywatnego.
- Integralność
- Zmiana podpisanej wiadomości powoduje, że podpis przestaje pasować.
- Weryfikacja
- Inni mogą sprawdzić podpis bez poznawania klucza prywatnego.
- Kontrola środków
- W blockchainach poprawny podpis pozwala wydać środki albo wykonać operację z konta.
- Ryzyko UX
- Użytkownik może podpisać złą akcję, jeśli interfejs ukryje prawdziwe skutki.
Jak działa w portfelu
Gdy wysyłasz transakcję, portfel pokazuje jej szczegóły i prosi o zatwierdzenie. Po zatwierdzeniu tworzy podpis przy użyciu klucza prywatnego.
Klucz prywatny nie powinien opuszczać portfela albo urządzenia sprzętowego. Podpis jest wynikiem operacji kryptograficznej, którą można zweryfikować publicznie.
Dlatego portfel może kontrolować adres bez ujawniania seed phrase. Sieć nie potrzebuje znać sekretu, żeby sprawdzić, czy transakcja została poprawnie autoryzowana.
Co sprawdzać przed podpisem
Podpis jest autoryzacją. Treść podpisu ma większe znaczenie niż wygląd strony.
- Adres kontraktu lub odbiorcy.
- Kwotę i token.
- Czy podpisujesz transakcję, approval czy wiadomość offchain.
- Czy strona pochodzi z oficjalnego źródła.
- Czy portfel pokazuje czytelny opis operacji.
- Czy podpis nie nadaje szerokich uprawnień do tokenów.
Najczęstsze błędne założenia
- Podpis cyfrowy nie szyfruje wiadomości. Potwierdza autoryzację i integralność.
- Podpis nie dowodzi, że człowiek zrozumiał skutki operacji.
- Podpis offchain też może mieć skutki finansowe, jeśli protokół później użyje go onchain.
- Hardware wallet nie ochroni przed świadomym zatwierdzeniem złośliwej operacji.
- Fałszywy frontend może przygotować poprawny kryptograficznie podpis dla złej akcji.
Poprawny podpis może autoryzować złą akcję
Blockchain sprawdza poprawność kryptograficzną podpisu. Nie sprawdza, czy transakcja była dla ciebie korzystna. Przed zatwierdzeniem czytaj szczegóły w portfelu i na ekranie hardware walleta.
