Генерация мнемонической фразы в 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, генерация происходит на вашем телефоне.