Harsh Rajat: Ethereum Push Notification Service – The Decentralized Notification Protocol #377

8 Feb 2021 · 1:07:56

Harsh Rajat, project lead and co-founder of Ethereum Push Notification Service, joins Epicenter to explain the decentralized protocol that lets dApps send push notifications to Ethereum wallet users. He covers EPNS's incentive model for users who opt into notifications, the spam score system built to filter unwanted messages, and the design choices behind topic-centric channels for building communities. Rajat also discusses his path into crypto and how EPNS plans to onboard wallets.

Speakers

Topics

Transcript

this is epicenter episode 377 with guest harsh rajat hi i'm sebastian quiro and you're listening to epicenter the podcast where we interview crypto founders builders and thought leaders on this show we dive deep to learn how things work at a technical level and we fly high to understand visionary concepts and long-term trends if you like epicenter the best way to support us is to leave a review on apple podcasts and if you're on a mac or ios device well the easiest way to do that is to go to epicenter dot rocks apple and if you're new to the podcast

be sure to subscribe to get episodes every week on apple podcasts spotify or wherever you listen today our guest is harsh rajat he's the project lead and founder of ethereum push notification service epns is an infrastructure project which builds a decentralized push notification service so basically it allows smart contracts to send notifications to account addresses and there's lots of applications for this so in a dex context a user could be notified when the price of a token falls or rises by a certain percentage you could also set up a notification for when a trade is executed or completed in d5 a lending protocol user could set up a notification

and be informed when they're about to be liquidated lp providers could set up a notification about impermanent loss and things like that and there's other applications in gaming and nfts which we go into during the interview so one thing i learned during this interview is that push notifications as we know them in our everyday lives like the ones we get on our phones for example are highly reliant on mobile dev platforms so in ios for example all the push notifications go through apple before being delivered to your phone apns provides an alternative to this that is decentralized and censorship resistant and the nice thing about epns is that it's not blockchain specific offchain applications can also use epns to send notifications to their

users sonny and i went into this interview really excited about the tech and all its potential applications because we think that the idea of a dapp or a smart contract sending notifications to wallet addresses is really cool and useful during the interview though we realized that there was one thing about epns that we missed during our research somehow and that is that it also includes this incentive mechanism that allows users to be paid to receive messages so the idea is that people would sign up to a channel and they can be paid to receive messages from say like a project for example we didn't really understand why this was useful in the broader kind of context of the project we felt that it could

create opportunities for some spammy behavior so there's part of the interview where we address that with harsh in any case i'm really excited about this project and the technology they have a really great team they have a wealth of experience in the mobile app space and they're backed by some prominent figures in the ecosystem so i have no doubt that they have the resources and the ability to succeed at building something which is really valuable the next time you need to make a swap don't worry about figuring out which decks or amm will provide you the best price just go to one inch it's my go to dex aggregator and when i use one inch i know i'm getting the best price for my trade what's nice about one inch is that it allows you

to choose on maximum return or lowest gas cost when you're making a trade then you can choose which one is right for you to learn more about one inch and start using it today go to epicenter dot rocks slash one inch and with that here's our interview with harsh rajat we're here with harsh rajat he is the project lead and co-founder of ethereum push notification service and it's a protocol that allows for anyone to send notifications on a blockchain so contrary to like other notification service that i think most people are used to uh these go through like typically like

a central server and ethereum push notification service actually is uh living on a blockchain so it uses the underlying infrastructure of ethereum to um to push notifications to users uh thanks for joining us today thanks sebastian uh excited to be here so tell us a bit about your background and how you became involved in crypto sure uh my background uh i've been a mobile entrepreneur from 2010 so started my entrepreneurship journey quite early was there uh in the mobile ecosystem space designed a lot of apps and games uh some of them were quite popular as well

but yeah in 2015 i kind of grew board of the ecosystem and just developing mobile apps and games and that was when the exploratory phase started around 2016 i entered into trading as well but yeah i was at that point of time i was going through a lot of tech i was trying to also dabble into marketing i was also exploring a lot of other technologies including machine learning and ai and software as a service product but yeah in 2018 uh i realized that you can program on ethereum or you can program on solidity uh which is a weird curve because you know i was trading

from 2016 onwards with a classic strategy of uh buying high and selling glow but yeah uh in 2018 i found out that you know you can program on solidity and uh i always believe that before you know uh you can start solving some problem you have to learn about it right so uh at that point of time i joined the fintech startup uh they were doing a p2p meta transaction uh smart contract as well as a mobile app was there for around uh one and a half years learned about smart contracts learned about the ecosystem and yeah that led me to start uh ethereum push notification service in

2020. so before before you uh actually got to like start ethereum push notification service were you like what kind of things were you building with just solidity like what kind of things were you building in that like sort of like your learning journey in the ethereum space sure so i dabbled into i mean we all start with hello world in the smart contract so yeah that was the first part but yeah i moved into and i uh dabbled into uh trying to create a version of google drive for uh the previous form uh which would uh instead of google drive which will be storing uh files uh on the ethereum ecosystem of course with

