Що таке Double Signing?
Double Signing трапляється, коли валідатор підписує два конфліктні повідомлення для тієї самої висоти або раунду в мережі з доказом частки. Уявіть два різні блоки або голоси, які одночасно претендують на те, щоб бути «тим самим». Це як зареєструватися на два концерти в один і той самий момент і очікувати, що охорона цьому посміхнеться.
«Double Signing це те саме, що double spend». Ні. Double spend це маніпуляція з транзакцією, тоді як Double Signing це порушення консенсусу з боку валідаторів, які підписують конфліктні дані для того самого слоту.
Як працює Double Signing
Коротко про те, як через це можна опинитися в проблемі навмисно або випадково.
- Крок 1: Ключ валідатора онлайн, готовий підписувати повідомлення для ланцюга.
- Крок 2: Оператор запускає другий вузол з тим самим ключем або клієнт неправильно налаштовує резервне перемикання. Упс.
- Крок 3: Обидва вузли створюють підписи для однієї й тієї самої висоти, але для різних даних.
- Крок 4: Якщо виникають тимчасові розгалуження мережі, кожна сторона може отримати інший підпис від того самого ключа.
- Крок 5: Інші вузли виявляють конфлікт, фіксують докази, і протокол карає підписанта.
Так, це може бути проста помилка з дуже непростими наслідками.
Чому Double Signing має значення
Чому це варто знати, навіть якщо ви ніколи не запускаєте вузол:
- Перевага: Знання про це допомагає уникати налаштувань, які ставлять під загрозу кошти та репутацію.
- Погляд: Більшість мереж реагують slashing, бо цей вчинок послаблює довіру до консенсусу.
- Актуальність: Ви побачите згадки про це в документації зі стейкінгу, у голосуваннях DAO та на панелях управління валідаторів.
Запускайте лише одного активного підписанта для вашого ключа і ставтеся до резервного перемикання обережно. Використовуйте сповіщення, архітектуру sentry і віддалений підписник, який відмовляється підписувати двічі для тієї самої висоти. Докази зберігаються в блокчейні, тому сховатися не вдасться.
Основні ознаки Double Signing
Головні риси, які легко помітити й запам'ятати:
- Конфлікт: Два підписи від одного й того самого ключа для тієї самої висоти або раунду, але на різних даних.
- Покарання: Зазвичай призводить до втрати стейку й тимчасової заборони на валідацію.
- Виявляється: Докази транслюються й зберігаються, що дозволяє виявляти порушення.
Варіанти
Різні ланцюги називають це по-різному, але це той самий тип помилки:
- Double vote: Два голоси за одну й ту саму висоту на різних блоках.
- Duplicate proposal: Два запропоновані блоки для одного раунду від одного пропозера.
- Cross fork signing: Той самий ключ підписує на конкуруючих гілках під час тимчасового розгалуження.
Більшість випадків Double Signing є випадковими. Достатньо мати два запущені вузли з тим самим ключем, навіть на кілька секунд, щоб це трапилось.
Приклад
Валідатор запускає резервний вузол, не вимкнувши основний, обидва підписують блок на одній висоті, і мережа виявляє Double Signing за кілька хвилин.
Цікавинка
Багато клієнтів мають вбудований механізм «double sign protection», який відстежує останні висоти, підписані ключем, немов маленький контролер, що відмовляє при спробі показати другий фальшивий документ.
Підсумок
Коротко: Double Signing це версія порушення консенсусу, коли ви одночасно в двох місцях і отримуєте штраф за те, що намагаєтесь зробити вигляд, що це нормально.
