В КУРСЕ?

Разбираемся в теме

У приложения Web3 есть обычный сайт: что в нём на самом деле децентрализовано?

Децентрализованное приложение может выглядеть как обычная веб-страница с кнопкой и числом. Отличие становится заметно, когда мы спрашиваем, где хранится состояние и по каким правилам оно меняется. Рассмотрим условный счётчик на Ethereum. Это схема для понимания устройства приложения; для упражнения не нужны кошелёк, токены, подписи или реальные транзакции.

Отделить экран от правил

Интерфейс показывает данные и помогает сформировать действие. Смарт-контракт содержит логику, выполняемую в блокчейн-сети, и связанное с ней состояние. В учебном примере контракт хранит число и допускает его увеличение по определённому правилу. На странице расположена кнопка, но её цвет и надпись сами по себе не устанавливают результат. Если интерфейс нарисовал число 8 вместо 7, это ещё не свидетельство изменения состояния контракта. Нужно знать, из какого источника получено отображаемое значение.

Различить чтение и изменение

Запрос текущего числа и действие, меняющее его в сети, выполняют разные роли. Для изменения состояния Ethereum используется транзакция, которую необходимо обработать в сети; такая обработка связана с комиссией. Интерфейс может отдельно показывать подготовку, ожидание и полученный результат. Сообщение о том, что запрос отправлен, не равно сообщению о завершённом изменении. На бумажной схеме полезно подписывать эти переходы, чтобы не превращать весь процесс в одно непрозрачное нажатие кнопки.

Найти зависимость от обычных сервисов

Название Web3 не гарантирует, что каждая часть системы распределена одинаково. Веб-страница может размещаться на обычном сервере, а доступ к данным идти через выбранного поставщика инфраструктуры. Дополнительный сервис может готовить удобные списки или искать события. Если такой компонент недоступен, пользователь способен увидеть ошибку, хотя контракт продолжает существовать в сети. Для анализа важнее перечислить конкретные зависимости, чем объявить всё приложение полностью независимым от организаций и отдельных точек отказа.

Уточнить, кто может менять поведение

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

Попробуйте на практике

Нарисуйте на бумаге архитектуру учебного счётчика и проследите одно воображаемое изменение с 7 до 8. Ничего не подключайте к реальной сети.

  1. Изобразите четыре блока: интерфейс, сервис доступа к сети, блокчейн и смарт-контракт. Подпишите роль каждого своими словами.
  2. Проведите стрелки чтения: от интерфейса к источнику состояния и обратно с текущим значением 7.
  3. Отдельно обозначьте запрос изменения. Подпишите ожидание обработки и получение результата, не смешивая их с простым показом числа.
  4. Представьте, что сайт недоступен. Отметьте, какие сведения о состоянии контракта из этого факта следуют, а какие остаются неизвестными.
  5. Добавьте вопрос о наличии обновляемой логики и о том, кто уполномочен менять её. Не назначайте ответ без описания архитектуры.

Как проверить результат. Схема различает отображение числа, запрос и состояние контракта. Из отказа сайта нельзя автоматически заключить, что контракт удалён; из надписи успешно нельзя без проверки установить изменение в сети.

Частые вопросы

Любому приложению нужен блокчейн?

Нет. Его использование должно отвечать требованиям задачи. Обычная база данных может оказаться проще там, где нет необходимости в согласовании состояния независимыми участниками.

Публичный адрес означает полную анонимность?

Нет. Публичность записей и отсутствие имени в адресе не гарантируют невозможность связать действия с человеком. Личные и чувствительные сведения нельзя считать защищёнными только из-за названия Web3.

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

Зарегистрируйтесь, чтобы уточнить возможность доступа к этому материалу

Зарегистрироваться
← К списку материалов