with ipfs and ethereum ecosystem playing in tandem and you know essentially that came in handy with notifications as well because you know while you can store everything on ethereum but that will be very expensive so ipfs really opens up a whole lot of possibility so yeah in the previous 10 year i played around with meta transaction played around with how you can create a basically a google drive version uh on the ethereum ecosystem using ipfs and of course the hello world contract so it seems you've always been very more attracted to sort of the web three aspects of the ecosystem more so than for example defy or any of

these other like narratives so what attracts you so much to the uh web 3 vision the first thing about factory is that and you know i believe in the future so you know the basic thing which really excites me is that uh in a way your public wallet address is your username and your private key is your password and that essentially fits into any service and when you move from that service you are essentially carrying your data so it's kind of like a very new thing to have or it was a new thing to have when i started but that excited me because uh

you know all a lot of times i i was thinking that you know why can't my data move between servers and who should own my data whether it should be me or whether it should be corporations and you know that you sort of enable that uh so apart from you know of course uh it's censorship resistant uh it's better you know in terms of privacy but you know taking that apart it also enables you to move your data and in a way control your data which was not really or which is still not present in web 2. so how did you end up uh coming now to the uh push notifications like you know with all these you know sub verticals you could dive into

within web3 push notifications often isn't if people think about storage or like you know messaging but like how do you end up on push notifications sure so actually it's a full circle for me when i started in 2010 i started as a mobile entrepreneur right and uh i uh we created a web browser at that point of time that used to compete with the safari and google chrome and uh now what we realized uh i mean we were lucky we uh the app was quite popular at that point of time it had tabs download manager all the fancy bells and whistles and because of that you know whenever a new tech was coming

we were rushing to incorporate it and uh around that point of time you know apple launched push notification and i was uh able to deep dive into the architecture and understand you know why that communication middleware was needed and what sort of news it opened up and yeah because of that i was a huge fan of push notifications from they're on and if you can see basically from 2010 uh those notifications they basically transformed our lives so we don't realize it but right now we are dependent on these push notifications so much in the back to what i mean this meeting would have probably been a push

notification any emails any payments any social likes or any trends which you visit or services you visit traditionally the services these traditional services they essentially send you a notification telling you that you know your attention is needed even you know your whatsapp video calls or your whatsapp chats or your facetime calls are push notifications which are then transformed based on the payload in essence i already knew about push notifications and you know when in 2020 we uh sat down and we started uh going through uh observing a lot of tabs and smart contracts to see

if there was any pain point we were comparing it with the web 2 experience and what happened was we quickly realized that while web 2 services they come back to the user and they say hey we need your attention what do you want to do do you want to pick up this call you are trending do you want to go and reply uh when you compare it with the web keyword uh the services are still uh in the stone age era of communication uh where then you know the three services expect users to come back to them uh like you know you take a loan on rv it can be liquidated uh without you getting to know about it unless you are going back to those services and checking that out

uh any governance what happens you know now you will not know about it unless you go back and check it out take for example an indexes or you know ens domain names they expire and this user is expected to keep track of it and while that's okay when you start early but as we mature and we grow a lot you know it becomes quite tough if you are dabbling in 20 different web 3 services you need that same sort of interface which web 2 has already perfected and you know they have already proven that the user engagement and retention is more when you are doing push notifications so yeah because i had that knowledge and because

we were observing these points we quickly noticed that this is something which is probably we can help build and you know of course we were lucky and at the right place at the right time to do that one inch is a decentralized exchange aggregator that sources liquidity from the top dexes and amms to save you money and time on swaps one inch finds the best possible trading paths across over 20 supported liquidity protocols and splits them up across multiple market depths i started using one inch last summer and since then it's become my go-to aggregator i use it every time i need to make a swap they recently launched v2 which has a brand new api

it greatly improves their routing algorithm and my favorite part about the v2 is the new ui it's super clean and easy to use these improvements ensure that you get the best rates on your swaps with the lowest possible response time so the next time you need to make a swap forget about getting the best rate or optimizing your gas fees make it easy on yourself just use one inch and you can let them know we sent you by go to dot rocks slash one inch that's one i n ch we'd like to thank one inch for their support of the podcast you said something that uh i i think is really interesting as you were talking about like these different services like needing your attention and i mean personally

in the last probably last year or two like i've been really on this kind of like this quest to regain control of my attention and so i've gotten off a lot of social media and in fact i barely get any notifications on my phone at all like even whatsapp messages like don't have me i don't have notifications turned on for that and i wonder if in this journey of yours to you know provide something that i think like is of actual value right it's like providing people with the information they need when they need it if you also have given any thought to i mean i i won't say like the consequences because like you're not the the root of the problem i think the root of the problem is more just

like our digital lives that have taken over our attentions but if you have given any thought to like design mechanisms that or design patterns that are a little bit more mindful of our of our limited attention if that's something that you've either incorporated in the product or you have given some thought to sure actually we did you know because uh we we actually believe a lot in uh basically observing so for example you know telegram messages stay at a boom but at one point of time if you go on telegram you are getting loads and loads of spam because no one stops uh

the other user to send you a message and uh you know that kind of became our thesis that before we start building a notification protocol we need to make sure that you know the users who are going to receive these notifications uh they should always be in control and you know of course the services that will send notifications so they are also given a mechanism by which if they are abusing the service they are throttled down not by us not by a centralized entity but in a decentralized way through the protocol itself so the way we developed this protocol was uh by always ensuring that the user

