ddd

Децентрализованные адреса DID

6 июня, 2023
2 минут(ы) чтения

Давайте разбираться что это такое и узнаем причину их возникновения.

Централизованные адреса

Centralized identity
Традиционный формат Web 2, в котором пользователь создает логин и пароль для каждого отдельного сервиса

URI (Uniform Resource Identifier) — это стандарт, который используется для идентификации ресурсов в сети. Вы используете его всегда, когда заходите на HTML страницу вашего любимого сайта.

URI содержит URL и URN, а общий синтаксис выглядит так:

<scheme>:<domain>?<queryParams>#<fragment>

scheme — указывает на то, как обращаться к ресурсу, чаще всего это сетевой протокол (http, ftp, ldap).

domain — идентификатор ресурса, например, адрес сайта.

queryParams — необязательные дополнительные данные ресурса, например, параметры фильтрации или сортировки.

fragment — необязательный вторичный идентификатор ресурса, например, идентификатор абзаца на странице.

Пример URI веб-адреса:

https://baskovsky.ru/?s=example#primary
URI Web2
Что может находиться в URI

У такого стандарта со временем обнаружились серьезные недостатки.

scheme — Крупные вендоры постепенно ограничивают поддержку различных схем в своих браузерах, что приводит к тому, что большинство пользователей использует только схему HTTPS. Это создает необходимость в редиректах к внешним приложениям, что приводит к появлению нестандартизованных Deep Links, например, тех, которые открывают установленные приложения на вашем мобильном телефоне.

domain — После того, как регистрация доменных имен стала доступной для широкой аудитории, возникла новая проблема — появление киберсквоттеров и борьба за доменные имена без необходимых проверок. Сегодня легко получить домен в зоне .com, который изначально был создан для коммерческих целей, и использовать его для сайта-визитки физического лица, которому больше подошел бы .name. Централизованные проверки на его соответствие доменной зоне не проводятся. В результате выбранные доменные зоны часто не соответствуют своему назначению и выбираются создателями просто за красивые и еще не занятые имена. Для себя эту проблему решают ИТ-гиганты, способные договориться с крупными регистраторами, например, Charleston Road Registry, и получают личные домены, идентичные их торговым маркам, например, .google, .gmail или .android. Однако, что делать простым мелким организациям? Кроме того, создание таких доменов продолжает приводить к ослаблению сетевого нейтралитета, поскольку это позволяет провайдерам по согласию с корпорацией загружать определенные домены быстрее других или вовсе не тарифицироваться.

queryParams — Все больше веб-разработчиков избегают использования QueryParams, перенося часть логики на Ajax, что может ограничивать функциональность для пользователей, отключающих JavaScript. Создатели браузеров усугубляют ситуацию, запрещая отключение скриптов и перенося весь WebAPI на JavaScript. Чтобы попасть на определенную страницу с разных устройств, сегодня пользователям недостаточно просто перейти по ссылке, им приходится повторять весь процесс взаимодействия с веб-сайтом. Кроме того, действия SEO-специалистов приводят к тому, что вместо отображения отсутствующей страницы (статус 404) пользователи автоматически перенаправляются (статус 301) на главную страницу, что усложняет работу поисковым роботам и вводят пользователей в ступор.

fragment — Рост числа SPA (Single Page Applications) приложений, которые используют асинхронную загрузку содержимого, привел к тому, что идентификаторы «#» перестали использоваться для перехода к определенному фрагменту на странице. Я даже сталкивался с ситуацией, когда веб-разработчики полностью переставали использовать id в разметке сайта, используя только классы для идентификации элементов. Хотя это является приемлемой практикой для применения стилей в CSS, это неправильно, когда речь идет об идентификации фрагментов на странице.

В результате, небрежность веб-мастеров, ограничения стандартов для крупных провайдеров и нежелание регистраторов привели к развитию альтернативных стандартов, но наиболее существенное влияние оказало быстрое развитие блокчейн-технологий.

Децентрализованные адреса

ddd
Сеть Web3 разделяет Issuer и Verifier с помощью криптографических ключей используя распределенные реестры, сохраняя секретный ключ у владельца и публичный ключ у всех остальных

Решая проблемы, связанные с традиционными URI в современных распределенных реестрах, таких как блокчейн, W3C в 2022 году утвердила стандарт DID (Decentralized Identifiers). Decentralized Identifiers представляют собой протокол цифровой идентификации, который все больше разработчиков начинают использовать вместо связки логин-пароль в пользу идентификации, основанной на блокчейн-кошельке.

Стандарт ссылок стал более гибким и расширяемым. Синтаксис выглядит следующим образом:

did:<method-name>:<method-specific-id>#<fragment>

method-name — адрес контроллера ресурса, предпочтительно принимающий Linked Data и предоставляющий понятную схему, аналогичную словарю Schema.org.

method-specific-id — уникальный идентификатор контроллера ресурса, который может также включать привычные URL для обеспечения простоты миграции в сеть Web2.

К примеру, адрес вашего биткоин-кошелька может выглядеть следующим образом:

did:example:123456789abcdefghi#keys-1

Стандарт DID позволяет проверять подлинность идентификаторов и связанных с ними данными, не раскрывая личную информацию и не полагаясь на централизованные системы управления доступом. Такая реализация дает пользователям больший контроль над своими связанными данными и возможность управлять ими без необходимости обращаться к централизованным службам управления идентификацией, например, к службе DNS.

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая статья

Возможные типы сетей

Следующая статья

Структура достижения целей в стартапе