Команда GoPlausible из экосистемы Algorand передала универсальный DID-резолвер организации по стандартам DIF
GoPlausible создала thisDID — универсальный резолвер, превращающий любой децентрализованный идентификатор W3C в единый документ, соответствующий стандарту, — и передала его Decentralized Identity Foundation. У did:algo и did:nfd из Algorand появился первый узел маршрутизации, родной для Algorand. Сервис работает; трафик скромный.
В середине мая Decentralized Identity Foundation1 (DIF) — отраслевое объединение, где компании и проекты совместно работают над стандартами децентрализованной идентичности, — использовала свой новостной бюллетень, чтобы обронить неудобное предположение: её давно существующий Universal Resolver, общий справочный сервис, превращающий децентрализованные идентификаторы в документы, которые приложения могут проверить, может быть попросту закрыт, «если только не выяснится, что нашим участникам он действительно нужен». С тех пор ответом на этот вопрос стала пересборка. Сама DIF направила читателей к thisDID2 — «обслуживает поддерживаемые методы напрямую, а остальные запросы проксирует к известным резолверам», — а README проекта прямо сообщает, что его создала и передала организации команда GoPlausible3, чья собственная инфраструктура идентичности работает на Algorand.
Значение этой передачи выходит за рамки стандартизационной рутины. Универсальный резолвер — это та самая сантехника, которая позволяет приложению, проверяющему удостоверения, принимать идентификаторы, закреплённые где угодно — в домене, блокчейне, службе имён, — не интегрируя каждый источник по отдельности. Algorand здесь не сторонний наблюдатель: did:algo и did:nfd входят в число методов, представленных в резолвере.
Одна точка входа для любой разновидности идентичности
Децентрализованный идентификатор (DID) — это строка, определённая консорциумом World Wide Web Consortium (W3C), главным органом веб-стандартов: did:web:example.com, did:key:z6Mk..., did:algo:uti7paas... Каждый из них разрешается в DID-документ — машиночитаемую запись с открытыми ключами и сервисными эндпоинтами; это исходный материал для проверки подписей и верифицируемых удостоверений, то есть подтверждений, заверенных цифровой подписью. Сегмент метода указывает, где живёт идентификатор и как получить этот документ, а приложению, желающему принимать DID из нескольких экосистем, исторически приходилось самостоятельно реализовывать логику разрешения для каждого метода.
thisDID сводит эту работу к одному HTTP-запросу. На главной странице заявлено 704+ поддерживаемых методов — в собственном опубликованном списке их 68, — из которых 24 разрешаются внутри сервиса изолированными программами-драйверами на TypeScript, работающими на периферии сети Cloudflare, причём вычисления распределены по дата-центрам рядом с пользователями (425 региона по подсчётам сайта), а длинный хвост остальных методов уходит на внешние сервисы. Каждый ответ нормализуется в единый документ, соответствующий требованиям W3C, с подписанными метаданными разрешения. API реализует HTTP-привязку Universal Resolver от DIF — согласованную форму URL, GET /1.0/identifiers/{did}, которую любой соответствующий стандарту клиент уже умеет вызывать; в документации в качестве примера приводится did:web:identity.foundation. Рядом — обнаружение, проверка работоспособности, аналитика и лента разрешений в реальном времени, а также эндпоинт /mcp, реализующий Model Context Protocol — открытый стандарт подключения инструментов к ИИ-агентам: агент мог бы разрешать DID прямо по ходу работы, без самодельных связок.
Как устроен механизм маршрутизации
Слоган сайта — «Универсальный резолвер, который думает, прежде чем маршрутизировать» — описывает конвейер из четырёх шагов: разобрать и классифицировать идентификатор; взвесить задержку, доверие и свежесть данных в движке правил; направить запрос подходящему драйверу, а где это помогает — нескольким параллельно; и вернуть подписанный нормализованный результат.
| Концепция | Что это значит на практике |
|---|---|
| GoPlausible — воркер, родной для Algorand; первый узел маршрутизации для did:algo и did:nfd, резервные варианты — godiddy и archon | Идентификаторы Algorand разрешаются через специализированный драйвер, а не через универсальный внешний сервис |
| Godiddy6 (Danube Tech) — размещённый Universal Resolver и API-регистратор | Берёт на себя большинство методов, которым нужен внешний драйвер |
| Archon7 — запускает драйверы iden3 и did:cid | Первый узел маршрутизации для метода zk-идентичности iden3 от Polygon; последний резерв для остальных |
Новые драйверы выпускаются под тем, что README называет гарантией верификации: там, где независимый внешний сервис способен разрешить тот же метод, каждое разрешение параллельно перепроверяется, пока живая доля совпадений у драйвера не станет достаточной для снятия проверки, а методы, которые не обслуживает ни один внешний сервис, помечаются как непроверенные. Публичная лента показывает оба исхода: идентификатор did:cheqd, разрешённый локально, с пометкой «match» у перекрёстной проверки, и разрешение did:ebsi с пометкой «mismatch». Отдельный воркер-зонд каждые пять минут прогоняет канареечные проверки по всем маршрутам; 31 августа на странице состояния все провайдеры значились доступными, а успешность составляла от 0.997 до 1.0.
Точка входа для Algorand
did:algo разрешает идентификаторы Algorand в блокчейне, и живая лента показывает, что он работает не только со счетами, но и с активами: идентификаторы, построенные по шаблону did:algo:mainnet:asa:, успешно разрешались на протяжении всего выбранного окна, включая идентификатор актива, лежащего в основе USDC8 — долларового стейблкоина. did:nfd разрешает в документы идентичности имена из NFDomains — службы имён .algo в Algorand, которая сопоставляет человекочитаемые имена с адресами в блокчейне.
В ходе проверки 31 августа пример идентификатора из документации API — did:algo:uti7paas..., полный адрес Algorand — разрешился за 332 миллисекунды через внешний сервис GoPlausible, а идентификатор актива USDC — за 400 миллисекунд. Пример адреса выбран не случайно: это депозитный счёт, стоящий за NFD goplausible.algo, зарегистрированным в июне 2023 года, на котором 1,544.13 ALGO и 40,283.56 USDC среди 197 активов. Разработчик сначала разрешил собственную идентичность.
Есть и шероховатость: рекомендованный на сайте пример did:nfd — did:nfd:thisdid.algo — возвращает 404, и такого имени в каталоге NFD нет. Показательное имя самого сервиса не разрешается.
Как честно читать метрики
На главной странице заявлены медианное время разрешения менее 200 миллисекунд и 99.98% глобального аптайма. Суточный срез аналитики подтверждает лишь половину: собственные драйверы thisDID, работающие внутри воркеров, показали в среднем 198 миллисекунд, но внешние маршруты шли медленнее — 477 миллисекунд через GoPlausible, 488 через godiddy и 1,471 через archon, — из-за чего общее среднее выросло примерно до 700 миллисекунд. Медиана и среднее измеряют разное, так что заявление описывает локальный быстрый путь, а не сервис целиком. В том же срезе на GoPlausible пришлась наибольшая доля маршрутизированных запросов — 179 разрешений.
Проценты успешных разрешений требуют такого же разбора. Панель сообщает о 253 успешных разрешениях из 285 (88.8%), а нижележащий JSON-эндпоинт — о 248 из 280 (88.6%): два интерфейса слегка расходятся, к тому же рядом со своими цифрами панель показывает служебное уведомление «Analytics storage isn't bound yet». Большинство отказов, кроме того, — это ошибки notFound: DID, которых попросту не существует, например идентификаторы did:web для немецкого мемориального сайта, возглавляющие живую ленту ошибок. Резолвер, корректно сообщающий об отсутствии идентификатора, — это не то же самое, что отказ резолвера.
Трафик реальный, но скромный. Суточная шкала показывает от 1 до 39 разрешений в день за первые три недели июля с пиком 39 — 7 июля. Запрос за более длительный период рассказывает более странную историю: 59,4689 обращений за один только 14 августа, из них 33,262 — notFound, что похоже на профиль автоматизированного сканирования, а распределение по странам возглавили США (52,379) и Австрия (15,385). Аналитика намеренно грубая: без IP-адресов, без cookie и только с географией на уровне стран, а сами диапазоны ведут себя странно — временная шкала суточного среза охватывает период с 1 по 21 июля.
Подарок с проверкой в комплекте
Код размещён под собственной организацией DIF на GitHub как decentralized-identity/thisdid10, под либеральной лицензией Apache-2.0; последний коммит был отправлен 28 августа и обновлял исследование по «кандидатам из волны 6 методов» — значит, в работе ещё несколько методов. Пока отклик слабый: у репозитория одна звезда, а на ведущего контрибьютора emg110 приходится 73 вклада. Июньский бюллетень DIF описывал «полную переработку экземпляра Universal Resolver в DIF» и называл did:webvh и did:webplus в качестве рекомендованных методов; на август анонсировалось очередное обновление.
Дальнейшее зависит от той самой переменной, которую DIF назвала в мае: пойдут ли участники через неё реальный трафик. Инфраструктура работает и доступна для наблюдения — пробы состояния, публичная лента, открытый API, — и у идентичностей Algorand теперь есть именованный, закреплённый в стандартах путь внутрь неё. Для команды, которая сначала разрешила собственный счёт, следующий рубеж — чужой идентификатор.
Источник
- thisDID2
- decentralized-identity/thisdid на GitHub10
- Новостной бюллетень DIF #6211
- GoPlausible3
- ThisDID · DIF Universal DID Resolver2
- https://thisdid.com/data12
- https://thisdid.com/recent13
- https://thisdid.com/1.0/identifiers/did:algo:uti7paasilrda3ishy5m7j7lnrx2aivqjwi7zkccgkvlmfd3vpr5pwsz4i14
- https://thisdid.com/status15
- https://thisdid.com/methods16
- https://thisdid.com/1.0/identifiers/did:algo:mainnet:asa:315667041718
- Пост @identity.foundation — Bluesky19
- Новостной бюллетень DIF #6420
- raw.githubusercontent.com21
- Каталог ThisDID22
- did:algo — каталог ThisDID23
4 цифры в этом материале проверены.Все проверки
Источники
- 1Decentralized Identity Foundation identity.foundation↩
- 2thisDID thisdid.com↩
- 3GoPlausible goplausible.com↩
- 6Godiddy api.godiddy.com↩
- 7Archon resolver.archon.technology↩
- 8USDC centre.io↩
- 10decentralized-identity/thisdid github.com↩
- 11Новостной бюллетень DIF #62 blog.identity.foundation↩
- 12thisdid.com/data thisdid.com↩
- 13thisdid.com/recent thisdid.com↩
- 14thisdid.com/1.0/identifiers/did:algo:uti7paasilrda3ishy5m7j7lnrx2aivqjwi7zkccgkvlmfd3vpr5pwsz4i thisdid.com↩
- 15thisdid.com/status thisdid.com↩
- 16thisdid.com/methods thisdid.com↩
- 17thisdid.com/1.0/identifiers/did:algo:mainnet:asa:31566704 thisdid.com↩
- 19Пост @identity.foundation — Bluesky bsky.app↩
- 20Новостной бюллетень DIF #64 blog.identity.foundation↩
- 21raw.githubusercontent.com/decentralized-identity/thisdid/main/README.md raw.githubusercontent.com↩
- 22Каталог ThisDID thisdid.com↩
- 23did:algo — каталог ThisDID thisdid.com↩