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 компонентов: Услуга , Канал , Абонент , Пользователь.
- Сервис: Сервис - это любой пользователь, владелец кошелька, сервисы dapp или Web3, которые хотят отправлять уведомления. По сути, сервис - это любой адресный пользователь EPNS.
- Канал: Канал - это любая служба, которая активировалась по протоколу EPNS и поэтому может начать создавать уведомления.
- Пользователь: любой участник Web3, желающий получать уведомления о децентрализованном приложении, кошельке или смарт-контракте.
- Подписчик: пользователь, который решил получать уведомления от любого конкретного канала (т. е. Кто-то, кто подписывается на канал, который рассылает конкретное уведомление).
Служба push-уведомлений Ethereum (EPNS)
Децентрализованный протокол уведомлений, который позволяет пользователям (адресам кошельков) получать уведомления и получать поощрительные токены посредством активного участия.
EPNS использует следующий поток для обеспечения хранения, трансляции и отправки уведомлений независимо от платформы и децентрализованно.
Поток высокого уровня
Уведомление хранится и обрабатывается как полезная нагрузка JSON, которая преобразуется в соответствии с правилами различных перевозчиков, когда уведомление достигает их. Полезная нагрузка JSON может различаться в зависимости от типа полезной нагрузки, что обеспечивает гибкость содержимого, данных, интерпретации и доставки хранилища. Это помогает в создании различных правил и интерпретации контента уведомления (например: перенос изображений, призыв к действию, видео в реальном времени и т. д.).
Протокол позволяет пользователям напрямую контролировать, от каких служб они получают уведомления; он налагает правила на услуги, включая защиту от спама для пользователей, ограничение их возможности добавлять кошельки в качестве подписчиков и т. д.
Протокол стимулирует пользователей, получающих уведомления. Эта цепная абстракция данных позволяет доставлять информацию как централизованным, так и децентрализованным операторам связи, уведомления обрабатываются больше как социальная лента (например, Twitter), чем эфемерная часть информации (хотя средства для этого также существуют).
Он также позволяет извлекать правила, стимулы, настройки и конфигурацию из единого источника правды и не зависит от единой точки отказа.
Хранение полезной нагрузки JSON в децентрализованном хранилище и только его указателя / хэша в журналах цепочки позволяет оптимизировать затраты. Хотя протокол также позволяет хранить всю полезную нагрузку в цепочке для служб, которые намереваются это сделать.
Это можно дополнительно оптимизировать, переместив части этих механизмов на уровень 2 (L2).
Протокол EPNS (Ethereum Push Notification Service)
Протокол службы push-уведомлений Ethereum будет находиться в цепочке блоков Ethereum, которая обеспечивает и стандартизирует способы работы уведомлений в цепочке блоков.
В будущем протокол также может поддерживать другие цепочки блоков, исследуя мосты или перенося контракт и службу в конкретную цепочку блоков.
Основные варианты использования и функции:
- Пользователи;
- Реестр пользователей;
- Реестр открытых ключей;
- Каналы;
- Типы каналов;
- Реестр каналов;
- Специальные каналы;
- Активация и деактивация канала;
- Теория игр и стимулы для пользователей;
- Получение справедливой доли токенов для канала из пула долей;
- Обновление канала;
- Рейтинг спама и регулирование;
- Подписчики;
- Подписка на каналы;
- Подписка на прямое действие пользователя;
- Теория игр и стимулы для пользователей;
- Получение взвешенных вознаграждений за токены, начисляемых подписчику канала;
- Действие косвенной подписки (делегирование подписки пользователя по каналу);
- Теория игр и мотивация пользователей;
- Подписка на прямое действие пользователя;
- Отказ от подписки на канал;
- Подписка на каналы;
- Отправка уведомлений;
- Интерфейс протокола для уведомлений;
- Делегирование уведомлений;
- Получение вознаграждения за токены из протокола;