
В сообществе Zcash появилась редкая история восстановления средств. Пользователь Andrey сообщил, что смог потратить старые ZEC, которые фактически застряли на оригинальном Ledger Nano S. Устройство продолжало работать, PIN-код был известен, но фраза восстановления была потеряна. Это означало, что перенести кошелёк на новое устройство обычным способом было невозможно. Приватный ключ оставался внутри защищённого аппаратного чипа старого Ledger, и единственным шансом было заставить само устройство корректно подписать транзакцию.
Проблема касалась около 101 ZEC, полученных ещё 25 мая 2018 года, то есть до активации обновления Overwinter. Эти монеты оставались доступны на уровне протокола, но современные инструменты не могли нормально потратить их в связке с оригинальным Nano S. Пользователь пробовал Ledger Live со стандартным Zcash-приложением, а также Zondax/ZecWallet и Zkool, но каждый путь упирался в ограничения старого программного стека. Ledger Live выдавал ошибку bad-tx-consensus-branch-id-mismatch, Zondax/ZecWallet не находил старые UTXO, а поддержка Ledger указывала, что рабочий путь через Zkool требует более нового устройства, например Nano S Plus.
Ситуацию осложняло то, что Ledger уже не планировала обновлять приложение для оригинального Nano S. Эта модель вынесена за рамки текущей поддержки, больше не получает обновлений прошивки и не имеет достаточного объёма памяти для полноценной поддержки Zcash.
Иными словами, ситуация выглядела почти тупиковой. Монеты были видны, устройство было живо, PIN-код был известен, но нормального официального пути к расходованию средств не оставалось. Средства не были потеряны криптографически, но оказались фактически заблокированы из-за устаревшего программного слоя.
Andrey обратился за помощью на форум Zcash, но готового решения не нашлось. После этого он продолжил разбираться самостоятельно и с помощью Claude от Anthropic дошёл до исходного кода приложения Zcash для Ledger.
По словам Andrey, нейросеть помогла обнаружить в коде жёстко заданный устаревший сетевой параметр, который использовался при расчёте подписи транзакции. Из-за этого подпись, созданная устройством, не проходила проверку в текущей версии сети. Исправление оказалось точечным: параметр заменили на актуальный, приложение пересобрали и вручную загрузили на Nano S. После этого Zkool смог корректно подписать транзакцию, а Andrey вывел 101 ZEC.
Важно отметить, что речь не шла ни о взломе аппаратного кошелька Ledger, ни о восстановлении потерянной фразы восстановления. Проблема была в совместимости старого приложения с текущими параметрами сети Zcash, а Claude помог быстрее найти это расхождение в коде.
Это ещё один случай, когда пользователь не стал отчаиваться, продолжил разбираться в проблеме и смог вернуть доступ к своим активам нестандартным путём. Поздравляем Andrey с успешным результатом.
Комментировать статью