is always in control and uh the way we do it is that whenever the service wants to send a notification to a user wallet whether it's a dab it is a smart contract whether it's a traditional server uh before they are able to do that the user has to opt in to receive these notifications because you know in the end uh that's how the design system should be a user shouldn't get anything which they don't want and uh that is the first uh design step we took that notifications are code it might uh be game changing for the entire ecosystem but they also have this uh evil attached to them

where then anybody will come and you know they will just start spamming and how can we stop that and we realize that the best way to stop it is to make sure that the user is in full control of receiving or enabling these notifications from a service or disabling it from a service and after that the service cannot usually send the notifications out so that was the first step the second step we did was a civil mechanism or a protection which was based on the thesis that what if a service is pro performing really well and they get loads of users and after that they turn evil or they are bought out or they are hijacked

for that you know we developed something called the spam score and we developed or we are still developing a governance which will make sure that you know if a service is not performing or you know if a service is performing in suspicious ways then uh the protocol or that smart contract middleware which we are designing it's essentially is able to throttle notification from the service and give them a chance to basically correct that behavior and you know if they don't stop uh the throttling will start to go up and up and again that's based on all the automatic controls all the positive and negative action the service

takes in regards to sending notification and regards to their channel uh but yeah those were the two points uh which we thought about i would be happy to get more into the spam score portal well let's come back to that actually first let's can you maybe tell us about how the protocol works and like what what does it even mean to be a decentralized notification protocol because like you know in apple's ios toolkit or whatever like some server has to be the one saying to send the push notification so what does it mean to have a decentralized push notification service to understand that uh i mean let's take a step back and uh

let's talk about apple push notification service and how they usually operate so yeah uh basically uh the way apple notification middleware is made it's made i mean yeah so basically there's a apple media that handles apple push notification service and whoever are the app owners they basically have to interact with this middleware and not many people realize that this middleware is basically responsible for a lot of things but uh certain uh cool things which this middleware does is a it verifies if the app owner is entitled to send notification on the apps behalf uh b it ensures that the user has opted in to

receive these notifications and see this middleware this apple middleware ensures that you know if our app is sending a lot of notifications then it's throttled uh now you know if all those rules are met notifications they basically are emitted out from this middleware and then what apple ecosystem and what apple platforms are doing is they have they have a socket or a wss connection to this middleware and they are only listening to this middleware and they are then showing notifications to their operating system and while you know it seems quite easy but uh it's quite complex uh if you look about it

in the architecture way i mean if there was uh if there was no middleware then apple was instead going for he i will just listen to whatsapp middleware or facebook middleware and show notification first of all it will become quite tedious because now yeah apple as the ecosystem is listening to 100 middlewares and you know they are trying to see and uh put hundreds of notifications from those hundred middlewares which is not possible because you know the battery will be gone in like five minutes so it's a quite elegant solution that you have one middleware which and standardizes all the flow and imposes the rules and then the ecosystem listens to it and

shows all these notifications so yeah that's that's apple push notification uh service what we did was we essentially took this decentralized middleware and we transformed it to the web3 uh architecture layer so for instance one one of the things we did with the middleware of course you know all these rules we took that we borrowed that and we cooked it in the decentralized smart contract of ours to create a web3 standard of communication and notifications but yeah with apple ecosystem the problem was that these notifications are flowing to just apple platform and it's quite easy to just listen to them but for webtree i mean it doesn't make sense

if notifications are only coming to our apps because again that's not the battery ideology so what we did was we abstracted the sending part and the receiving part of the notification so in essence what a smart contract on this ethereum layer does is you know of course it follows these things verifies that the users control uh the app is sending notification on the app on a behalf and all those things but yeah once all those rules are done and verified the smart contract basically emits that event out which contains the identity of the notification and that's the sending part for all the services how to send the

notification out for the receiving part because it's abstracted now we have the ways or we have the means to listen to this one single smart contract get all the standardized notifications and then essentially transform them in a way that it's supported by either apple ecosystem or android ecosystem or even telegram or you know the end goal vision is that you know these notifications are supported by popular uh crypto wallets by themselves so yeah that's essentially what we did uh to create the notifications uh protocol and you know that's essentially how the notifications are basically transformed

and emitted out curious like what are the kinds of because i mean we like i think for for web 2 the use cases are pretty are pretty clear because we i mean we observe those use cases on a daily basis at least those of us who have notifications turns on but i i wonder if in web 3 some things are off like some things are obvious and you mentioned this earlier like you're you're like a liquidation for example you want me notified of that but like what are some other unique use cases that perhaps are not so obvious or that you envision it would be where it would be useful to have push notifications

like for the future of defy sure so d5 specific you know i have a whole list of ideas but yeah uh near liquidation and alerts i already spoke about that uh price alerts staking rewards mistaking rewards which are about to expire stable going back slippage uh low gas cost the balancing uh token contract migration any security update governance update any collateral types which are getting launched on the market any liquidity mining incentives which has been changed or are now available any yield farming alerts so any escrow period which is ending and you know a lot more

