The Message Protocol of Web3: Push Protocol

文章:@Buidler DAO

作者:@JasonChen @Rui

翻译:Diamond

编排:@Coucou @满意my

注:文章不构成任何投资意见


TL; DR

  • Introduction

  • Change of name and target

  • Why decentralized message protocol is needed

  • Comparison of Web2 and PUSH logic

  • Protocol architecture: users, channels and subscribers

  • How to integrate PUSH Protocol

  • Future directions


Introduction

Push Protocol is a Web3 decentralized message protocol that enables any smart contract, dApp or even traditional service to send notifications to wallet addresses. This is provided that these wallet addresses choose to receive messages from these channels. It can be applied to the full range of Web3 scenarios, including asset liquidation for DeFi, domain expiration for ENS including news push for media, etc. Push Protocol is the headline project in decentralized message field with 17.7 million messages sent to 60,000 subscribers.

Change of name and target

Before September 2022, PUSH was called EPNS, which means Ethereum Push Notification Service. We could tell that it used to be a project for Ethereum. And at that time it targeted as a service rather than a protocol. The old name could break down to 3 parts: Ethereum, Push Notification and Service. While the new name breaks these 3 parts, as it started to support other chains like Polygon. Because the application scenario is not only limited to notification but all message pushing scenarios, and also supports multipole chains, it is no longer a specific service but a protocol. So the old name EPNS will limit its business and brand, which is why they changed the name to Push Protocol.

Why decentralized message protocol is needed

Message push has been integrated into all aspects of traditional Web2, from IM chat to news, various marketing information and notifications alerts, etc., both in terms of application scenarios and technology have been very mature. But in Web3 we rarely use the dApp that ables to push messages. Email meets most of the message pushing need. And the main reasons are:

• Most of the current dApps are in the form of web pages on PC, and the mobile version is under slowly development. The lack of mobile version restricts development of message pushing, because the message push is instantaneous. On the other hand, Web2 is only widely used after the emergence of the mobile Internet.

• The message pushing of Web3 infrastructure layer is lack of development, few mature solution could be used.

Even so, Web3 still has a large number of scenarios that requires message pushing, such as DeFi price changes, voting result notifications, etc. Push Protocol is also integrated into social protocol products such as Lens Protocol, as there is a large number of notification scenarios for followers and likes generated between users. CoinDesk is also integrated so that users are notified every time a new article is published on the CoinDesk blog, allowing for quick access to industry trends. With the development of Web3 message pushing scenarios will be more and more.

Comparison of Web2 and PUSH logic

Various messages are sent to our phones everyday, including friends’ message from social apps, headline events from news media, discount offers from e-commerce platforms. etc. How are they implemented? The following diagram shows the process of sending messages to phone from apps in iPhone, the core of which is APNS (Apple Push Notification Service) as a relay service. Divided into 3 stages:

Stage 1: The upstream project party packages the message to be sent and the iPhone logo to be received, and sends it to APNS.

Stage 2: APNS looks for the iPhone with the corresponding logo in the list of iPhones registered for Push service and sends the message to the iPhone.

Stage 3: The iPhone delivers the sent message to the application and pops up the Push notification according to the settings.

The following figure shows the principle of Push Protocol. In fact, you will find that the structure is the same as the APNS. DApp, server and smart contract are in the input layer, i.e. the source of messages. After passing the message into the Push Protocol, the internal nodes will monitor the events in the protocol smart contract and relay the message to the corresponding recipient.

In simple words, it can be understood that the PUSH code could be inserted into contracts, back-end and other upstream where you need to push the message, and pass in the corresponding message content. Push Protocol will pass this message to the corresponding address. Of course, you must also have front-end in the downstream responsible for receiving and displaying the message. Push Protocol is only responsible for the distribution of message as a protocol layer. In order to get better user experience, Push Protocol also makes a plug-in message box to display messages received by Push Protocol.

Protocol architecture: users, channels and subscribers

There are 3 main concepts in Push Protocol: users, channels and subscribers. Users are all entities in Push, including contracts, wallets, people, etc. Channels are registered message senders in Push Protocol, and users need to subscribe to channels to receive corresponding messages. Subscribers are users who have generated a subscription.

As you can see below when I open the Push Protocol console and click on the channels section a number of channels appear on the right side, these channels are the message senders created by the user.

