Deep Dive: Push Protocol

Push for Solana, what do you think?

Satyam
11 min readAug 16, 2023
Push Logo

Solana is the blockchain technology that competes for the currently dominant Ethereum.

It’s fast; it’s reliable, it’s secure. It can process over 65,000 transactions per second, making it one of the quickest blockchain networks.

And its capabilities make it an excellent platform for building and using various decentralized applications (dApps)and protocols.

But there needed to be a one-stop protocol for communication. That’s how Push protocol comes into the picture. And also, there are other options on Solana, but they might not be just the solution we need.

TL;DR — partnering with Push will help Solana build the ultimate communication UX for everyone.

Introducing Push

Push is the world’s first blockchain-agnostic decentralized communication protocol for Web3 enabling users to receive notifications from decentralized and centralized carriers.

It is an open network for validating and indexing all sorts of communication. And any smart contract, dApp, or backend service can utilize its capabilities to send any real-time notifications, chats, videos, and more that are tied directly to a user’s wallet address (aka web3 usernames) that are connected directly to a user’s wallet address (aka web3 usernames).

Push is currently supported and live on Ethereum, Polygon, and recently, BNB Chain. Push plans to launch on Solana, for which protocols and dApps on Solana can leverage Push’s stack.

Let’s talk about its history.

Starting as EPNS

When Harsh Rajat and Richa Joshi founded it, it was named EPNS (Ethereum Push Notification Service) because it was based on the concept of pushing notifications on Ethereum.

It was a much-needed idea at the time because it would expand the horizon of how dApps and protocols are operated by leveraging new crypto services to send push notifications to users regarding transaction completion/failures, account information, product drops, etc. gas fee warnings, and more. And similarly, web3 user can customize their feed by subscribing to a particular channel.

Source: Push Protocol’s Medium

Why?

For years, web3 applications have relied on web2 applications for communications. Even today, many governance, protocols, and dApps rely on platforms like Discord and Twitter to engage with their community. Web3 communities are found on Twitter. NFT whitelists are housed on Discord. Protocol updates are released via Medium. Developer support is available on Telegram. Etcetera, etcetera.

Fundamentally, web3 applications were never user-experience friendly as they started with a different idea. In the process, developers grew to make it better and safer but never more accessible.

Web3 application required users to frequently visit the dApp to see the results, contrary to today’s web2, where each piece of software sends emails, messages, and push notifications on devices. And that’s how web2 platforms deliver better experiences and essential knowledge transformations.

This big problem must be solved as DeFi, web3 Domains, and every dApp have important notifications, notifying users of short or long positions, expiring domains, or even a system-wide hack.

The solution was called EPNS, as it offered its services only to Ethereum. And it grew fast. It grew to the other blockchain and was branded as “Push” soon.

Source: Harsh’s Tweet

Below is a detailed flowchart of how EPNS was built and used.

Source: EPNS’s Whitepaper

Ecosystem

Today, Push protocols power 450+ dApps and protocols on Ethereum, Polygon, and BNB chains. It includes the various Defi, DAO, Social, Gaming, Service, Media, and NFT dApps and protocols, leveraging its capabilities to serve 70k+ subscribers. Some well-known dApps and protocols are CoinDesk, Snapshot, Lens protocol, dYdX, Cryptocurrency jobs, BanklessFR, MakerDAO, etc.

