Подход к конфиденциальности уведомлений и хранению данных пользователя
Информация о новых функциях аутентификации, уведомлений и хранения пользовательских конфигураций, доступных в MetaMask Portfolio.
Каковы преимущества входа в MetaMask Web?
Вход в MetaMask Web улучшает ваш опыт использования, позволяя вам:
Получать уведомления о деятельности в вашем кошельке
Синхронизировать ваши пользовательские конфигурации и настройки на разных устройствах, где у вас установлен MetaMask. Со временем мы начнем делать резервную копию и выполнять перекрестную синхронизацию вашей адресной книги, истории транзакций, импортированных токенов и отслеживаемых адресов.
Создавать резервные копии своих конфигураций на случай смены браузера или сброса его настроек.
Каким образом обеспечивается моя конфиденциальность как пользователя MetaMask?
Ваши настройки синхронизируются без ущерба для конфиденциальности вашей деятельности в MetaMask. Вместо архитектур типа web2, где поставщики услуг размещают пользовательские данные на хостинге, мы используем подход, ориентированный на конфиденциальность, при котором ваша информация шифруется на стороне клиента (т.е. локально, на вашем устройстве), а сервер выступает в качестве хранилища и ретранслятора зашифрованных данных. Поэтому MetaMask не имеет представления о том, какие пользователи или адреса используют его службу и как.
Как выполняется вход в кошелек?
Когда вы пытаетесь войти в MetaMask Web, кошелек MetaMask попросит вас подписать сообщение с вашим адресом, чтобы убедиться, что именно вы являетесь владельцем соответствующего счета. После подписания вы войдете в MetaMask Web с этим адресом счета.
Мы используем стандартный вход в систему по процедуре Ethereum. Наш сервер получает подписанное сообщение и ваш адрес, проверяет подпись, хеширует адрес вместе с солью (случайным значением) для генерации вашего AccountID, а затем забывает адрес. Сервер подписывает ваш AccountID и выпускает веб-токен JSON (JWT), который клиент может использовать для доступа к службам MetaMask, таким как хранилище пользовательских конфигураций или уведомления. Поскольку адрес не сохраняется, а хеш AccountID нельзя восстановить, MetaMask не знает, кто и какие адреса вошли в систему.
Где и как вы храните пользовательские конфигурации?
Пользовательские конфигурации хранятся на серверах MetaMask, зашифрованные специально сгенерированным ключом, которым владеет только пользователь. Никто, кроме пользователя, не может прочитать конфигурации. Когда вы входите в систему, мы создаем клиентский ключ, получая хеш, который образуется в результате применения подписи вашего счета к данному сообщению. Это означает, что ключ является детерминированным: то есть результат этой подписи всегда будет одинаковым, когда один и тот же счет подписывает одно и то же сообщение. Мы используем этот ключ для выполнения шифрования всех ваших пользовательских конфигураций на стороне клиента перед их отправкой на серверы MetaMask.
В этом контексте MetaMask — это просто хранилище, и оно не может видеть, кто использует сервис, или содержимое конфигураций, поскольку все зашифровано на стороне клиента. При необходимости зашифрованная информация может быть расшифрована в другом клиенте, когда тот же человек входит в свой кошелек MetaMask с другого устройства. Мы также активно работаем над экосистемой, чтобы изучить возможности децентрализации хранения пользовательских конфигураций в будущем.
Какие пользовательские конфигурации вы храните?
Мы сохраняем настройки и конфигурации, которые могут включать, например, ваш открытый адрес, валюту, избранные токены, настройки интерфейса или адресную книгу. Мы не храним, не передаем и не делаем резервную копию вашего закрытого ключа или секретной фразы для восстановления — эти два вида учетных данных доступны только вам.
Как работают уведомления об активности в кошельке?
Мы отслеживаем блокчейны для вас и отправляем push-уведомления, когда с вашими адресами происходит что-то важное, например, получение токенов, NFT или отмена стейкинга.
В отличие от службы конфигурации пользователя, которая размещает только зашифрованные данные на стороне клиента, служба уведомлений должна сохранять незашифрованные версии отслеживаемых адресов на стороне сервера. Чтобы гарантировать, что несколько адресов не могут быть связаны с одним и тем же человеком, наши серверы сохраняют задачи уведомлений «непривязанными» к пользователям, которым они принадлежат. Это означает, что связь между AccountID и адресами сохраняется только на стороне клиента.