in essence that's that's the thing that's the beauty of a communication protocol it doesn't just stop over here i mean because the way the notifications are made it can be used for any communication that a service wants to do to their users and by the way i then really uh spoke about uh one other innovation which we did and that's why we are also called the d5 protocol we essentially also enabled passive earning for all the users who are receiving notifications and that essentially relies on the d5 aspect of our protocol but yeah that's another question i just wanted to highlight that

just to um so i can get my head around this fully it's what this protocol it's not necessarily a web like a blockchain specific thing where it's only you know gaps can like send notifications it's really more of saying hey there's this like very centralized middleware in the notification stack which is like owned by apple and that's like this like point centralized point of failure or whatever and then let's decentralize that middleware the fact that it can be used for like by dapps is like a side thing because it can also be used by like you know normal web 2 companies should also

choose to use this instead of apple's middleware definitely definitely i mean uh that's one of the key points when we were building this we wanted this to be backward compatible as well as future compatible so dab and smart contracts of course they cannot send notifications out using uh traditional means but with uh epns uh traditional servers can also send notification out as long as they're following the rules of the protocol but yeah just to correct uh you guys basically we are building the battery uh decentralized middleware uh which will send notifications out and you know metamask

if for example integrates us it can pop open though guys metamask hasn't integrated us uh right now if we have to go to the apple uh service or when we go to the apple ecosystem i mean through this web tree uh middleware all the notifications still have to flow through the apple ecosystem uh right because you know that's their rules but yes other than that uh you're almost i mean you're a hundred percent right okay got it and and so what's nice is that because this middleware exists on the blockchain dapps can al along with servers sending a transaction to like send a

notification adapt can also send a create a notification by like sending a smart contract call to the uh contract exactly yes got it okay let me okay now i think i'm starting to understand it wouldn't this cause like a much higher gas overhead for most of these contracts like you know wouldn't we prefer instead of doing like smart contract calls wouldn't we prefer to have some architecture where you can use like ethereum events for example which are much cheaper gas-wise than doing smart contract calls sure so actually if you're looking at the smart contracts calls in the end they are emitting i went out

and it's uh it's only because you know you said it right events are cheaper so right now even using the smart contract called the way we have made it it just costs 29 000 gas uh which in essence is not that high but yeah uh there are certain ways by which we are trying to even subvert that and uh the way our thesis is so the way we think is that you know in the future we are going to come into l2 layers we are exploring solution about that and you know if a traditional server or effort app wants to interact with the l2 layers they can still send a notification

and we will still be on l1 uh mostly for the mainnet smart contract to our epns protocol interaction and usually whoever are on the main net whatever smart contracts are on the mainnet and they want to send notification their usual average uh cost is much much higher i mean um usually about sixty dollars i mean a couple of days back to uh basically loan or borrow on rv b1 and you know if notifications were enabled on that platform it would have cost 60.5 to the user or even less so in the way we think is that you know if a user is

able to pay 60 dollar then of course they will not mind paying point one percent extra to make sure that those notifications uh make it out to them and of course for the dap and uh for these traditional servers they can continue interacting with us on the l2 layer uh thereby solving the problem of the gas price and of course discounting eip15592 so how does the integration work here now so your smart contract is basically omitting the events for the notifications is it now on each wallet to individually know to subscribe to these events and and send their own push notifications

to the users yes so basically again uh if you compare the web to word services decide what notifications they want to send for the user as long as the user has opted in to receive notification once and that's the same architecture which we use on the protocol so the user basically has to subscribe to a service or become their subscriber and we call services channel on our protocol so once a channel has a subscriber after that the logic of sending notifications whether they want to trigger on chain notifications or off chain notifications it's left up to them uh what they want

or what they think is useful for the users either as a whole or a subset or even just one it's uh that logic is left up to them and they are free to decide how do they do the off chain notification so i'm understanding the on chain so the flow would be that the dap triggers your contract emits an event my wallet on my phone is watching this contracts events it sees one that was meant for me and it pops up as a notification on my thing how do you do an off chain one because if my wallet only knows to look at the events of that contract sure so the off chain can interact with our contract right so in the end as an offshoring service you are

interacting with the protocol oh but you still have to send a transaction on chain issue okay that's what he meant sorry okay the origination of the con of the notification is off chain but eventually a transaction still has to be made on chain how expensive do you do you think this is like going to be feasible that every time like a someone wants to send a notification they have to do an on-chain transaction so like you know you just mentioned that you guys are looking into like l2 solutions and like stuff but like do you not think that this will be like you know especially even in the boot shopping phase right now while you're still in v1 right now ethereum gas prices are like you know it's like a minimum couple bucks to make a

transaction do you think that's going to be a hindrance to your getting started not really so i mean we already started our alpha product on drop scene and we are going to come on l2 very very soon but yeah that's that's the thing i mean uh for now uh loan liquidation uh i mean if you have taken a loan of uh a thousand dollars you wouldn't mind paying two dollars and even at this moment i mean with the current gas price we calculated with 300 gas price the notification uh cost come came around to be uh one 1.2 dollars if you are on main net but you have a drop scene of course uh that's all