Source: Documentation of Push protocol (https://docs.push.org/users/)

Before exploring more, let’s study some key concepts around which Push is built.

Key Concepts

Channels:

A communication channel is a virtual connection that enables the exchange of information between two or more entities.

In the current web, communication channels are typically software-based programs or services that facilitate the exchange of messages, images, files, or other forms of data between users.

And any user on web3 can create a channel on the Push protocol enabling notification services for their users.

Its creation is just one-tap, and it can be created on any chain (Ethereum, Polygon, or BNB Chain), and one wallet address can create only a channel. And after creating, channel owners can send notifications across multi-chain also.

Opting In or Opting Out of a Channel: A successfully created channel can notify its user. Users have to Opt-In to receive notifications, which is a gasless transaction. Similarly, user can Opt-Out at any time, without any fees.

Channel Alias: As previously mentioned, Push is chain-agnostic, which means a channel can quickly notify multiple chains (Ethereum, Polygon, or BNB Chain). For this feature, there is a new term called Channel Alias.

Channel Delegates: The channel owner can delegate notification-sending power to any wallet address. This enables the capability to send notifications by another wallet on behalf of the channel.

Push Nodes:

To fully grasp the workings of push products, it is essential first to understand the role of push nodes(delivery nodes) in a communication protocol.

Delivery nodes are endpoints where messages are sent and received. They can be physical user devices, application servers, message brokers, or cloud messaging services and are tasked with relaying messages from one point to another.

In simpler terms,

Push Nodes is a Whitelabel solution to enable any app, either mobile, desktop, or extension, to allow Web3 push notifications to their app and plays a vital role in sending notifications.

Source: Push Protocol’s Medium

Open Network:

Push is an open network, meaning data is validated and indexed but doesn’t have to align into blocks, as the proof of data validity is supplied with the communication payload itself. It is a safe and secure data transfer without being a chain of blocks.

Chat Requests:

When a wallet sends a request to your wallet to connect and chat as a wallet-to-wallet message.

Related to Push Chat.

Perfect! With these terms on hand, we are ready to dive into Push’s Products.

Push Notification

An active channel can easily send notifications to its Opted-In users using an open network utilizing different delivery nodes. And if a non-subscriber gets a notification from a channel, it will be stored in the spam folder.

Who can send notifications? A channel owner, Delegated Wallet address, and you. Surprisingly yes, you could send a notification without a channel, but only to your wallet address.

How user can receive it? They can use Push dApp to Opt-In or Opt-Out of various channels, or they can go for a browser extension by Push to receive notifications in case their favorite wallet or dApp doesn’t have Push support yet. Or even a Mobile app (Android & iOS).

Many types of notifications -

  • Broadcast Notifications: Broadcasted and sent to all channel subscribers at once.
  • Targeted Notifications: Sends notifications to a specific wallet address.
  • Subset Notifications: Sends notifications to a set of specific wallet addresses.
Preview to Push Notification on Push’s dApp

Push Chat

From starting, the Push protocol was based on one-sided messaging, basically a notification. Unlike notification, Push chat is both-sided messaging; all the user needs is a Wallet address.

Every message is transferred through push nodes and stored in IPFS, encrypted and signed. And all the addresses involved in the conversation can decrypt it.

Spamming? This could have been a big issue, but chat is no different from notification. Every user has a chat request to start a conversation, similar to the Opt-In and Opt-out feature on Push notifications.

Users can send messages on Ethereum or Polygon. The team is working to expand this product to other chains.

Is it safe and secure? Yes totally is. It uses PGP encryption keys to encrypt data, and each bit of data is transferred through Push nodes with verification proof. Making it super safe and secure.

Preview to Push Chat on Push dApp.

Push Group Chat

You can even create private or public groups to talk to your community without relying on web2 tech like Discords.

And it is straightforward to set up using Push dApp. Even Push Chat SDK makes it super-fast integration to existing dApps.

Easily create Chat Groups using Push dApp

Push Video Calls

Recently, Push announced and added a video call feature to its lineup. You can video chat directly just using a wallet address without giving out your personal information to anyone.

Preview of Push Video Calls (Source: Push’s Medium)

Push Governance: DAO

The Progressive Decentralized Governance came into Push protocol in September of 2021, which allowed the community to be involved in these ways:

  • Grants Program: allocating grants to teams, projects, and initiatives across the ecosystem, helping build on the PUSH protocol.
  • Weekly Rockstar NFTs: each week (for 52 weeks starting April 19th, 2021), community members have airdropped an NFT with $PUSH tokens.
  • Meta-Governance: Token holders can vote for decisions in the future Push protocol.

Governance roles were PUSH nominee, PUSH delegate, Push holder, and Push champion, which comes with its requirements and benefits.

  • PUSH Nominee: community members who can be delegated $PUSH to vote on proposals.
  • PUSH Delegatee: nominees with 75,000+ $PUSH delegated can create new proposals.
  • PUSH Delegator: $PUSH token holders who can vote and delegate tokens.
  • PUSH Champions: individuals from across the ecosystem who help champion the EPNS governance framework and keep the community updated.

$PUSH

$PUSH Contract — 0xf418588522d5dd018b425E472991E52EBBeEEEEE

53% of $PUSH supply is for community allocation

With its own governance, Push tokens came into existence and usage. Its primary aim was to create a circular economy in its community.

Source: EPNS’ Medium page

The supply of $PUSH is capped at 100,000,000 tokens. As mentioned, 53% of tokens are reserved for community allocation, 24% will go for the early investors and advisors, 16% are allocated to the founders and team, and 7% of $PUSH is set aside for the Push Protocol Foundation. (Mentioned in EPNS’s Whitepaper)

Let’s get some feel for the protocol.

Creating a channel (enabled on other blockchains)

  1. Visit Push dApp — https://app.push.org/

2. Connect using your Wallet.

3. Go to Developer and “Create Channel.”

4. Understand and fill in details for the channel (Especially Channel Alias). And select which blockchain you want to create a channel on (Ethereum, Polygon, or BNB Chain).

5. Do Transactions

  • Approval of PUSH tokens
  • Channel Creation on EPNSCore

6. Verify the Channel on another Blockchain

7. You have successfully created a channel with the multi-chain feature.

Sending notifications

BTW, it’s gasless!

Sending Broadcast Notifications

  1. Select Broadcast from the dropdown list under Send Notifications.
  2. Fill Details

3. Notification Preview

And click “Send Notification.”

Sending Subset Notifications

  1. Select Subset from the dropdown list under Send Notifications.
  2. The only difference is that a new field asks you to enter wallet addresses.
  3. Fill in the Wallet addresses and details.

Preview and send it.

Sending Targeted Notifications

  1. Select Subset from the dropdown list under Send Notifications.
  2. Specify the wallet address.
  3. Fill in the details.

Preview and send it.

Receiving notifications

  1. Opt-In to a channel by clicking the Opt-In button adjacent to each channel.

2. Sign all the transactions.

3. Receive in your inbox.

4. Want to Opt-Out? Just click the “Opt-Out” button.

5. Sign the transaction; that’s it. Done.

Solana?

Push protocol’s most significant capability is its multi-chain compatibility (Ethereum, Polygon, or BNB Chain). And Solana can leverage this utility to connect their users to other ecosystems. Expanding horizons for users (accessing other chains’ dApps) and dApp owners (getting more users from other blockchains). It would be a win-win situation for everyone because the user can utilize various blockchains for their potential and competency to its comfortability.

And Solana’s power as blockchain can easily inherit the Push Protocol feature to create a unique web3 communication protocol that will be fast, easily integrable, and gasless(to some extent).

Well, even then, this is not the only app around.

Competitions:

Solsend

Solsend is a decentralized real-time notification protocol built on Solana for Solana. The founding goal in mind for Solsend was to enable intra-chain communication between users, dApps, and wallets.

This protocol is in its early stage and needs a lot of development, but it seems promising for intra-chain communication on Solana.

Open Chat Alliance

A group of Solana blockchain-based protocols came to streamline crypto communications through open source that would handle crypto-based messages transparently.

The “Open Chat Alliance” debuted in August of 2022 with buy-in from 19 Solana projects, most notably messaging platform Notifi Network, Solana Name Service (SNS) provider Bonfida and non-fungible token (NFT)-powered social media platform Only1.

It was promising when it was launched, but it hasn’t shown any significant progress till now.

In conclusion,

There isn’t much going on in the web3 communication protocol for Solana. And unsurprisingly, Push is a perfect option for enabling communication on Solana right now.

Recent developments

About PUSH:

  • Website
  • Discord: Its community on Discord is impressive, and they frequently announce what is happening in the community.
  • Twitter
  • Telegram
  • Medium: You can find a lot of detailed articles over here.

Get Started with Solana today.

Thank you for reading. If this is helpful, follow me on Twitter.

--

--

Satyam
Satyam

Written by Satyam

A Dilettante Writer / Blockchain Developer. (satyam.btc, satyvm.eth)

No responses yet