Czym jest Double Signing?
Double Signing to sytuacja, gdy walidator podpisuje dwa sprzeczne komunikaty dla tej samej wysokości lub rundy w sieci proof of stake. Wyobraź sobie dwa różne bloki lub głosy twierdzące, że są „tym jednym” w tym samym momencie. To jak zameldowanie się na dwóch koncertach dokładnie w tym samym czasie i oczekiwanie, że ochrona to zbagatelizuje.
„Double Signing to to samo co double spend.” Nie do końca. Podwójne wydanie to oszustwo transakcyjne, natomiast Double Signing to naruszenie konsensusu przez walidatorów, którzy podpisują sprzeczne dane dla tego samego slotu.
Jak działa Double Signing
Krótki przegląd, jak ktoś może mieć z tego problemy, celowo lub przez przypadek.
- Krok 1: Klucz walidatora jest aktywny i gotowy do podpisywania wiadomości dla łańcucha.
- Krok 2: Operator uruchamia drugi węzeł z tym samym kluczem lub klient ma błędną konfigurację przełączania awaryjnego. Ups.
- Krok 3: Oba węzły tworzą podpisy dla tej samej wysokości, ale dla różnych danych.
- Krok 4: Jeśli występują tymczasowe rozgałęzienia sieci, każda strona może otrzymać inny podpis z tego samego klucza.
- Krok 5: Peers wykrywają konflikt, rejestrują dowody, a protokół karze podpisującego.
Tak, to może być prosty błąd kliknięcia z bardzo nieprostymi konsekwencjami.
Dlaczego Double Signing ma znaczenie
Dlaczego powinno cię to obchodzić, nawet jeśli nigdy nie uruchamiasz węzła:
- Korzyść: Znajomość tego pomaga unikać konfiguracji, które narażają środki i reputację.
- W praktyce: Większość sieci reaguje przez slashing, ponieważ taki czyn osłabia zaufanie do konsensusu.
- Znaczenie: Spotkasz o tym wzmianki w dokumentach stakingowych, głosowaniach DAO i panelach walidatorów.
Uruchamiaj tylko jednego aktywnego podpisującego dla swojego klucza i traktuj przełączanie awaryjne ostrożnie. Stosuj alerty, architekturę sentry oraz zdalnego podpisującego, który odmówi podpisania dwa razy dla tej samej wysokości. Dowody znajdują się na blockchainie, więc nie ma gdzie się ukryć.
Główne cechy Double Signing
Podstawowe cechy, które można rozpoznać i zapamiętać:
- Konflikt: Dwa podpisy z tego samego klucza dla tej samej wysokości lub rundy, ale na różnych danych.
- Kara: Zwykle skutkuje utratą stakowanych środków i czasowym wyłączeniem z walidacji.
- Wykrywalne: Dowody są rozgłaszane i przechowywane, co utrzymuje uczciwość węzłów.
Warianty
Różne łańcuchy mogą to nazywać inaczej, ale to ten sam rodzaj błędu:
- Double vote: Dwa głosy dla tej samej wysokości na różnych blokach.
- Duplicate proposal: Dwie proponowane bloki dla jednej rundy od tego samego proponującego.
- Cross fork signing: Ten sam klucz podpisuje na konkurencyjnych gałęziach podczas tymczasowego podziału.
Większość przypadków Double Signing jest przypadkowa. Uruchomienie dwóch maszyn z tym samym kluczem wystarczy, by to wywołać, nawet na kilka sekund.
Przykład
Walidator uruchamia węzeł zapasowy bez wyłączenia podstawowego, oba podpisują blok na tej samej wysokości, a sieć wykrywa Double Signing w ciągu kilku minut.
Ciekawostka
Wielu klientów ma wbudowaną ochronę przed double sign, która śledzi ostatnie wysokości podpisane przez klucz, jak mały bramkarz, który odmawia drugiego fałszywego dowodu tożsamości.
Podsumowanie
Krótko: Double Signing to wersja naruszenia konsensusu polegająca na byciu w dwóch miejscach jednocześnie i otrzymaniu kary za udawanie, że wszystko jest w porządku.