totally omitted out but yeah you have to imagine now or you have to bring l2 into the mix because you know of course we are on ethereum push notification service so ethereum is in our name but eventually we'll become blockchain agnostic as well and uh the way we are doing it is that you know we get this middleware running we of course d5 is the one that needs notification the most i mean your finances if you take a loan from your bank and the bank doesn't foreclose your house before sending your alerts and you know this happens in d5 all along but yeah now with l2 this becomes a no no brainer because again if l2 is enabled to scale reddit then of

course you know h2 will easily be able to scale our notifications for the cost on l2 i mean the analysis we have done right now and it's still ongoing uh we feel that it will probably be around 0.001 sending a notification out and again a notification transaction doesn't mean that you know if you are sending notifications to 20 000 subscribers uh then you have to send 20 000 transactions as i said you know the notification identity basically carries uh a lot of things among which what all recipients or subset of recipients or single recipient notification is meant to so yeah uh

not really worried about uh gas costs right now but yeah definitely something we are keeping a close eye on i think most of the ethereum is so i'd like to talk about uh channels a little bit and just kind of dive into those so we've talked a little bit about them but i i mean so if you go on the epns app so like i installed the app on my phone i got it set up and everything and like there is some channels here that i can subscribe to uh so there is a like a bitcoin price channel i don't have them in front of me right now but like i was looking at it earlier and so there's like some kind of generic uh channels there now next next to each channel

there is like a number of users presumably that are subscribed to that channel and also a cost and die um so walk us through then so like what are channels conceptually so is it is it a stream of information that is going to different users like like a telegram group or or this each so for something that's a little bit more personal like for example liquidation is that on a sort of user or individual address or is it like one channel where that channel is sending information to multiple users in this case like how is that structured and then later we can get into the um like the economics of how this works channels basically they're very much similar to youtube

so any user or any service when they want to send notification they have to become a channel and uh that channel then basically have subscribers so the subscribers are basically opting in to receive notification from that channel the way we have designed it was we thought a lot about it that you know are we all compound or any other default protocol will come and start using notifications through channels but what if uh some uh d5 enabling uh apps like snap of io or instead up they also come in and now they are sending notifications uh that also uh contains rv as a subset and because of that you know we realized

that uh having a channel for each specific service makes a lot of sense and that's what the channel does uh the 50 or the number the amount in coins which you saw in the app uh that basically is the part of the incentivized notification flow which i uh spoke about it uh a bit briefly but essentially uh it's also a stable mechanism feature so we are the decentralized protocol that means we don't have a centralized flow we cannot verify if a channel is good or bad and we cannot even verify if a channel is bought so what we do is uh we ask channels who are interested to send notifications

to first activate themselves on our protocol and the way we do it is we tell them that you know you have to stake some amount of time for your channel to be active this some amount of time is either 50 right or it can go as high as the channel wants and i'll get into the reason why it is dynamic in a bit but yeah once the channel activates themselves that means they have deposited these die we then use this dye or we then take this die and we lend it out to our platform and and then of course we start generating interest on uh those die and yeah whenever a subscription

uh subscriber or a user comes in and says he i want notification from this specific service that user automatically becomes eligible to receive a part of this interest so that is one way by which we try to incentivize these notifications for the user and of course you know ensure that the civil mechanism on the protocol is also there so what just one question here what is the purpose of incentivizing users to receive notifications i mean i i receive notifications the incentive is the information itself because it's useful to me it's valuable to be in a context why do i need extra incentive financial incentive to receive a notification

i could say by not but uh basically uh the reason is that you know if you're a uniso app or if you're away of your compound of course you know user wants to receive these notifications but yeah let's say you are running a promotion at that point of time you can deposit a higher stake which will transform into more passive earnings for your users so it can also be a user engagement and it can also be a way to drive more users to your protocol or if you have launched a new protocol and you just want eyes on that protocol so again the incentive part works very well because you know the users are flowing in onto the protocol yeah i'm still not fully

seeing it like you know i could have you could have built a separate protocol to allow dapps to pay their users but it doesn't seem this doesn't make sense to me why it's this is linkedin with a notification system sure i mean um the first thing is sybil and that's why we kept the staking fee quite low this is refundable so a service uh when they don't want to send notification they can take this taking fee out so the first thing to keep in mind is that first and foremost this is a simple mechanism and then you know once we build it we realize that there's a defy aspect to it we can generate passive earnings for the users so why not go ahead and do that right so

what's the sybil attack here what would a service be able to do by sibling sure so one of the thing a person can do is a person can basically create 10 000 of the channels by just creating 10 000 voltage and then just transacting with those wallets and you know if the transaction fee is cheap especially on the l2 network and even on the l1 network uh the transaction fee is quite cheap to activate a channel then yeah it basically becomes transaction upon transactions that can be done or executed at a very cheap cost so with the uh with this mechanism that you have to deposit 50 or higher uh we are essentially telling

uh players that you know if you are serious about sending notifications then this 50 or higher doesn't really affect you why does it matter if someone creates a hundred channels if the if users don't subscribe to them why would it matter i mean uh in a way our app is also discovering these channels and uh at that point of time it really made sense and whether incentivized earning in the flow i mean not a lot of users have really complained about it in fact they are happy about it so it kind of really worked out but also like the idea of like you know if the minimum is 50 die putting that on

