SpruceID — компания в сфере цифровой идентификации и управления персональными данными, создающая инфраструктуру и инструменты, которые позволят пользователям взять под контроль свою идентичность и данные в интернете. Имея более 3 млн загрузок и свыше 1000 dapp, использующих их библиотеки с открытым исходным кодом для стандарта Sign-In With Ethereum (SIWE), SpruceID решает давнюю проблему владения пользовательскими данными и их интероперабельности.
MetaMask Developer — это направление MetaMask для разработчиков, предлагающее комплексный набор инструментов, API и SDK, разработанных для упрощения онбординга пользователей и создания уникальных подключений к кошелькам без разрешений, а также внутренних dapp-функций для пользователей MetaMask. Опираясь на надёжную и безопасную основу MetaMask и Infura, MetaMask Developer также направлен на улучшение пользовательского опыта работы с кошельком MetaMask для пользователей и разработчиков посредством активного взаимодействия с сообществом и сотрудничества.
В этом блоге рассказывается об экосистемном партнёре — SpruceID — и их работе по обеспечению интероперабельности данных через аутентификацию под управлением пользователя, а также о том, как в результате сотрудничества с MetaMask Developer стандарт EIP-4361, известный также как Sign-In with Ethereum (SIWE), был реализован в MetaMask с одновременным созданием MetaMask Improvement Proposal.
Обеспечение интероперабельности данных через аутентификацию под управлением пользователя
Современный интернет централизован, а интероперабельность пользовательских данных фактически отсутствует. Например, пациент, желающий сменить медицинского провайдера, столкнётся с трудностями при переносе существующих медицинских записей из-за способа их хранения — в централизованных базах данных. Эта практика характерна не только для здравоохранения: она распространена в традиционных финансах, социальных сетях и государственных структурах.
SpruceID считает, что эту проблему можно легко решить, перейдя к архитектуре Data Vault, при которой данные пользователей хранятся не у сторонних сервисов, а в защищённом зашифрованном личном хранилище, которым управляет сам пользователь.
Однако для этого необходим стандарт аутентификации, позволяющий пользователям в любой момент предоставлять или отзывать доступ к своим данным. Этот стандарт также должен быть достаточно гибким, чтобы поддерживать обмен данными на основе согласия, предоставляя пользователям детальный контроль над тем, какими данными делиться или не делиться в каждом конкретном случае.
Ещё одна задача — обеспечить признание и принятие этого стандарта аутентификации в экосистеме среди разработчиков dapp. Кроме того, отдельные проблемы безопасности, связанные с этим методом аутентификации, можно решить только на уровне кошелька. Например, если сайт запрашивает у пользователя подпись транзакции, проверка корректности адреса в адресной строке и того, что запрос передаётся по защищённой сети, — это сложные проверки безопасности для реализации на уровне dapp. Однако кошелёк может легко их обеспечить.
MetaMask Developer реализует EIP-4361 в сотрудничестве со SpruceID
Разработав стандарт (SIWE), команда Spruce ID создала метод аутентификации под управлением пользователя, основанный на криптографии и публичных и приватных ключах пользователей. С помощью этих ключей пользователи могут создавать цифровые подписи, которые невозможно подделать. Пользователи также могут подписывать разрешения для dapp на доступ к своему хранилищу данных. SIWE обеспечивает детальный контроль, позволяя пользователям указывать, какие ресурсы в их хранилище данных задействованы в том или ином взаимодействии.
Для содействия более широкому принятию в экосистеме, особенно среди разработчиков dapp, SpruceID совместно с MetaMask Developer интегрировали SIWE в кошелёк MetaMask в качестве функции. Это сотрудничество помогло решить ряд проблем безопасности на уровне кошелька с привлечением экспертизы штатных специалистов MetaMask по безопасности JavaScript. В результате разработчикам больше не нужно решать эти проблемы на уровне dapp.
«Вспоминая наш опыт сотрудничества с командой MetaMask Developer, на ум приходят два слова: «исключительная отзывчивость» и «основательность»**. Мы прошли через множество итераций, добиваясь наилучшего результата для пользователей. Мы благодарны команде MetaMask Developer за то, что они увидели потенциал в обеспечении безопасности пользователей». — Уэйн Чанг, основатель SpruceID*.*
Кроме того, в ходе этого сотрудничества MetaMask Developer выстроил процесс, позволяющий таким проектам, как SpruceID, предлагать новые функции и изменения в MetaMask Wallet API. Этот процесс называется MetaMask Improvement Proposal (MIP), подробнее о нём можно узнать в этом блоге.
Начните работу с MetaMask Developer уже сегодня
Вы разработчик, создающий потребительские dapp?
Пакет MetaMask Developer, включающий MetaMask Wallet API, SDK, Web3 service API и Snaps, предлагает комплексный набор инструментов для онбординга миллионов наиболее активных пользователей сети.
Посетите портал для разработчиков, чтобы узнать больше о наших предложениях.