От паролей к портативным доказательствам: Руководство по Web3-идентификации для разработчиков в 2025 году
Большинство приложений по-прежнему привязывают идентификацию к именам пользователей, паролям и централизованным базам данных. Эта модель хрупка (утечки), негерметична (перепродажа данных) и неуклюжа (бесконечные повторения KYC). Новая архитектура, формирующаяся вокруг децентрализованных идентификаторов (DIDs), проверяемых учетных данных (VCs) и аттестаций, указывает на другое будущее: пользователи несут криптографические доказательства фактов о себе и раскрывают только то, что необходимо — ни больше, ни меньше.
Этот пост описывает текущую ситуацию и предлагает практический план, который вы можете реализовать уже сегодня.
Сдвиг: От аккаунтов к учетным данным
Ядро этой новой архитектуры идентификации построено на двух основополагающих стандартах W3C, которые кардинально меняют подход к обработке пользовательских данных.
- Децентрализованные идентификаторы (DIDs): Это контролируемые пользователем идентификаторы, которые не требуют центрального реестра, такого как система доменных имен. Думайте о DID как о постоянном, самостоятельном адресе для идентификации. DID разрешается в подписанный «DID-документ», содержащий публичные ключи и конечные точки сервисов, что позволяет осуществлять безопасную, децентрализованную аутентификацию. Стандарт
v1.0стал официальной рекомендацией W3C 19 июля 2022 года, что ознаменовало важную веху для экосистемы. - Проверяемые учетные данные (VCs): Это защищенный от подделки цифровой формат для выражения утверждений, таких как «возраст старше 18 лет», «имеет диплом Университета X» или «прошел проверку KYC». Модель данных VC 2.0 стала рекомендацией W3C 15 мая 2025 года, заложив современную основу для того, как эти учетные данные выдаются и проверяются.
Что меняется для разработчиков? Сдвиг глубок. Вместо хранения конфиденциальной персонально идентифицируемой информации (PII) в вашей базе данных, вы проверяете криптографические доказательства, предоставленные кошельком пользователя. Вы можете запросить только ту конкретную информацию, которая вам нужна (например, проживание в определенной стране), не видя базового документа, благодаря мощным примитивам, таким как выборочное раскрытие.
Где это встречается с уже используемыми вами логинами
Этот новый мир не требует отказа от привычных способов входа. Напротив, он их дополняет.
- Ключи доступа (Passkeys) / WebAuthn: Это ваш выбор для аутентификации, устойчивой к фишингу. Ключи доступа — это учетные данные FIDO, привязанные к устройству или биометрическим данным (например, Face ID или отпечатку пальца), и они теперь широко поддерживаются во всех основных браузерах и операционных системах. Они предлагают бесшовный, безпарольный вход в ваше приложение или кошелек.
- Вход с помощью Ethereum (SIWE / EIP-4361): Этот стандарт позволяет пользователю доказать контроль над блокчейн-адресом и связать его с сеансом приложения. Он работает через простое, подписанное сообщение на основе nonce, создавая чистый мост между традиционными сеансами Web2 и управлением Web3.
Лучшая практика — использовать их вместе: внедрить ключи доступа для основного, повседневного входа и предложить SIWE для потоков, связанных с кошельком, где пользователю необходимо авторизовать крипто-нативное действие.
Основы для выдачи и проверки учетных данных
Чтобы учетные данные были полезными, нам нужны стандартизированные способы их выдачи пользователям и их представления пользователями приложениям. OpenID Foundation предоставляет для этого два ключевых протокола.
- Выдача: OpenID для выдачи проверяемых учетных данных (OID4VCI) определяет API, защищенный OAuth, для получения учетных данных от эмитентов (таких как государственное учреждение или поставщик KYC) в цифровой кошелек пользователя. Он разработан как гибкий, поддерживающий несколько форматов учетных данных.
- Представление: OpenID для проверяемых представлений (OID4VP) стандартизирует, как ваше приложение делает «запрос доказательства» и как кошелек пользователя на него отвечает. Это может происходить через классические перенаправления OAuth или через современные API браузера.
При разработке вы столкнетесь с несколькими ключевыми форматами учетных данных, разработанными для различных экосистем и вариантов использования:
- W3C VC с наборами целостности данных (JSON-LD): Часто сочетается с криптографией BBS+ для обеспечения мощного выборочного раскрытия.
- VC-JOSE-COSE и SD-JWT VC (IETF): Эти форматы созданы для экосистем на основе JWT и CBOR, также обладая мощными возможностями выборочного раскрытия.
К счастью, совместимость быстро улучшается. Профили, такие как OpenID4VC High Assurance, помогают сузить технические варианты, делая интеграции между различными поставщиками гораздо более разумными для разработчиков.
Методы DID: Выбор правильной схемы адресации
DID — это просто идентификатор; «метод DID» определяет, как он привязан к корню доверия. Вам захочется поддерживать несколько распространенных методов.
- did:web: Этот метод поддерживает DID с доменом, который вы контролируете. Он невероятно прост в развертывании и является отличным выбором для предприятий, эмитентов и организаций, которые хотят использовать свою существующую веб-инфраструктуру в качестве якоря доверия.
- did:pkh: Этот метод выводит DID непосредственно из блокчейн-адреса (например, адреса Ethereum). Это очень полезно, когда ваша пользовательская база уже имеет криптокошельки, и вы хотите связать их личность с ончейн-активами.
Практическое правило: Поддерживайте как минимум два метода — did:web для организаций и did:pkh для индивидуальных пользователей. Используйте стандартную библиотеку DID-резолвера для обработки поиска и консультируйтесь с официальными реестрами для оценки безопасности, постоянства и управления любым новым методом, который вы рассматриваете для добавления.