ave that's not gonna really get that much yield right it's gonna get like a couple of bucks a year split over thousands of users wasn't i feel like the complexity of this entire system of like landing on ave is just like not even worth it and plus there is definitely additional gas costs that do that come with like doing this whole ave system once that just like cancel out all the yields if it's only fifty dollars yeah so that's the thing i mean for uni swap the user already sees the benefit of the notification so they just have to do 50 die if you look at it from a pro promotional perspective

let's say a protocol is newly launched and they just want users to know about their protocol and you know if they deposit 10 000 die on their channel then all of a sudden uh they will be an influx of users even if it's for a weekend you know after that they reduce it to 50 days so it's more like a promotional or an incentivized mechanism uh for the users it's more like more of a passive earning rather than an active earning so think of it more like you know in a promotional sense and think of it that if a user is spending some gas cost to opt-in or subscribe to a channel then you know if the information is worthwhile for them

then yeah this kind of makes up for it in the long run it's unclear to me here like who is the target uh user for this product is it you know is it end users so you could look at it as one way it was like okay an end user could see value in this because they're going to be notified like when there's a liquidation coming or when their domain name expires and like that's a clear value for the user who wants to be informed of that information of that fact and but on the other hand like this incentive mechanism this kind of almost like promotional almost like kind of i mean it does seem like a little

bit spammy like you know it feels like you just have you know you just had like a bunch of people in there the same people that you'd have in these you know kind of like pumpy telegram groups or whatever like trying to pump you know coins that the projects would have created notifications for like i don't know i guess i don't know like who the user the final user is meant to be and also this this whole promotion mechanism just seems a bit off to me and i don't know like why anyone would would want to go in there if the interest that they're due to receive is like 50 euros worth of dye you know like on on ave sure i mean um there are couple of ways to look at it

first of all uh again if the service is attractive enough uh then the user of course wants notification and they don't really have to care about incentives so yeah that's that's one way to look at it the second way to look at it is you know if the service is gaining popularity or if they are running promotions then it uh does make sense for a lot of users who are not based on the western part of the country because you know while earning two die or three die or four die in a month might not be a lot of good passive earnings for the users in developed countries but for the users who are uh in non-developed countries

it's a way to drive mechanism is the same way how uh you know promotions are done or you know uh why does it make sense to encourage liquidity mining uh it makes sense because you know you can drive road to your platform and with this way i mean we just provided is that like sustainable growth though because if like if you're talking about okay i kind of get that these incentive mechanisms or these promotions or or like this this passive income is useful for you know for people uh who don't have like a high level of income but you know for the platforms on the other side who are like buying buying this attention

uh is that really you know who they're targeting as as users and is that really like sustainable growth for them if the protocol like if if they just have like a bunch of people in there that are just like trying to get passive income but don't really care about the protocol it's just like oh here's an opportunity for me like to make like two or three bucks a day yeah wouldn't also people just like subscribe to every possible channel just so they can get the yield from all of them yeah actually nice question but here here is uh the argument that makes sense because you know people who are subscribing to these channels they are earning a very small passive income that is getting better over time so yeah users can of course go ahead and subscribe to all the channels

but in a sense uh you know most of the time users will probably subscribe to channels uh who they really like or you know where the incentivization structure is quite high and again that's that's the thing i mean for us being a decentralized or being a communication middleware we have just left these rules open for any services to come and try because you know our users indicated that they wanted this so service indicated that they wanted but at the same time we made it quite flexible so that services the if they think that you know incentivize notification is not something that stay game theory supports

then they can just take 50 day and that's not going to generate a lot of funding for these users so in essence they can play by their own game theory and their own rules we are not going to force anyone to pay high or low just on that fact so yeah that's that's the thing one of the other things you mentioned you know is that it's meant to compensate the users for the gas costs of like subscribing why do i have to make an on-chain transaction to subscribe that seems kind of unnecessary i feel like there were there's some easy ways to design a way to subscribe to channels off chain by just sending

a message or something why do i have to subscribe on chain we are going to bring meta transactions into that mix so yeah the services can also offload that cost if they want for the users but yeah on chain uh is needed because again uh this is a decentralized communication middleware and we need to make sure that the user has opted in or the user wallet has opted in to get notifications from a channel before those notifications can flow through the smart contract or can flow through the service so that's why that on-chain event is needed you know whether it's done on the l2 smart contract of ours

or on l1 or true meta transaction that's something which we are actively you know trying to build yeah i mean it seems to me like this could also i'm probably far less technically positioned to answer this but like it seems that you could post the post the notifications to ipfs some if if they're meant for everyone like anyone can just kind of pull that data from ipfs directly and then so therefore you don't need the on chain transaction and if it's uh sort of data that's meant for a specific user that data could maybe be encrypted using some kind of handshake mechanism that leverages the user's

existing um private key and then they would like so it would also be there on ipfs but only they would have access to it and then maybe that would not necessitate that on chain transaction i don't know sunny does that make sense uh from a technical perspective yeah i think so i mean you could do something similar you need a way for the wallets to find out about the ipfs data but like i think that there's ways of i was just talking about this specifically for subscribing for the ipfs so it will not work i mean the only way it will work is if ipns is somehow connected to ipfs so and those ips's ipfs files are getting

