Since they first crafted the PoC during ETHGlobal’s Hack Money 2020 Hackathon, the EPNS team has been on an incredible journey of learning and development. So far, the Ethereum community has shown a lot of interest and gratitude, which is a sign of great change.
It’s been a year since EPNS began its journey toward becoming the industry’s traditional, scalable communication middleware for both Web3 and Web2 businesses.
Several ecosystem cogs must be innovated and improved in order for the EPNS protocol to become the de-facto communication layer. The roadmap was created to address the highest priority elements and is intended to be complete in order to maximize the effect of EPNS Protocol v1.0 and the EPNS ecosystem as a whole.
Working on these will allow the team to deploy the protocol on the Ethereum Mainnet, complete with communication middleware APIs and SDKs for sending updates, fostering a healthy developer ecosystem.Furthermore, special attention is being paid to developing a receiving infrastructure that will make it simpler for any crypto wallets or platforms that choose to use decentralized updates to adopt the protocol.
To achieve this , The EPNS team will focus on the following product categories:
- EPNS Protocol (Send Notifications)
- PUSH Nodes (Retrieval & Dispatch)
- Governance of EPNS Protocol
- Front-End products: dApp, MobileApp, Browser extension
- Development SDKs and Documentation
- Showrunners (to enable traditional services to interface with Web3)
EPNS Protocol (Send Notifications)
The EPNS Protocol’s main purpose is to ensure that all messages are prepared and submitted in accordance with protocol requirements. Any notification will be readily available for the PUSH Nodes in charge of dispatching to pick up.
To that end, a number of features have been completed , the most notable of which are:
- Upgradability with on-chain governance upgrades
- Ability to create channels
- Ability to subscribe / unsubscribe
- Ability to passively earn through staking (by services) — lending (via protocol) — interest (to users)
- Ability to send notifs
Despite the fact that the majority of the MVP features are complete, more features were discovered during the validation period and were included in v1. Here are a few examples:
- Delegating multiple user wallets to send notifications on a channel’s behalf
- Enabling subscription via meta transactions
- Verification badges and social proofs that can be used as a reputation score and to filter channels on the frontend
- Pivoting to delivering all notifs even when a user is not a subscriber of a channel. Instead, having provisions to land them into spam box achieving the same result but a more adaptable UX
- Designing the spam score throttle to ensure automatic throttling of notifs
- Layer 2 support for the protocol
- Integrating Ceramic decentralized identifier (DID)
Users would be able to obtain updates on their DID, which may be an ID linked to an ethereum wallet or bitcoin on some other blockchain, thanks to the incorporation of Ceramic.
Push Nodes (Retrieve and Dispatch)
The PUSH Nodes’ primary objective is to listen for events in EPNS protocol smart contracts and send updates to the appropriate recipients.
The Current Features:
- The cache of channels/payloads
- Capability to map subscribers addresses to channels in the database
- Ability to deconstruct and synchronize payloads sent from a channel in the payloads database
- Connect wallet addresses to deviceIDs
While the receiving nodes infrastructure is currently being built in a centralized manner, working on decentralizing this component is a top priority for the team.
Some of the current tasks being worked on are:
- Establish a peer-to-peer network of PUSH nodes
- Implement a P2P Push nodes incentive mechanism
- Pinning of notification payloads on IPFS
Despite the fact that the team’s main targets at the moment are only Layer 1 dApps and utilities, progress is being made toward a blockchain agnostic decentralized middleware solution. Creating a peer-to-peer network of PUSH Nodes would be a first step toward that goal. This will increase node scalability, and the protocol will be able to accommodate Layer 2 solutions while still laying the groundwork for potential solutions. We intend to introduce an incentive mechanism for active participants in addition to building the network.
For all notification payloads submitted to IPFS, it’s important to ensure that no notification is lost. All notification payloads that are sent to users will be pinned as soon as possible.
Any decentralized protocol, including EPNS, needs strong governance. To ensure strong network effects, incentives for participation are essential, both in terms of token rewards and otherwise.
The following have already ben put in place:
- Introduced liquidity mining and staking on https://incentives.epns.io
- Introduced $ROCKSTAR of EPNS NFTs and $PUSH rewards to signal gratitude to early community and to reward new community and their participation in the ecosystem. Read more about it here.
Plans arenalready being made to further introduce three governance capabilities to continue decentralizing the EPNS protocol:
- Upgradeability through online voting
- Incentives towards developing 3rd party channels via the protocol
- Incentives for active participation in the protocol
The $PUSH Token is critical because it provides on-chain governance and allows fees to be separated right from the start. If a majority of users agrees to unlock the fee and the fee split, token holders who have owned the tokens for the longest will have higher fees depending on their share.
Development SDKs, and Documentation
The team will release the following SDKs:
Front-end SDK: Will enable 3rd party services to interface with the channels, and facilitate sending notifications to users directly from third party dApp front-ends.
Back-end SDK: Will allow easy integration for protocols wanting to send notifications interfacing directly with the EPNS protocol smart contracts.
PUSH Mobile SDK: Will enable Mobile Apps to easily integrate and interface with EPNS PUSH Nodes and receive real-time notifications with the PUSH SDK doing most of the heavy lifting.
EPNS Subgraph: Together with these three important components of the Developers Toolkit,more Subgraphs will be released.
In addition to what is already available, extensive technical documentation, integration guides, and tutorials for EPNS products are in the works. From HelloWorld to more complex integrations with real-world protocols, there’s something for everyone.
Three key areas will be highlighted, with both basic and advanced examples of all types of integration provided:
Server Integration → through EPNS protocol
dApp Integration → through EPNS protocol
Smart Contract Integrations → through EPNS protocol Smart Contracts
The Server integration’s goal is to provide developers with a boilerplate solution that will help them integrate EPNS into their protocols more quickly.
The following are some additional developer guides in the works:
- How to Create channels?
- How to Send notifications through the dApp?
- How to deliver automated notifications?
EPNS will have three main front-end elements, giving protocol participants a variety of ways to interact with their favorite goods and services. These are the elements:
- dApp (decentralized App)
- MobileApp (iOS & Android)
- Browser extension.
Showrunners (Notification Logic Nodes)
One of the EPNS team’s main goals is to strengthen the Showrunners product by extending its capabilities and providing the group with more useful platforms.
On the infrastructure sector, we’ve already made substantial strides by introducing the following:
- Routines to ensure business continuity, making provisioning a priority by implementing channel monitoring with alerting and automatic funds flow from Master Wallets to Supporting Wallets
- Channels testing tools for developers
- Notifications scheduling capabilities blockchain-based and event-based
- Database Support, Cache layer, and Logging
Having worked on these foundational elements empowers us to have more flexibility to design channels that meet the community needs, and also prepare us to be ready for upcoming trends and new protocols.
What to Expect:
- Ability to send email from AWS SES
- Ability to send notifications from multiple wallets for the same channel
- Robust list of channels that provide significant value to the community covering a wide variety of topics such as DeFi, DAOs, Services, NFTs, and marketplaces.
We plan to release v1.0 of our Showrunners this year to serve as a boilerplate solution for developers to rapidly develop their own Showrunners software.
About Ethereum Push Notification Service (EPNS)
EPNS is a decentralized notification protocol that enables users (wallet addresses) to receive notifications. Using the protocol, any dApp, service or smart contract can send notifications to users in a platform-agnostic fashion (mobile, tablet, web, user wallets, etc).