Разбор принципа восстановления мнемонических фраз ZCash по стандарту BIP39
Введение
Мнемонические фразы (набор из 12 или 24 слов) стали стандартным способом резервного копирования доступа к криптовалютным кошелькам, и для ZCash большинство современных кошельков используют спецификацию BIP39. Понимание принципа восстановления доступа по мнемонике помогает пользователям правильно резервировать средства и избегать потери активов из-за технических ошибок.
Основы стандарта BIP39
Стандарт BIP39 (Bitcoin Improvement Proposal 39) описывает механизм преобразования случайной энтропии в удобный для запоминания набор слов, с последующей генерацией семени кошелька. Ключевые этапы работы стандарта:
- Генерация криптографически стойкой случайной последовательности (энтропии) длиной от 128 до 256 бит
- Добавление контрольной суммы (первые биты хэша SHA-256 от энтропии) для проверки корректности мнемоники
- Разделение полученной последовательности на блоки по 11 бит, каждый из которых соответствует слову из фиксированного словаря из 2048 слов

- Преобразование мнемонической фразы в 512-битное семя кошелька с помощью алгоритма PBKDF2 (с использованием соли «mnemonic» + опциональная парольная фраза)
Важно: слова в мнемонике выбираются из стандартизированного словаря, что исключает неоднозначность при вводе.
Особенности применения BIP39 в экосистеме ZCash
Хотя стандарт BIP39 изначально был разработан для Bitcoin, он адаптирован для большинства криптовалют, включая ZCash. Особенность ZCash заключается в наличии двух типов адресов:
- Прозрачные адреса (t-адреса), работающие по аналогии с Bitcoin-адресами

- Защищенные адреса (z-адреса), использующие технологию нулевых знаний для обеспечения конфиденциальности транзакций
Для генерации ключей прозрачных адресов используется стандарт BIP32/BIP44 (как и у Bitcoin), а для защищенных адресов — спецификация ZIP32, адаптированная под протоколы Sapling и Orchard. Оба типа ключей производятся из одного и того же семени, сгенерированного по BIP39.
Принцип восстановления доступа к кошельку ZCash по мнемонике
Восстановление доступа к средствам основано на том, что из одной и той же мнемонической фразы всегда генерируется одинаковое семя кошелька, а из него — все производные закрытые ключи и адреса. Пошаговый процесс восстановления:
- Ввод мнемонической фразы: пользователь вводит сохраненные слова в порядке их следования в поддерживаемый кошелек ZCash (десктопный, мобильный или аппаратный).

- Проверка контрольной суммы: кошелек автоматически проверяет, соответствует ли последовательность слов стандарту BIP39 (проверка контрольной суммы отсекает случайные ошибки при вводе).
- Генерация семени: на основе введенной мнемоники и дополнительной парольной фразы (если она использовалась при создании кошелька) по алгоритму PBKDF2 генерируется 512-битное семя.
- Производное генерирование ключей: из семени по соответствующим путям деривации генерируются закрытые ключи для прозрачных (BIP44) и защищенных (ZIP32) адресов.
- Синхронизация с блокчейном: кошелек сканирует блокчейн ZCash на наличие транзакций, связанных с полученными адресами, и отображает доступный баланс.
Важные нюансы безопасности
- Потеря мнемонической фразы означает безвозвратную потерю доступа к средствам: восстановить ее невозможно, так как она не хранится ни на серверах, ни в блокчейне.
- Дополнительная парольная фраза (passphrase) создает совершенно другое семя: если вы забудете пароль, восстановить доступ даже с правильной мнемоникой не получится.
- Никогда не вводите мнемоническую фразу в сомнительные сервисы или сайты: любой, кто имеет доступ к мнемонике, получает полный контроль над вашими средствами ZCash.