pinned down and again uh for the dap and smart contract that will not work because how will they interact with the ipfs so that is uh that is why uh on-chain uh transactions are needed because you know again uh these are user wallets that are uh saying that i allow our service to uh receive a notification and uh i mean till till now whatever uh we have done and again that's that's something which we all always feel that the protocol should be ever evolving but till now uh and the v's which we have identified as if the user subscribe to it then you know the middleware works and

follows the rule if the meta transaction is executed on behalf of the user even then uh that really works but till now we haven't really found a way to you know make sure that uh we are verifying these users and uh uh getting uh things on chain or you know and getting things somewhere that can be verified that you know our users have done it so one way is by uh making the users sign uh their consent but then again we have to send it to the smart contract in one way or the other because you know if you're using ipfs again the dap and the smart contract link it gets jeopardized

so could you tell us now a little bit about you know you mentioned the spam scoring that you guys have to filter channels and stuff how does that work so that was the middle part you know when the user has opted and to receive notifications from a service after that what if our service turns malicious or you know a service turns evil or the service is sold to someone or you know they are hacked and at that point of time we started thinking that you know how to protect these users because you know at that point of time a lot of spam can come their way and that's when we uh designed the spam score and we are still working on it i mean that's one of the last feature

which is getting worked on on the protocol to become a version one for midnight launch but yeah in essence the spam score uh uh essentially will measure the channel positive signals as well as the channels negative signals and based on that it will assign a score to a channel between a score of zero and one when i say negative signals uh they can be higher than usual unsubscribe rate they can be sending a lot more notifications than you know the service is sending when i talk about positive uh signals they can be higher than usual subscribe rates

or a passage of time getting passed by so yeah and we are still uh working on uh more positive and negative factors but in essence they will transform a channel score between zero and one zero being that the channel is really healthy and one being that the channel is really bad or you know the channel is spamming at one point of time if the spam score comes to let's say 0.8 the protocol or the smart contract will itself start to throttle uh the number of notifications a channel can send and basically with passage of time does spam score will decrease bit by bit or you know with the subscribe rate or you know positive events

but if the channel continues to do that then you know that 0.8 score will go to 0.9 or even one and then it becomes uh a lot tougher for the channel to send notification out until they're back into the healthy range so that's that's cool i'm curious about the spam score in the u is is it meant to be just sort of an indicator for people subscribing to the channel to see okay this is a channel that is healthy based on these indicators so therefore i know i'm going into something where i'm going to get you know actually good information or sit so i guess there's so this this throttling i guess i don't really understand the

point if i'm subscribing to a channel i can just unsubscribe something spammy i just i just get out of it and i really don't care what the spam score is it's my experience that kind of makes the difference yeah how does that like how do you think about that yeah you can go ahead and unsubscribe and the channel cannot add you back but yeah uh what we thought was uh of course you know that spam score also acts as an indicator that how good a channel is but yeah of course you know for the users uh or for the hack channels or for the comp compromise channels uh this spam score throttling basically gives us a way or basically gives them a way to kind of correct their behavior

and if they don't uh then you know even if you're subscribed or you know even if you don't want to are reluctant to unsubscribe even then these notifications will stop coming your way making you know the entire ecosystem a little uh less spamming but yeah you can definitely go and unsubscribe these criteria that you've established for um for the spam in index i mean do you see a possibility where like for example something that might seem undesirable could actually be something that you just want and could have negative effects on the spam score so

let's say for example you know hypothetically like i want a notification system that sends me something like every minute like i want some really up-to-date information and maybe i'm not reading it directly but maybe it's feeding into some other system right that's treating the information now that might be useful in my use case but in terms of the spam score like that might be rated as like a low spam score or a high spam score where however you're counting it how would one mitigate that is is there a way to kind of like inform the system like okay this is what i'm doing and like this is a valid channel and so therefore like i can i should send one message per minute so that uh and again uh this is an ever

evolving feature uh but yeah there are two ways by which uh we are trying to approach that solution uh one way is again you as a user if you are indicating that so we are building uh a user specific uh structure a user specific setting within the channel itself so if you uh if you are opting into that we might be able to you know uh uh forego the spam throttle and you know we make the notification go ahead and the second way which we have just started exploring is through a social verifying badge or a verifying path so when we start the service uh on the main

net we are going to give the channels who we have verified just a badge or just a flag and then these services can also give that flag to channels who they think are uh right or who they think are official and basically if that flag is present uh whether it's our flag or the services who have uh given uh other services the flag then basically we might take the spam control formula in a little less way so again this is something or this formula is something which we are still actively developing because yeah the way you have sent you know what if uh user wants to receive these notifications that has to

uh make that has to make their way now one of our investors actually told us about a different use case which was what if i just subscribe to a channel 10 000 times because i'm a rival of that channel and then unsubscribe all at once and that will give me so much of a negative store that i'm killing off competition and we realized that you know this is something which we still need to work on to make sure that this doesn't happen so yeah we are still working on that formula but these are the ways uh which we have identified so far uh to make sure that the spam score works just off the top my head i i think what

