Генерация мнемонической фразы в MetaMask: локально или на сервере?

    При создании нового кошелька в MetaMask пользователи часто задаются вопросом: где именно формируется мнемоническая фраза (seed-фраза)? От этого зависит безопасность ваших активов. В этой статье мы подробно разберём, как работает генерация сид-фразы, и объясним, почему все вычисления происходят исключительно на вашем устройстве.

    Как MetaMask генерирует seed-фразу?

    MetaMask использует стандарт BIP39 (Bitcoin Improvement Proposal 39) для генерации мнемонической фразы. Процесс полностью происходит на стороне клиента - в вашем браузере или мобильном приложении. Никакие данные не передаются на серверы MetaMask или сторонние сервисы. Это гарантирует, что ваш приватный ключ и сид-фраза остаются только у вас.

    Пошаговый алгоритм создания сид-фразы

    • Генерация энтропии: Браузер или устройство создаёт случайную последовательность битов (обычно 128, 160, 192, 224 или 256 бит) с использованием криптостойкого генератора случайных чисел.
    • Контрольная сумма: К энтропии добавляется контрольная сумма (первые биты SHA256), чтобы обнаружить возможные ошибки ввода.
    • Разбивка на слова: Полученная битовая строка делится на группы по 11 бит, каждая из которых соответствует слову из предопределённого словаря BIP39 (2048 слов).
    • Отображение пользователю: Список из 12 или 24 слов отображается на экране - это ваша мнемоническая фраза.

    Почему генерация происходит локально?

    MetaMask - это некастодиальный кошелек, что означает: вы полностью контролируете свои ключи. Если бы сид-фраза генерировалась на сервере, это создало бы уязвимость: сервер мог бы сохранить копию вашей фразы, и злоумышленники получили бы доступ к средствам. Поэтому разработчики намеренно реализовали генерацию на стороне клиента.

    Роль библиотеки bip39

    MetaMask использует открытую JavaScript-библиотеку bip39, которая работает прямо в браузере. Эта библиотека не отправляет никаких запросов в интернет - все вычисления выполняются локально. Вы можете проверить это, отключив интернет-соединение перед созданием кошелька: MetaMask всё равно сгенерирует мнемоническую фразу.

    Безопасность процесса генерации

    Несмотря на локальную генерацию, есть риски, о которых стоит знать:

    • Вредоносное ПО: Если на вашем устройстве есть шпионские программы, они могут перехватить сид-фразу в момент её отображения.
    • Небезопасная среда: Использование публичных Wi-Fi или заражённых браузеров повышает риск компрометации.
    • Физический доступ: Если кто-то увидит экран во время создания кошелька, он сможет записать фразу.

    Рекомендуется создавать кошелёк в чистой среде, желательно с использованием аппаратного кошелька (Ledger, Trezor) для дополнительной защиты.

    Что насчёт сервисов MetaMask?

    Серверы MetaMask используются только для:

    • Загрузки начального кода расширения или приложения (через CDN).
    • Предоставления данных о блокчейне (баланс, история транзакций) через публичные RPC-узлы (Infura).
    • Обновления приложения.

    Ни один из этих сервисов не участвует в генерации сид-фразы. Даже если вы используете мобильное приложение MetaMask, генерация происходит на вашем телефоне.

    Часто задаваемые вопросы