После скандалов у Ledger, связанных с доступом к закрытым ключам пользователей, многие стали переходить на Safepal. Вполне ожидаемо, что у них стали возникать проблемы и курьезные ситуации. Одна из таких курьезных или печальных ситуаций может произойти при исчезновении монет DOT с кошелька.
Допустим, были куплены токены DOT на бирже Binance и выведены на кошелек Safepal S1. Транзакция прошла успешно. На следующий день можно обнаружить, что на бирже Binance находятся токены DOT, хотя их там не должно быть, и что интересно, сумма будет немного меньше, чем отправленная на холодный кошелек. Открыв кошелек «Сейфпал» можно обнаружить, что там не хватает ровно той суммы, которая сейчас находится на «Байненс». И что самое интересное, из кошелька была отправлена транзакция на биржу. Как такое возможно? Ведь для этого нужно подписать транзакцию на холодном кошельке.
Можно представить, что человек так заработался, что не помнит как отправил токены обратно на биржу. Однако при проверке hash транзакции удастся обнаружить существование 2-х таких транзакций в блокчейне:
Как видим, одна произошла 67 дней назад, а другая 13 часов назад. Первая возникающая в голове рядового пользователя мысль: «Это невозможно, как может быть одновременно две транзакции с одинаковыми хешами?».
И здесь на сцену выходит Gavin James Wood, особенность Polkadot и Duplicate transactions в нём. Если говорить кратко, то в «Полкадот» можно указать время выполнения транзакции как бесконечное (immortal), хотя правильно нужно указывать, в течение скольких блоков транзакция может выполниться. В Substrate UI - это устанавливается по умолчанию. И такие транзакции можно повторно отправить в блокчейн, и они будут обработаны (да, транзакция с уже существующим хешем будет обработана).
Как вы поняли, пользователь уже 67 дней назад отправлял и подписал аналогичную транзакцию, с той суммой, которая поступила ему на биржу 13 часов назад.
Удивительно, но Safepal самостоятельно устанавливает всем транзакциям в сети Polkadot время выполнения транзакции как immortal. Вот таким простым способом можно повторно отправить транзакцию с холодного кошелька, не подписывая её, так как подписание было тогда, 67 дней назад. Используя кошелек Safepal, для хранения DOT, имейте в виду эту особенность.