Push Protocol - Previously EPNS

Push Protocol - Previously EPNS

What is Push Protocol?

Push Protocol is a service-based protocol that provides notification service among all decentralized networks like (dApps) decentralized applications and decentralized finance (defi) and is also used by many web3-based companies. In the beginning, the Push Protocol was named EPNS which stands for Ethereum Push Notification Service and now it is well known as Push Protocol. Push Protocol have been started in January 2022 on Ethereum.

Puah Protocol sends notifications to the users' devices through EPNS push notifications similar to notifications sent by applications like WhatsApp, Facebook Etc., Not only notifications, but they also developed a chatting application named PushChat and also included a video chatting feature to the application.


How do push protocols work?

Developers integrate the EPNS protocol into their dApps or platforms by using the EPNS smart contract and SDKs. This integration allows their applications to send notifications to users. Then users subscribe to receive notifications from their respective dApps or defi.

Push Protocol is developed based on Ethereum blockchain technology and developed using Solidity smart contract, which is a coding agreement.

When an event or trigger occurs in a dApp, such as a transaction confirmation or an update in user activity, the dApp interacts with the EPNS smart contract to initiate the notification process.

The messages or notifications sent by the push protocol are highly secured. They are completely encrypted and decentralized whereas no other third party or anonymous people cannot read or view them. Even people from Push Protocol may not be able to see those notifications.


What does a Smart contract mean?

Smart contracts are code agreements that are written in the form of code and it is also a kind of programming language.

They are specially designed to automatically execute the predefined code written by the developers on a particular blockchain which is known as a smart contract.

Due to this automation or self-executing smart contracts, there will be no need for intermediates or third parties in the applications. So they are completely decentralized and safe to use with these kinds of applications like (dApps).

What is solidity?

Solidity is a statically-typed, high-level language that resembles JavaScript in terms of syntax and structure. Solidity is specially designed to build or develop smart contracts on Ethereum networking applications like decentralized apps (dApps), and they are used to build even decentralized financial applications(defi) too. It is designed to support the development of complex smart contracts with features like inheritance, libraries, and user-defined types.

Solidity is the programming language developed for the Ethereum blockchain and applications built on Ethereum will be developed using solidity, whereas applications built on other blockchains use different programming languages and it depends on the blockchain we use.

Example: Smart contracts on platforms like Polkadot or Cardano may use languages like Rust or Plutus, respectively.


PushChat

PushChat is a type of messaging application that operates on the decentralized web3 framework. This application was built by Push Protocol which was earlier known as EPNS(Ethereum Push Notification Service). This enables the wallet addresses to send and receive messages between one chat to another chat. This is done by leveraging blockchain technology.

This PushChat was built to achieve their goal to bring a decentralized technological world, where they aim to provide complete privacy to their users. They are similar to our traditional apps like Facebook, and WhatsApp but they provide complete encryption and decryption of our messages so they might be safer and secured from any other third party. This PushChat sends notifications through Push Notifications (EPNS) which is also a part of Push Protocol.

To engage in chat using PushChat, all you need is a wallet address. They don't get any information for signing up like e-mail, phone number or any other personal information, rather they only get a wallet address. Messages sent by using this PushChat will be stored in IPFS and then encrypted.

PushChat can be integrated into other decentralized applications (dApps) as well as can also integrate into other protocols too

Messages are encrypted and decrypted only to the receiver's wallet address so they are the only ones who will be able to see the decrypted messages which will be in the form of reading the messages.

You can try PushChat by clicking here

Push Nodes

Push Nodes are a network of nodes, with each node serving a distinct role in the network. These nodes are responsible for validating every notification and chat message exchanged between addresses.

Role of Push Nodes

The primary role of Push Nodes is to perform validation checks, including ensuring that the payload adheres to the applicable payload standard, verifying the sender's ability to send the message, and validating the message's signature. Once the payload is deemed valid, the Push Nodes store the message on IPFS (InterPlanetary File System) and send a notification to the intended recipient (provided that the address has opted-in). To access and read the messages, the receiver's client application will request information from the Push Nodes regarding any new messages sent to it.


Features Of PushChat

  • Chat Request

  • Push video call

  • NFT Chat

Chat Request

They have been more concentrated on spam prevention as now they have a feature to prevent spams chat requests whereas they segregate into two types of messages into groups like

  • Inbox

  • Request

Inbox will be the normal messages with our known ones that is we accept and continue our chat with the particular wallet address.

The request group will be the request box where someone sends unknown messages and if the user agrees and messages them back then they can be displayed in the Inbox.

Push Video Chat

Push Video Chat is one of the features recently added to PushChat where you can video call someone through a wallet address. You can use this feature for official meetings so that you don't reveal any of your personal information like phone numbers or e-mail.

NFT Chat

NFT Chat is the recently updated feature on PushChat. Every NFT Chat consists of a set of encryption keys, including a public key and a private key, which play a vital role in encrypting and decrypting chat messages. These encryption keys are securely stored in an encrypted format on the Push Network.

NFT Chats within the Push Network are managed in a similar approach to standard chat messages. However, a notable difference exists: the encryption keys are encrypted using a secret key personally selected by the NFT holder, as opposed to being derived from the user's signature.