EPNS protocol (PUSH) - служба push-уведомлений Ethereum

Ethereum Push Notification Service (EPNS) - это децентрализованный протокол, позволяющий пользователям Ethereum получать уведомления об активности внутри или вне сети.

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

Пространство блокчейнов растет чрезвычайно быстрыми темпами, и ожидается, что экспоненциальный рост продолжится быстро с точки зрения пользователей, услуг и доходов. Несмотря на этот рост и расширение использования технологии блокчейн, сервисам (децентрализованные приложения, сервисы, смарт-контракты) по-прежнему не хватает подлинного и органичного средства связи с их пользователями, которое иногда заполняется альтернативными средствами связи, такими как твиттер, телеграмма или электронная почта, что противоречит цели Интернета 3.0.

Однако чаще всего децентрализованные приложения, смарт-контракты или сервисы предполагают, что к ним придут пользователи. Этот метод очень похож на эпоху Интернета начала 2003 года, когда пользователи должны были выполнить какое-то действие, вернуться позже и проверить результаты этих действий (Gmail, Orkut и т. д.).

Хотя это было нормально в первые дни Интернета и Web 2.0, сейчас это не относится к традиционным сервисам. Фактически, ни одна служба Web 2.0 не ожидает, что пользователь обратится к ним сейчас, вместо этого они обращаются к своим пользователям, информируя их об определенных важных событиях или любых дальнейших действиях, требуемых от пользователей. Современные push-уведомления сыграли решающую роль в этом переходе и теперь стали основой для всех служб Web 2.0.

Однако для Web 3.0 до сих пор не существует механизма уведомлений, который мог бы уведомлять пользователей (адреса кошельков) о важных обновлениях, событиях, действиях и т. д. Этот ошибочный механизм уже привел к болевым точкам и побочным эффектам:

  • Важные события или требования к действиям пользователя полностью упускаются (торговля завершена на dEx, предупреждение о ликвидации по протоколам DeFi и т. д.).
  • Истечение срока действия доменов блокчейна должно быть размещено в твиттере в надежде, что пользователь льготного домена сможет его прочитать.
  • Взлом протокола означает отправку информации через Twitter и Telegram в надежде, что пользователи этого протокола узнают об уязвимостях.

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

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

  • DEX: пользователи DEX могут быть уведомлены, когда цена токена падает или повышается на определенный процент. Пользователи также могут настроить уведомления о том, когда их сделки выполняются и завершаются, вместо того, чтобы проверять, были ли завершены сделки (особенно во время высокого сетевого трафика). Пользователи также могут настроить уведомления о снижении или повышении цен на газ, чтобы помочь им решить, когда торговать.
  • DeFi: пользователи протокола кредитования могут настроить уведомления, чтобы получать информацию о том, что они собираются быть ликвидированы, вместо того, чтобы регулярно проверять, чтобы убедиться. Поставщики LP также могут настроить уведомления о непостоянных убытках, если они хотят сократить свои убытки во время волатильного рынка. Если пользователи DeFi взаимодействуют с особенно молодым или непроверенным протоколом, они могут настроить уведомления, чтобы информировать их о том, перемещаются ли большие суммы средств способами, которые могут сигнализировать о нестабильности в этом децентрализованном приложении.
  • NFT и игры: Торговля NFT или товарами на рынках или в играх может быть связана с EPNS для информирования пользователей:
    • о поступлении определенных товаров на продажу или на аукцион;
    • при запуске аукционов крипто-художников;
    • когда ставка принята или превышена;
    • когда продается собственный NFT (или чей-либо еще).
  • ENS / Потребительские приложения: такие приложения, как Ethereum Name Service (ENS), могут уведомлять пользователей, когда срок их подписок истекает, вместо того, чтобы ожидать, что пользователи будут помнить или регулярно проверять, чтобы напоминать себе о предстоящих датах.

Решение EPNS

Решение EPNS состоит из 4 компонентов: Услуга , Канал , Абонент , Пользователь.

  1. Сервис: Сервис - это любой пользователь, владелец кошелька, сервисы dapp или Web3, которые хотят отправлять уведомления. По сути, сервис - это любой адресный пользователь EPNS.
  2. Канал: Канал - это любая служба, которая активировалась по протоколу EPNS и поэтому может начать создавать уведомления.
  3. Пользователь: любой участник Web3, желающий получать уведомления о децентрализованном приложении, кошельке или смарт-контракте.
  4. Подписчик: пользователь, который решил получать уведомления от любого конкретного канала (т. е. Кто-то, кто подписывается на канал, который рассылает конкретное уведомление). 

Служба push-уведомлений Ethereum (EPNS)

Децентрализованный протокол уведомлений, который позволяет пользователям (адресам кошельков) получать уведомления и получать поощрительные токены посредством активного участия.

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

Поток высокого уровня

Уведомление хранится и обрабатывается как полезная нагрузка JSON, которая преобразуется в соответствии с правилами различных перевозчиков, когда уведомление достигает их. Полезная нагрузка JSON может различаться в зависимости от типа полезной нагрузки, что обеспечивает гибкость содержимого, данных, интерпретации и доставки хранилища. Это помогает в создании различных правил и интерпретации контента уведомления (например: перенос изображений, призыв к действию, видео в реальном времени и т. д.).

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

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

Он также позволяет извлекать правила, стимулы, настройки и конфигурацию из единого источника правды и не зависит от единой точки отказа.

Хранение полезной нагрузки JSON в децентрализованном хранилище и только его указателя / хэша в журналах цепочки позволяет оптимизировать затраты. Хотя протокол также позволяет хранить всю полезную нагрузку в цепочке для служб, которые намереваются это сделать.

Это можно дополнительно оптимизировать, переместив части этих механизмов на уровень 2 (L2).

Протокол EPNS (Ethereum Push Notification Service)

Протокол службы push-уведомлений Ethereum будет находиться в цепочке блоков Ethereum, которая обеспечивает и стандартизирует способы работы уведомлений в цепочке блоков.

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

Основные варианты использования и функции:

  • Пользователи;
    • Реестр пользователей;
    • Реестр открытых ключей;
  • Каналы;
    • Типы каналов;
    • Реестр каналов;
    • Специальные каналы;
    • Активация и деактивация канала;
      • Теория игр и стимулы для пользователей;
    • Получение справедливой доли токенов для канала из пула долей;
    • Обновление канала;
    • Рейтинг спама и регулирование;
  • Подписчики;
    • Подписка на каналы;
      • Подписка на прямое действие пользователя;
        • Теория игр и стимулы для пользователей;
      • Получение взвешенных вознаграждений за токены, начисляемых подписчику канала;
      • Действие косвенной подписки (делегирование подписки пользователя по каналу);
        • Теория игр и мотивация пользователей;
    • Отказ от подписки на канал;
  • Отправка уведомлений;
    • Интерфейс протокола для уведомлений;
    • Делегирование уведомлений;
  • Получение вознаграждения за токены из протокола;