you might want is some sort of web of trust thing where you can see what channels your friends are subscribed to and then uh go built go based off of something like that rather than like because you there's a web of trust basically help you determine the difference between some random address subscribed to channels versus like you know my trustworthy people relative to me subscribe to certain channels and that's really an awesome idea i'm going to include that uh and then so the last thing i want we wanted to talk about is i guess there's maybe two things actually then one one is how do you plan on onboarding and incentivizing wallets to integrate like you know what you really need

is like this will only become successful once you have like metamask and argent and everyone be subscribed to this but then part of the problem is that some of these wallets um you know their deep integrations are their like key selling feature and so how do you convince them to like drop that and like join this open protocol that's actually a very very tricky and a very awesome question we asked this question a lot uh i mean one thing was there that you know we can follow the story of bitcoin and ethereum that with enough network effect people are bound to uh just integrate

but then we realize that you know this is a open protocol uh eventually uh we are going to introduce a fee feature uh for services that are sending notification what we are going to do is this fee will flow directly from the protocol so what we have come up is a win-win uh scenario for both the crypto wallets that integrate the protocol and for the users or our token holders of what in essence we are doing in along with the network effect is that we are telling uh these crypto wallets that he if you integrate us and if you move a proposal and that proposal is passed through the token holders then you will get uh uh then you will

get a fee split of whatever revenue the protocol earns and that thing is completely decentralized it's completely uh built on governance so in essence what we are doing or the way we are approaching it is that let's say metamask wants to integrate uh to our protocol uh then they integrate uh the protocol and then they can move our governance uh uh feature or governance proposal on our protocol that hey we are bringing one million users to the protocol and that means we should get 70 percent of the fee that is getting generated by the smart contract or the protocol and if that proposal passes then uh perpetually metamask will be

able to claim 70 percent of the fee that is getting earned from the protocol now the way we see this entire network effect to take place is uh a getting uh services to our protocol and uh there are three ways by which we are doing that of course we are going uh to all the services and we are talking and telling them about the advantage of push notifications and now you can send it and we want official notifications to come uh but yeah that's uh one thing which we are doing the second thing we are doing is we are creating our own channels uh like what uh sebastian just said we have created our channels like

btc tracker tracker at gas even now wallet tracker is coming very very soon that will send notifications out for certain activities whether that's on-scene activities in terms of wallet tracker or off-chain in terms of a gas that will start to drive the user and see uh we are going to offer the liquidity mining or usage mining to all the third-party developers who can come and build on our protocol and in essence if they are able to bring valid subscribers into the channel they will start getting our push tokens those are governance tokens so what we feel is that these key things

will eventually drive users to the protocol uh which essentially will drive at first uh smaller services and then higher or you know top tier services to the protocol which in turn will uh enable revenue generation of short salts that will start to happen on protocol and at that point of time you know crypto wallets uh now especially the ones who are suffering from monetization they will be incentivized to come and integrate our protocol and start showing notification and start taking a share of the kitty and you know this uh cycle will be dance and repeated every few times as and when we grow to make sure that you know

the network effect is kind of uh catalyzed the last piece was you know the the push token that you guys have you know the white paper it kind of you open the dock and it frees like a legal document or something with all these disclaimers and honestly after reading it i didn't quite fully understand what the push token is doing so could you maybe clarify a bit about that and those legal disclaimers are because of our lawyers the first version was very very simple in essence push tokens are governance tokens so what they do is they enable or they allow the token holds holders to control all the cool features of the protocol

so some of the things like we discussed spam throttle uh or the fee which will charge what we will charge in the future and other core features of the protocol uh the other thing which push tokens also do is uh enables uh governance proposals to be passed uh which enables free split for the crypto wallets and the third thing the push token does is because you know everything is relied on these token holders they are also eligible to take a part of this fee that is getting generated on the protocol to them so yeah and yeah the last thing i missed out was the liquidity mining or the usage mining so

the way we have designed these tokens is we also want to uh make sure that we attract third-party developers as well as active users and you know staking users into our ecosystem and for uh for those things push tokens are also useful because you know if you're a developer and you're building a channel on our protocol and that drives invalid users then you will earn a share of those push tokens going forward same for the active subscriber if you are active on our ecosystem and in essence you are not a bot then you will also start getting push tokens at a variable

late you know once we hit magnet so in essence that is what the push tokens uh do for our protocol so where can people go to find you and um how can people learn more about building on the protocol so yes people can visit epns.io and you know that's our website they can find us over there but yeah in case they want to uh chat about us or you know train strong with us for the futures uh they should join our telegram group which is epns project uh on telegram or on twitter with the same handle and uh for all the

people who want to try the app out just visit app.epns.io or you know visit the website and you know you can just navigate your way from there great thanks thanks sebastian and thanks sunny uh it was great to be here and uh you know i kind of picked up a new feature for the protocol we appreciate great thanks thank you for joining us on this week's episode we release new episodes every week you can find and subscribe to the show on itunes spotify youtube soundcloud or wherever you listen to podcasts and if you have a google home or alexa device you can tell it to listen to the latest

episode of the episode podcast go to epicenter.tv subscribe for a full list of places where you can watch and listen and while you're there be sure to sign up for the newsletter so you get new episodes in your inbox as they're released if you want to interact with us guests or other podcast listeners you can follow us on twitter and please leave us a review on itunes it helps people find the show and we're always happy to read them so thanks so much and we look forward to being back next week you