I can choose to join and quit a channel. When I join, I need to sign to become a subscriber of the channel, and the messages generated in the channel will be sent to my wallet address after I finish signing, and the user can cancel the subscription at any time, so the user has the absolute right to get the messages without worrying about being spammed.

We can see that the channel is now very diverse, not only almost most of the mainstream Web3 products and protocols such as Snapshot, MakerDAO, etc. are stationed, and even have such as serialized novels are also stationed, so the imagination of Push Protocol application scenarios is still very large.

Creating a channel on Push requires at least 50 $PUSH. The contract charges 10 $PUSH for creating protocol. And the rest token are stored in the channel owner's pool contribution in the contract. Once the channel is deactivated, the pool contribution amount will be refunded back.

Channels can send 3 types of messages, broadcast notifications, targeted notifications and subset notifications. Broadcast notifications are messages sent to all subscribers of the channel at once, directed notifications can be sent to specific wallet addresses, provided they subscribe to the channel of course, and subset notifications are variants of directed notifications, notifying a certain set of subscribers.

How to integrate PUSH Protocol

Push Protocol supports sending messages via smart contracts, PUSH dApps, SDKs, etc. Let's take smart contracts as an example. First we need to import the IPUSHCommInterface contract interface.

Define the channel address, each user created channel will be assigned a channel address, then set the receiving address, you can specify certain subscription address, or just set it to broadcast mode i.e. all subscribers will receive it.

This way, when your contract code executes to the corresponding position, it will complete a message content trigger, and the node of Push Protocol will relay the content. After the message is sent out, the downstream needs to receive the message and then display it, and Push Protocol gives three ways to receive it, see the figure below.

The format of the obtained message data is as follows, including the message receiving address, message content, type and other information.

In addition to this, Push Protocol also makes its own Web3 native chat software, as shown in the picture below it can send text, emoticons and attachments, and the chat capability supports SDK integration, so any dApp can access it and have native Web3 chat functionality.

Future directions

PUSH allows all dApps, smart contracts, backends, protocols and even any distributed technology to communicate directly with the user's wallet address. For now, PUSH’s partners are involved in various important fields:

  • DeFi projects send transaction-related information through PUSH:
    Decentralized financial has always been the major activities in Web3. Scenarios that can use PUSH: send some user education content and learn about the latest developments and pools in the daily state; in an emergency state such as when a loan or collateral is close to liquidation, PUSH needs to remind their users to take action; users can be reminded when participating in activities about the changes in the prize pool, as well as the award situation, etc.

  • DAO use PUSH for governance and vote:
    DAO often need a large number of proposals, votes and announcements in daily works. However, the current situation of using Discord and other platforms is that people would mute or ignore some important information. Using PUSH can remind users to participate in DAO governance.

  • GameFi use PUSH for incentivizing users:
    Players and the platform can communicate directly, and through PUSH, all NFT airdrops, rewards, and upgrade progress can be used as notifications to motivate users.

  • Data analysis protocol integrate PUSH for more timely notification: There are a large number of Web3 data analysis protocols on the market. By combining PUSH, users can directly customize their own needs, such as tracking the trading volume of an NFT on an aggregated trading platform, reading SushiSwap's swap and pairing, and notifying when the floor price of an NFT drops, etc.

All in all, there may be a place for PUSH in any important To Customer field, such as real-time notification of progress when a legal agreement is signed, users need to be notified as soon as an exchange collapses, and the results of security contract audits can be broadcast directly to the community, etc.

After two years of development, Push Protocol has become the head project of the news pushing field, and has also become an indispensable and important infrastructure in the Web3 industry. In the future, we hope to see PUSH develop in cross-chain end-to-end communication. And Buidler DAO will also help it flourish on the Web3 communication.


MOVE OVER HODL,

IT'S TIME TO BUIDL!

Buidler DAO 聚集技术、投研、运营等领域的 Web3 实干家,以 DAO 的方式组织内容输出和产品实践,建立 Web3 人才网络和项目加速器;以自身实践打造 SocialDAO 治理范式和 DAO Tools 解决方案。

内部五大公会共同协作:孵化、技术公会构建项目加速生态;投研、教育公会输出深度内容;运营公会负责社区治理与增长。

官方链接:

深度参与:

Subscribe to Buidler DAO
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.