Episode 312 - ZKP2P with Brian & Richard

21 Feb 2024 · 1:03:36

Brian Weickmann and Richard Liang introduce ZKP2P, a peer-to-peer fiat on-ramp and off-ramp that releases escrowed USDC once a user proves, with ZK Email, that a Venmo payment confirmation email was signed by Venmo's mail server. In the flow they describe, depositors post USDC liquidity at a spread they choose, a buyer locks part of it in escrow and pays over Venmo, then proves the email locally in 10 to 15 minutes or on a remote prover in about 30 seconds. They also discuss the brittleness of relying on email templates, a new UPI integration for India and the KYC (know your customer) worries holding back its liquidity, and gasless on-ramping through account abstraction, with limits kept deliberately low while the protocol tests how to curb fraud.

Speakers

Topics

Transcript

[Music] welcome to zero knowledge I'm your host Anna Rose in this podcast we will be exploring the latest in zero knowledge research and the decentralized web as well as new paradigms that promise to change the way we interact and transact online this week tun and I chat with Brian and Richard from the ZK P2P project ZK P2P is one of the first ZK applications for real users it uses ZK email under the hood and is a peer-to-peer Fiat to crypto on-ramp and off-ramp and I feel extra happy to have

them on the show since the first iteration of the product was built at ZK hack Lisbon back in March 2023 ZK P2P came in second place at that event and the team continued to iterate and develop the product over the last year now in our conversation we covered the opportunities and challenges of building application with ZK at this time how it is still very early and there's a lot of tooling missing but also how it's a very exciting time to jump in we talk about the goals of the project how a user could actually use ZK P2P what is happening under the hood the types of experiments and initiatives the project is running as well as some of the challenges of building alongside web 2 systems now before we kick off I want to remind you that the ZK pod Flagship event that is ZK Summit 11 is happening

in Athens on April 10th this is an invite only event and space is limited there is an application process and you do need to apply to be eligible for a ticket I've added the link in the show notes and I hope to see you there now Tanya will share a little bit about this week's sponsor launching soon nada's a proof of stake L1 blockchain focused on multi-chain asset agnostic privacy via a unified set namada is natively interoperable with fast finality chains via IBC and with ethereum using a trust minimized Bridge any compatible assets from these ecosystems whether fungible or non-fungible can join nada's unified shielded set effectively erasing the fragmentation of privacy sets that has limited multi-chain privacy guarantees

in the past by remaining within the shielded set users can utilize shielded actions to engage privately with applications on various chains including ethereum osmosis and Celestia that are not natively private nada's unique incentivization is embodied in a shielded set rewards these rewards function as a bootstrapping tool rewarding multi-chain users who enhance the overall privacy of namada participants follow namada on Twitter @ namada for more information and join the community on Discord discord.gg NADA and now here's our [Music] episode today tun and I are here with Brian and Richard from the ZK P2P project welcome to the show hi how's it going great to be here hey yeah great to

be here as well yeah a long time listener cool Hello tun hey so in this episode we are going to be exploring the project ZK PTP which is a trustless peer-to-peer Fiat to crypto on-ramp and off-ramp powered by ZK and I sort of feel a special Affinity to this project because I first learned about it at Zack Lisbon in March 20123 the ZK P2P team was like a participant and actually this project came in second at our hackathon that was the first time we ran a ZK focused hackathon so there's just like yeah it was it was incredibly cool that you guys came in second and then it was so cool that you went you continued with it so I'm really excited to have you back on

the show to hear more about the project and yeah what's happened since yeah excited excited to be here like I said and yeah it's it's been a fun run since uh ZK Summit 9 and and I think the first CK hack nice yeah exactly really excited to talk more about this and um yeah talk about basically the complete opposite of most of the historical episodes on the show where it's focused on research and in in terms of the land of I guess ZK application development totally um I want to ask where did the idea originally come from and I kind of always was curious like was this a project that sort of had already been brewing before the hackathon had you worked on ZK email before yeah where

where did the idea come from so we originally came with the idea at um starkware sessions in in Tel Aviv we were just sitting around me Richard and uh actually two other team members suchin and Alex we were all out there we're even a little unclear who who exactly like kind of started it but I think suchen suchin was having some frustrations with on ramping using binance P2P in in India so that's where he's based and uh you know we'd been looking at different ZK stuff and uh had come across ZK email and realized like oh this is potentially something we could use to to prove some sort of

offchain payment so it's like okay what can you do with that and one of the obvious things I think that that came to mind was like oh maybe you could do some sort of like on-ramp offramp type idea and we actually rushed home I didn't rush home we we went home and like okay we have another another day in Tel aiv like after the conference let's try to hack This Together uh very quickly ran into into a lot of issues just getting set up and uh actually after that we're like maybe we should do a company just helping people people set up like their ZK proving systems all that sort of thing yeah so it kind of like came out of there and then we were all going to be in in Lisbon for for ZK hack and um we were just kind of like thinking of

things to do and like well this is a really cool idea what you know I think people would be a little inspired by it too it's like kind of uh you know there's a little bit of a subversive quality to it and uh so we thought it was just like a really fun idea we knew we had it was probably achievable with with ZK email but we didn't really have we obviously didn't really have any of the the work done so that was just kind of a grind throughout the the weekend to to kind of actually implement it so cool what were you both doing before and actually maybe what were your teammates doing before all of this uh so we were all at um set protocol so that's like a onchain index uh structured product type protocol um and we'd all kind of got ZK

pilled around the same time I think actually suchin was uh the one who kind of ZK pilled a lot of us myself Richard and and Alex have been working together since 2018 at set such and joined I think like 2021 so we've all you know been working together for for a long time um and yeah so we we were all just kind of helping out with that project and we kind of like took the last little bit over a year to do do ZK exploration and we yeah just hacked around bu ZK PTP and also worked on building a couple random libraries for various projects we were playing around with like axum's Halo 2 library and also uh built

something uh for Aztec their no RC this is in the last year yeah last year but just going back so you were all at set protocol so you you actually were colleagues you knew how to work together already it was clear who was going to be doing what okay at set was there any ZK in any of the work you were doing then or was it like completely outside of uh yeah what you were up to it was pretty outside we kind of entered this time period of exploration within set okay um and trying to figure out kind of like what was next for for the company to a certain extent at that time there's a little bit of just like let's go see what's new out there like what what are

the technologies that could enable you know the next thing and so in that respect we were all kind of starting that research internally which is partly why we were out at starkware sessions too yeah um was just to kind of learn but we you know never ended up like implementing anything using ZK but but had started some exploration there so you know given that set was sort of pretty early in terms of like being an onchain application in dii right like it I mean arguably I think set probably existed before the word defi existed so that's like we were in the original telegram group we actually the D one right yeah yeah one of one of our colleagues I think uh may

have even come up with the the defi moniker although I'm sure that's a very uh a very contested contested thing correct correct correct but you guys were definitely in the The Genesis cohort so that's why I think it's interesting that like you kind of worked on an application on ethereum before there were real applications other than you know icos at that time and you know it probably feels similar in ZK right cuz like you know maybe as as as even you just pointed out a lot of the stuff in ZK is so focused on infrastructure and not really focused all on application so how do you think about the lessons you learned from being you know one of the first ethereum apps when there was no

other apps to kind of being in the same position again and like what have you kind of taken from that cuz like I think that to me that's kind of one of the the most interesting overlaps in the the story yeah I mean I think you just really have to be kind of you know you're going to have to build or or struggle around with a lot of like the tooling yourself just from like a technical standpoint I I trying to think like where's the ZK Tooling in relation to kind like the smart contract tooling U Back Then I'd say ZK tooling is even probably a little worse than what the smart contract tooling was in in 2017 um you know it's not it wouldn't be that far behind maybe but makes sense it only gets better by people building something

and being like this is this broken right so like exactly well you and you need you also need like the kind of needs to work both sides of the funnel right you need the demand you need the people that are just interested in building that stuff but then you also need the demand from application developers to be like this is painful and they either have like somebody else builds it because they see the the the use for it or often like you know back in the 17 days we were all using like zerx libraries cuz zerox was like oh I have to you know we have to build this or truffle or trff everyone wants to forget about it was usually it was usually some mish mash of truffle and zerox like some Frankenstein monster I feel but then there's this other element of like okay you know you

you have Tech that can do something but you're trying to figure out really what its limits are people just weren't didn't know everything you could do with smart contracts like weird as that it said it kind of like sounds it's just just kind of the the case uh and obviously like the silly language wasn't very future full there were all these kind of like quirks of it and like pitfalls and um so you're trying to constantly figure out like what you can actually build and what you can build that's like meaningful so there's this like weird experimentation process you have to go through much more than like you know a lot of companies like okay we're building this and there's obviously some experimentation in there but you're not you know you're not deviating too far from the plan whereas here there's a lot of like you have an

idea of what you want to build but you're also like some of your core pieces may be shifting like you know we use ZK email but we're also like well what else is out there that we can use to prove offchain data and yeah as app developers we kind of push the limit of what you can do with an underlying library and that kind of improves uh the library underneath so we basically take the most simple example of like what's email had in their repo and then let's try to prove this massive like VMO email that's like several times larger and see where it breaks and then that kind of like creates feedback for us to yeah talk to the ZK email team and kind of

help them on hey where where where should we like improve the library and so yeah that's a really great like feedback loop that app developers kind of feed towards um more I guess lower level Primitives and the relationship we have with them I guess it's a very funny analogy that like ZK email is the zerox for you guys you know like that that interesting yeah it is it's like um we're almost like more directly integrating ZK than zero like zerox we just Ed their tooling you know we weren't like they weren't an integral part of the product like Z email is very much like a a core part of of of what we're building too so it's I just like the story of this right like it's like kind of it's like interesting to think

about like the early days of and the early apps and like things that are similar and the fact that they have similar people involved is like kind of a very cool thing if you I mean so you just kind of said ZK today has tooling that's worse than smart contract tooling back then 2017 what is there a different era that you think ZK is actually at like is ZK today more like ethereum one year post launch or something so I can't speak too much to too much before 20 17 okay so yeah I I unfortunately my history doesn't go back that far it's not I'm also a 2017 Joiner by the way so yeah yeah I guess on my end I can speak to

one year earlier than 2017 uh and I think in 2016 was when like stuff like ether Delta was coming out right like the first like instance of what it looks like to have a smart contract that can like escrow funds and perform like act as a book uh no matter how I guess centralized it is so it could be that ZK is kind of in that era where you can kind of start piecing together all the libraries all the proving system tooling out there to build like that ether Delta wow kind of application which is kind of kind of analogizes with what we're what we did with zkp top I want to ask a little bit more about your kind of onboarding yourselves

into ZK as well I mean I get that you had this sort of perod of time where you were researching but like what could you find what are the resources for like application developers who are super familiar with smart contract architectures I don't know if you have some advice for them how to get involved or like what you actually like how did you kind of like navigate this uh yeah I can speak to that um since I basically kind of went from zero knowledge of ZK to I guess some knowledge now uh since I guess a year remember the ZK ZK rollups oh yeah Yes actually another project at ZK hack Lisbon was the ZK ZK ZK rollup

which exists in the world but anyway yeah okay so you were zero knowledge on zero knowledge yeah so I think the first thing I ever did was probably just go over all of the zerox park initial videos they had back in the day yeah on like introduction to circom uh I think for me at least I had to probably rewatch those videos like two or three times just to get get into it and then I actually watched a lot of the ZK hack whiteboarding sessions oh yeah to get familiar with the theory cool cool so it's kind of interesting in ZK you kind of as an app developer you do have to dive into the theory otherwise yeah it's really hard to just

get started I guess over the last year is it was basically alternating between like like watching YouTube videos on Theory and like trying to get my hands sturdy writing um some circuit code um and yeah that kind of culminated like ZK hack where we try to put all those things together what's the sort of language track that you found kind of easiest to get into like or maybe which one you did because I feel like there are now a lot of these ZK dsls and they are you know these different ecosystems are building up tooling around them sounds like you started with circom is is that sort of the line you took so was like circom Halo stuff or was there did you explore any of the other ZK dsls I

started with circom cuz they had the most I guess content out there when I started um then I did go the Halo route cuz that was the next in terms of number of YouTube videos available to me uh but I did do couple months exploring uh Noir when that was kind of coming up uh like last year do you have like a procedure for when you explore a new DSL like you have some set of programs that you try to implement that you're like this is like my way of comparing them like some sort of sweet of things like Fibonacci or something you know like I feel I feel like everyone H when they learn a new programming language has like X set of things that they reimplement just to see how hard or easy it is like what's sort

of your learning stack in that sense yeah so at the very beginning of I guess learning that the SL it is probably that Fibonacci like or whatever is available like in the YouTube video right and you just kind of follow along and Implement along with them as I get more familiar with the code I do find that implementing something new that's not available in that language helps me learn the pastest uh so for example for uh when I was learning Noir they didn't have that RSA Library so I kind of took a stab at implementing that Library which wasn't available in in that language by referring to I guess circom and Hal to implementations and that kind

of like helped me learn a lot much faster that's really cool so I think it would be really good for us to jump into ZK P2P and the project itself but before we do that I actually want to revisit ZK email you've mentioned this a few times as basically something that ZK PTP is built on top of or with and we have done an episode on this show back in I think November or December where we did an episode with ZK login and ZK email where we t talked about kind of what those are and how they could be used but I want to revisit first ZK email here and just maybe go over again what it is and then I want to understand how exactly you used it because I know I left that

interview roughly knowing how ZK email works but I think with like a build on top I might get a better picture for like what you can actually do with it um so the ZK email library that ZK PTP is built on essentially is I guess two packages uh One is using ZK to verify that the email is signed by like the private key of like the mail server of the person who has sent the email uh and the second package is ZK Rex which is using a ZK circuit to extract uh specific I guess information from that email uh while preserving and redacting all the other

parts of the email essentially preserving privacy um of other contents that you don't need in the email I guess ZK P2P uses both uh the email verification uh side and also the ZK Rex so on the email verification it basically ensures that the RSA signature uh that's present in the email is in fact what the hash of the email is signing so you can basically ensure that the email is signed by VMO in our case uh no one else can spoof any email because that signature would not match vos's I guess private key that has signed it in this case you're trying to

just connect the email of the user to venmo like saying like yes they also have a venmo account you're just kind of proving that like this email and there is a venmo account that's equivalent exist is that what you're trying to do we're basically proving that the email came from venmo server I guess in theory there's another step of logic there of like having to prove that it's the user's account you're basically proving that whoever has possession let's say possession of the email you're you're Pro you're essentially proving possession of that email okay and you're also proving that that email came from the venmo server got it so when and when you're saying email I think I kind of mixed it up I think I thought an email account but you're saying the email

itself like the actual sent email from venmo to an account but you're just proving that that has come from venmo yeah and this is the I guess the email verification package that ZK email offers okay um and then the next step is that ZK Rex uh where you're basically proving that this piece of data such as you paid this guy X you can basically rex or extract out that piece of data and prove that that piece of data was in that email interesting that was also signed by vet are you doing that just based on like the template email that venmo always sends is like you know where it is in

the email and so you can kind of just like say that this has happened in this exact like character point in the email yeah at a high level that's basically it oh interesting but what happens if venmo changes their template that that is a good question uh that would require uh redeployment of the circuit I see right now okay it's one of it's one of the kind of like the the brittle features right now of kind of using email and obviously by extension kind of ZK PTP to um is yeah there there there are some of these like risks of template changing and things like that would there be any way to do kind of almost like a search

for a format instead of relying on like the exact point in the email or is that sort of beyond the scope of the ZK redx module and stuff like that so that's what ZK Rex does today we basically specify beforehand like what is that Rex expression that searches the email for MH um there's some additional logic to it such as specifying like on at which index we think this Rex will start searching from but yeah that that's more I guess in the weeds if venmo changed the template then if it did have like that that transfer amount in a different point could you still use it to find it or would you have to manually go in and

be like ah it has moved therefore we need to redeploy it so usually I guess when VMO changes their template they would change the HTML like tags that surround it as well uh which kind of break the Rex search depending on how stringent we make I see because you're not looking for a text string you're looking for some like Block in the email or something like that yeah yeah I guess we look for the text text string and all the blocks that surround that text string so if any of the blocks that surround a Tex string change then we can't find that text string any that's interest I mean I really appreciate you kind of showing that in that detail

because that has like this is where I think some of the ZK email build for me was sort of still very theoretical like but this makes it a little bit more clear on exactly how it's used and how what it can do yeah so from the the user perspective essentially what we're doing is we're proving uh confirmation emails that you receive from venmo so for people who aren't familiar when you send a transaction or send somebody money on on venmo you receive uh a confirmation email basically saying like you sent some amount to so and so and so essentially what we do then is we will take that

email and kind of submit it to our our circuit and it'll run the the verifications that Richard was talking about right so it'll run the uh the RSA check and then alongside that this is all kind of abstracted away from the user in the UI obviously but alongside that we'll also submit kind of like the amount and things like that and then we can check that against the Rex and then those will be output from in the proof as like the signals that we're we're verifying against in in our like smart contract basically um so the flow is basically user comes brings the email runs it

through the circuit the output of that circuit is now some kind of like blob of data that blob of data gets submitted to our verifier on chain and that verifier then is is able to say like okay this is a valid most importantly this is a valid proof and then we check a couple other things like is does the from address match the expected venmo Farm address because in theory like it could be venmo like a venmo employees email so you need to make sure it's from like the the address that sends th those confirmation emails um and then we also are doing we do some like nullification of emails so you can't kind of like replay them those

broad Strokes are kind of like some of the checks that we have on just the email and then there's obviously business logic checks that happen after and a lot of those business logic checks will will do on the kind of the the signals that are output as part of the proof and so that would be like the amount like did you send the right amount did you send send it to the right person obviously we do some checks to make sure that the email was sent after the funds were originally escro uh onchain things like that so it does sound like there's two actions happening right like there's a transfer on venmo from one user to another and then there's a transfer on chain from one account to another right right yeah maybe kind of work out the steps here from a user's perspective they send to a

venmo account is it your venmo account is it like some specific venmo account or is it like anyone anywhere's venmo account it's like their friend who's also running the same thing yeah great great question um so yeah if you step back even further like the first step for the user is saying like Okay I want you know I want $10 on chain or whatever $100 on chain yeah and so what we have is we have uh depositors in our protocol and this can be anyone and it is anyone right now obviously we do we provide some liquidity as well just because we like using our own product but uh anybody can do it and what you do is you say Okay I want $10 and everybody can

specify a rate at which they're willing to facilitate this on-ramp for so like you may say Okay I want to get paid you know 50 basis points to facilitate an honor or if you're like need to offramp really fast maybe like I'm willing to like pay to get this money off chain right so you could say like I'll pay 50 basis points to get this money off chain what is that in percentages like is I'm just assuming that's an extra half a percent a percent then like as a as someone who wants to on-ramp you can go essentially have this like onchain bulletin board of people saying like Okay I you know I'm willing to help you onramp for you know some sort of spread yeah and you CH you can choose your best price or you can choose

somebody that you're like familiar with however you want to do it okay um and then from that point say I want to on you know onramp $10 you say okay I'm going to onra $10 to this depositor and that $10 is then put into Escrow in our smart contract so it's already the money's already in the smart contract but we're basically setting it aside now we're like saying okay this $10 is set aside for right now 24 hours for the ramper to complete the transaction and so then you know in our UI it'll pop up a nice little QR code you can scan the QR code and it'll you know show it'll bring up the person you're supposed to to venmo um and so then you you know will

also display like the amount that you need to venmo you send them that venmo and then here there's like we offer a couple options so the least friendly option or least user friendly option at least from just like a user experience perspective is you can copy and paste the email so you can go and actually get the raw email and copy and paste it into a modal uh the other option uh that we offer is you can Google off so if you're you know venmo account is tied to a g you know your Gmail you could Google off in uh and then just like select the email that you want to have proved okay

and obviously like our our front end is all open source I mean I understand there's definitely people who you know cuz we we are getting read access to your emails so I understand the people that don't want to use it but our our our front end is fully open source so you can see that there's no there are no like call we're not sending those all your emails off somewhere else um but yeah so then you you select the email and then then you have another option uh you can either prove it locally so that would be on your computer which I think I'm sure is your list listeners know that ZK proofs are pretty computationally intensive uh so that takes about 10 to 15 minutes uh or there's a uh a remote uh proving instance that we have where you can send

the email to the remote instance and we'll generate that proof in about 30 seconds and then that gets returned to the client to the front end and from there you submit a transaction on chain and if part of that transaction we Val we do all that proof validation I was talking about and that releases the fund for the user and now you've basically paid $10 or let's say $1050 no $105 off chain if it's a 50 basis point spread and receive 10 usdc okay okay so that you sort of mentioned this escrow process I wanted to understand if that was usdc or US dollars because usdc like yes so you're yeah the escro onchain is

obviously onchain usdc you start there you basically say like but wait like in this case if I'm buying it so I want to buy like I have the cash on venmo I don't have any crypto I would do I start by sending the venmo transaction and then I receive someone else's escro doll like usdc the current flow is you you start the first step is you have to like put the money into escrow right so because we don't we want to avoid any race condition here right so let's say there's 10 like there's a deposit that has $10 left in it and there's like person a and person B and they both

coincidentally want to on-ramp at the same time and so they both send $10 to the depositor and then then it just becomes like okay who submits their onchain order first uh to get that $10 and so so somebody's going to end up out $10 essentially so the escrow step needs to happen first but this is the depositor sending it to you you like you don't have any usdc so they're they're putting the this usdc into escrow for you I guess so there's there's kind of two steps yeah so the depositor is first what we call like depositing funds into the smart contract and this is this you can almost think of this as like providing Unis swap liquidity so they're

just depositing some sort of liquidity and they're defining a rate that they want for it and then when the on- ramper comes to say like I want to get $10 on chain they're then like taking a portion of that deposit and putting it in escrow I see okay yeah that's the way it's just sort of the terminology that you're using so in this case the user who's on ramping is grabbing a piece and putting it for themselves in escrow correct and then they're sending the transaction proving that they've sent the transaction on venmo through this email and the copy paste or the Google off and at that moment that it's proven the the escro usdc onchain unlocks and it is it

then sent to their account onchain yep it's then sent to their account cool and you can even specify like another account you want it to be sent to um and we're you know we're constantly kind of trying to improve this experience obvious there's like a lot of steps there yeah um so trying to you know reduce the amount of steps or you know one thing will be uh well probably by the time this podcast airs that we'll have out is a fully built kind of account abstraction flow there so you now so that essentially allows us to pay for your on-ramp so now you don't even have to have crypto on chain to on-ramp so so right now to to do that initial kind of like ah you still do you have to pay the gas or something yeah you need

you still need to pay the gas yeah so we're we're now taking this like all right we want to make this so that if you've never touched crypto before you can get money on chain um and so that we'll hopefully have that here in the next by the time this this is released oh cool yeah wow this is so interesting like these steps and sort of the way you've architectured this it is different than I expected I for some reason thought there was like things being sent in parallel but it's not quite that it's the user having to do something onchain and this is where they would need some sort of eth for gas I guess so they already have to be like an onchain Savvy entity to be able to

initiate this um but it sounds like yeah the real goal of this is to on-ramp non crypto users so far right yeah would you end up like if you're talking about covering the gas fees do you just have to pay it yourself or is there like a way for you to get these fees covered yeah I mean I think ultimately certainly longer term when volume picks up that's something that we'll probably have to take a small a small portion just just to cover the cost of doing that yeah actually quick question the the 50 BAS bis Point fee right now goes directly to the liquidity provider right correct do you ever imagine a a version where like some fraction of that actually goes to pay future gas fees for new users so

like it's like a protocol fee but it's literally only used for for paying for future gas so that way it's like okay if you have more user flow then it makes it cheaper for the new users kind of a good Type of Pony scheme in some ways right cuz all it's really doing is like that that uh yeah yeah yeah sorry description I I I I didn't mean to 40 and slip 40 and slip yeah no AB absolutely I think I do think that's that makes a ton of sense um you know at some point we we do in the protocol have what we've even termed a sustainability fee um that you know

could be added to do things like pay for gas yeah I I suppose that that would be a big portion because that could just get sent directly to the pay master that is that is being used uh to to do the kind of account abstraction 4337 onboarding why did you choose venmo specifically what was the reason for that to me it's a very us product like no one uses it in Europe really so yeah it was curious why you you chose that a couple things first like all these products are pretty Regional so there's not really a global necessarily global payment system there's some that have you know Wise has

has you know it's true has its um system set up in in other countries but a lot of these are are hyper hyper localized it's all just like one country it's like one because all the banking rails are are pretty localized but to to your original question of like why venmo honestly I think a lot of it is just three of us are us-based and this is still like new Tech this is still like you know we need to be able to quickly iterate and like figure out how to how to make this work and so as a starting point it made the most sense for for us it's just like easy because we could now do all sorts of transactions and figure out the best way to make it happen uh we do have a we released UPI uh UPI

integration a week ago a little over a week ago now U which is the kind of Indian banking rails and so we integrated a uh a a pretty big Bank there that also sends confirmation emails obviously that's another dependency for what we do is like are there confirmation emails and are the confirmation emails data Rich so we would love to integrate stuff like wise for example but the the emails you get back aren't aren't data Rich enough or they just don't even don't even exist right H had you thought about PayPal because that to me is also like that is worldwide or at least pretty worldwide and like but yeah I don't know what their emails look like I know they send a lot of emails but I don't know if they're like appropriate yeah it's not

data Rich the only you had to look it's interesting this model though of like having sort of a web to payment flow happening and then a concurrent web 31 so the first time I had actually heard any model like that was nois pay like do you know about this the credit card that nosis recently released so they also I mean they are working with visa and they're able to like there's a Visa credit card but the actual movement of funds under the hood are H it's happening on nosis chain so like you're basically tapping into your nosis Holdings when you're using this credit card directly um unlike something like crypto.com where there was like a you

know a centralized entity holding your Bitcoin XYZ in this case there's an action on chain as well um so there's for me there's a little bit of a parallel here I don't know if if they're actually using ZK so that's up big difference and in this case it does seem like like it sounds like it's going to be quite easy for you to add extra products like extra payment entities if they have this data email but I do wonder about that that like changing email interface or this like brittleness are you worried that you might kind of start implementing it in all of these different products and then like you know every week one of them changes and you're kind of chasing that down is this like a bit of a fear of like the sustainability of this model AB

absolutely yeah absolutely it is yeah and to that extent I think we're always looking at what are other ZK Primitives we can use you know ZK like data Primitives that we can use too so email right now is probably the best well formed right the zkl team's done like an incredible job and so it's like pretty easy to integrate part of our background is we're all Grant funded and so the majority of our grants have come from uh psse which is the Privacy scaling uh Explorations group within ethereum Foundation and uh one of the other teams there as well is TLS notary oh yes and they're essentially trying to do ZK proofs of of TLS C certificates that we're we're constantly

kind of looking at okay what are these other things we can potentially try to integrate you know jwt's you know anything that that's signed any signed data that we can potentially get our hands on um to help facilitate some of these offchain to onchain swaps do I want to add a little on that t notary note in that case in the venmo case like if a transaction is made is there any sort of TLS certificate no right because it's like it's all in the centralized database but they do publish it somehow right so if you think about services like plaid they are getting assigned payload from venmo that like something happened because like they're offering

some service to a bank or something that says like you have a certain amount of money so it's clear that there is someone publishing with enough certificates this data the question is whether it's like easily accessible to the end user and so they could create the proof themselves like like that's the thing that I think is the real question it it exists somewhere right like plaid is doing it and like there's a bunch of these kind of data providers who are definitely doing it so you know the question is like where what's the injection point and like can you make that pain as painless as possible for the user right I have no fear we're trying to uncover we we are digging this is so cool I mean it's it's interesting because it also reveals how

opaque the traditional like payments are like you're kind of reliant on these emails but it would be so much nicer obviously if some if there was some sort of like access by outside people to some of this information without obviously revealing amounts or whatever but just so that you could use something to prove that a transaction had happened the ideal scenario for us is is a signed endpoint right like if if venmo just like had an endpoint where they signed transaction history yeah um and like a user could just give you know potentially give us like a read key for example that would be the ideal scenario because then we can even do all that from our front end just like grab it it

doesn't have to be this whole like all right you either Google off or go like pass the copy paste your email in like that sort of thing that that would be the pretty ideal scenario wow right but at that point they're making an oracle for you right no exactly yeah I mean you can really think a lot of this is just like it's an oracle like some sort of that's a great way to put it and like our inputs into the Oracle right now are just like emails and we we do a proof of that email to to prove that you have possession of that email right couldn't you use this also for like cross chain stuff as I'm thinking about this like could you use it if you wanted to have sort of actions happening on one one

chain and then have some escrow happening on the other maybe it's like the wrong use case because I know your focus very much on on-ramp off-ramp but like would wouldn't it be quite easy in that case to do it there are ZK Bridges I don't know if they work exactly that way though I don't know if this no no the ones that do the Esco are slower so it's like there's sort of you you have some late some design decision tradeoffs with trying to do this this way you have to do for offchain stuff like there's BAS but when you're on chain you can add more constraints and Covenants to make it different so so I don't I think you you could do it but it wouldn't it wouldn't make as much sense okay yeah to an extent we are kind of building a bridge but yeah from VMO or UPI to I

guess an L2 so I I actually want to dive into the UPI piece a bit you know as someone who every time I go to India I'm like wow it's the most advanced fintech it's like hilarious that like like you know like nothing else works like no electricity and water are always shut off and all this stuff but like the fintech stuff there is like everyone is paying digitally and like you can't even use cash to go on the subway anymore who it's like definitely ahead of of like everywhere else in Asia too nowadays so like I I think like that user base is super into purely digital payments um so like how are you thinking about that kind of market and you know because like yeah for instance I was in India in like December

of last year and I remember I like couldn't use any public transit without without having a UPI account but you can't get a UPI account unless you're a citizen right now God so you're kind of like locked out and like then you have to like find it someone to like pay for you and like there are all these apps where a UPI holder can like take credit cards my God pay on behalf of you so I I feel like there's clearly this whole world of like pseudo smart contracts in the the UPI system that people have built for like doing loans for doing like all sorts of stuff so it's like way more almost crypto than like 99% of these other fintech things so I'm kind of curious how you think about interfacing with that system and like expanding into it yeah I mean I a I wish

suchin was on was here suchin are you one of other team members he's based in India and really I can try to kind of relay some of what he sees uh and I know he's he's definitely thinking about okay how can we use this for like not just like on ramping funds but like how can I pay Merchants via something like this so I I you know pay in Stables but the merchant receives like you know rupees or something like that right then there's also just this whole you know they kind of just recently B banned binance P2P uh and so there's this also this whole other Market of like they're looking for Alternatives and and

obviously we're in an interesting place potentially alternative wise but then the other thing is the way UPI works is you're kind of like directly hooked into the the banking system rails and it seems there isn't there isn't as much like with venmo there's some sort of inheritance of the kyc right so every venmo user has been kyc with UPI you just have a UPI ID right so while we are using a bank to get like the confirmation emails the on ramper side of the transaction is just sending a transaction from their UPI kind of like address account however you want to think about it and so now

there's this like additional layer and this is something we're just starting to unpack a little bit as we really launched UPI and like we're having a little bit of trouble getting people to provide liquidity and it's because oh well the people that are sending you funds are potentially kind of not fully kyc so then it's like okay what can we do to kind of reduce potential exposure for people who are kind of facilitating these on-ramps those seem kind of like the bigger hurdles that we need to attack in the shorter term is like and luckily there are people working on like there's a non Adar which I think is is that Richard is that another PSC project yeah I think so yeah it's a PC project

we're all just like piecing it together but yeah so now it's like okay well what can we do to provide some level of comfort in kyc for these for people who want to potentially deposit U because otherwise like the Indian government if you have like tainted funds they may just come and like shut down your bank account and then you have to like manually go and say like hey you know this was just like a crypto transaction you know yeah so so the kind of crazy thing I guess like for people who have are listening maybe are not familiar with UPI you could basically think of the Indian government runs like arguably a blockchain effectively yeah L2 run run by the different states in India where they come to uh agreement on like the notion of an ID so every time a new

person's born every time a new cell phone is added into the network because it's tied to your cell phone um they make a new public key private key pair and that priv public private key pair is shared across all the services you might use so wow maybe you make a bank account maybe you get another cell phone maybe you like maybe you pay your utility bill like all of this maybe use the subway all of this is tied to the same identity this is why you basically have something like smart contracts where you can like someone can write some covenants against your identity and say like hey this person is lending me this amount of money and like if they don't then like freeze their account so they kind of have a very rudimentary smart contract system you can't do arbitrary code but

like you can do much more than say like in China but the problem is yeah this is like a persistent public key private pair you can't really leave it if that makes sense and so like losing it is like very difficult right it's like it's you're you're you're stuck with it forever so there's sort of this question of like the reason you want this not anonymity but with maybe with some proof that you're not like you know of some properties of yourself is just so that you don't like have to have this risk of like being locked out of the system completely if that makes sense W and that that's that's sort of where the the stuff comes in it that's where it's kind of scary when you even just go as a foreigner to India and you like can't use any service

because you don't have one of these IDs like that was the first time i' ever felt that dystopian thing is there any privacy guarantees on the UPI side no no not all of these things are per purposely made to have no privacy like they're government systems like P in Brazil UPI fed now they all are I mean I would say Brazil and India are probably the top two in the sense like they basically have smart contracts like like limited smart contract function like you can be a developer and write some code against their identity apis and like you can make like pulled assets across multiple accounts and it's they're the only places in the world that do that like in China they're very restrictive about pooling assets like you can't write something that's like take these

three UPI accounts take $10 from all of them and write something that distributes Pera but in in pix and and UPI you can so I I I kind of think but the interest that's why it's interesting to me about things like ZK PDP where it's like I have a system that's kind of not private and has some limited smart contract functionality and have a system that's private and has full smart contract functionality and like how should they interface that's kind of like the you know cuz like I think like interfacing with something that's just like bank accounts no contract functionality makes it harder but you can imagine a version of ZK P2P where the liquidity providers on the UPI side not in the US side not the venmo side you could actually just

like pull together a bunch of UPI accounts and they act as the liquidity on the other side and and like you you can actually could do that in that system right so it's it's it's like it has has some kind of cool benefits which is why I was kind of curious how you guys are thinking about that yeah I think I think so far we're still kind of thinking about things as as kind of like this more very like peer toer construction less than like necess pooling assets together uh obviously like I think once you start the pooling asset side is probably like some form of like legal entity and things like that that that need to be set up um so right now just kind of where we're at we we're looking at at it at it very very peerto peer but yeah I mean I think that I I am

definitely personally in awe of of kind of like the the functionality they've built into to UPI and I think while there is kind of like this kind of like you alluded to this little like dystopian side to it um it is it is like incredibly powerful basically anybody can start a fintech there like pretty fast um so the the the pace of innovation that's enabled by it is is pretty awesome and I guess this just speaks to the power of blockchains right it's like now add the yeah yeah now let's add the stud enemy part to it and fully like functional smart contracts and you're like oh okay cool now now we're ready to rock and roll so

I want hear where the team is at today who's on the team what you've just recently built what's planned yeah where's the project at um yeah so we're we're still the four of us as I kind of alluded to earlier we're all Grant funded so if there's anybody that is giving out grants and is interested in funding the work that we're doing feel free to reach out yeah so at at the moment that's kind of our construction and and kind of how we're trying to to move forward I I kind of mentioned probably by the time this this podcast is out we'll have this this gasless un ramping the way we're are kind of like default for the moment is like okay how can we get close to kind of like binance P2P type feature parody and and like

obviously better ideally like there's a lot of we hear a lot of complaints about bance P2P um and so for us it's like okay well what do we need to to do that and this account abstraction type of gasless on- ramping is is one portion of of that and then we're looking to add in things like uh Bridges so since we're doing 4337 we can batch transactions together so now it's not just okay you can get usdc on base maybe it's oh you can get you know in one transaction you can get uh usdt on you know madic or usdt on Tron which is maybe sounds uh heretical but USD on

Tron is like the biggest stable coin Market out there yep actually I wondered had anyone asked you to do that has that been like a request um I'm sure somebody's like asked it's one of those things I think we know at some point probably needs to like and it it's I think it's very dependent on the market as well so I think uh I'm not sure India is as much that but definitely so like turkey is a big one um Iran Iran well the one that annoying but but yeah yeah yeah that but that might be one of your reasons usdt and tron's hard actually is like that it is it is the a significant portion of the usage is from Iran so like if you if you

have to deal with any regulated thing it's probably yeah that's that's very fair yeah I mean like turkey is a turkey sou South America does a lot of us on Tron I think uh Africa as well so it's like pretty proliferated all have to say so we're looking to kind of add now how can you get all this this money anywhere and then obviously the other thing you can do is potentially you could just swap directly to like non-stable cryptos as well right so you could kind of almost like buy eth from venmo if you wanted we're back to local Bitcoins honestly that like that's how I've been describing how I'd kind of been describing this to a lot of people at the beginning it's like this is local Bitcoins but you don't have to meet some dude like in public like it's I mean

that's a very that's a very killer description um yeah is so that's kind of close to what we're building right so that's kind of like our Guiding Light but we're still like really early and there's still all of these New Primitives new like constructions you could potentially think of so we're going to experiment it's it's too early to be like we're focused on how do we facilitate on-ramps but we're not going to be biased by like it has to be just emails and you know we only want to facilitate like a certain type of like onramp like we we want to just run a bunch of experiments for different like

potentially end users are protocols very like on ramper Focus like how what would like a very off- ramper Focus look like and so you know obviously we need to do that within you know there's four of us so we need to do that within like the realm of Reason um but that's really I would say kind of how we're looking at things going forward it's basically how we can increase limits right now like our protocol it's like 250 uh usdc or 100 usdc for UPI every 12 hours so very low limits so how how can we do that in a very safe way how can we raise limits like while reducing fraud at the same time as Brian kind of alluded to earlier and yeah a lot of these improvements I

think in the pipeline will hopefully help us test some of these hypotheses that we have very cool you also continue to go to hackathons I've seen you participated in eth India what did you did you build that UPI kind of connection there that was probably a suchin thing suchin loves hackathons yeah that was suchin okay yeah so he uh actually built I think it yeah it was UPI but um using TLS notary okay uh as the back end versus like ZK emo so yeah all these hackathons kind of help fund our exploration into to what we should build next yeah no we definitely are excited to try to kind of get out to some of these events this year I mean

it's it's especially like I remember going back to kind of talking about early eth days was like that's where a lot of the magic came together was just chilling with people just people who are nerding out on stuff at at conferences and hackathons and like the community is still so small that it's like it's small and it's open and there's not like a bunch of pretense around like people trying to push like a product or a protocol it's all it's just a bunch of people trying to hack cool things together still which is really awesome about the zero knowledge community at the moment like like this Tech is incredible and at some point it's going to become a little bit more like some of these you know probably ethereum

conferences probably not necessarily your conference I'm not going to say but like but but just like you know it's going to become more commercialized like just the the as a whole and in some ways that's great CU it's going to push a lot of the Innovation forward we're going to get to a point where oh I can run my ZK PDP proof on my machine in seconds versus 10 to 15 minutes but there's going to be some of these other like you know the collaboration's going to get a little harder like those sort of you're going to have to find like your ring of people instead of just being like everyone is like big 10 you yeah so what you're saying is ZK is still underground ZK is still ZK is still pretty pretty

underground good it's kind of hard to imagine the ZK World reaching the level of like say rollups fighting with each other but I I I just like I don't know I guess I could see it but it's like it's just like almost impossible for me to imagine right but some of those teams those rollups are ZK teams too so I feel like I me that's maybe an image of the future I guess that's where the um whether their bad or good habits will percolate down from I'll say this the one thing that zero knowledge research and proofs as a whole have going forward is it it's not just like a decentralized tech right it's great for decentralizing things but there's very real web to applications to

it too right so it doesn't necessarily need to be all this like speculative money that's funding it there actually is very legitimate use cases from very I don't want to say some money is more legitimate than others but from from money that's not necessarily looking to like pump dump do all the you know crazy crypto things so that that'll be like an interesting kind of like counterbalance potentially to ZK going forward although I do think I think zk's um acceleration was definitely because of some of this sort of proximity to blockchain and 100% And I mean if I if I look at ZK P2P right like arguably one of the main reasons for the ZK versus like a non ZK

version is it it really is good good at getting around like a particular set of systems that already exist and like I feel like that subversive element is still going to be true with a lot of ZK stuff but I guess that's more to crypto's original ethos versus like the current state right no I mean that's honestly one of like my big takeaways over the last year is just how much ZK P2P kind of speaks to the original reasons people got into crypto actually which has been really cool to see is like there is like this subversive element to it and um yeah I think there's like a lot of people that like you explain it to and they start to understand it they're like oh my God

this kind of like reminds me of some of the reasons or like some of the the the ethos of why I really want to get into to crypto in the first place and that's that's honestly just been been really cool to see just especially a bunch of people have maybe been around since like 2017 and seen kind of how things have changed a little bit um that that's always been kind of like gratifying to to see people's kind of reaction to that well I want to say thank you to both of you for coming on and like this is like a proper ZK application and one of the few out there where you can tangibly use it and touch it as a as an end user I think it's really exciting what you've built I'm

obviously really happy that you built the first version of it at at the ZK hack hackathon um we kind of didn't expect that we didn't know that like from the first one there would actually be you know someone running with it but yeah it's really great to to get to hear more about the project and what you're thinking well thanks for having us on as Richard said in the intro uh you know longtime listener first time caller so it's it's uh it's it's really great to be here and yeah thanks thanks for providing the platform to to do ZK hack as well you know um that's why you do hackathons I guess is it inspires people to to build interesting stuff so um yeah it's like the next phase of the of the

ecosystem I think it feels like we're getting there now people can start building things yeah yeah yeah yeah just get the tooling better and better and better and make it more and more accessible and it'll get there it it will cool yeah just echoing all of Brian what Brian said and thanks for putting out all the resources as well such as the whiteboarding sessions to help like someone like me or us uh get started so yeah thanks for that cool cool all right well thank you tun for being on this one hey thanks for for chatting obviously extremely excited the UPI stuff to me is the most interesting part maybe due to personal reasons but I I just feel like it's going to be kind of like that's got

to be the most interesting usage of ZK ever cool nice all right thanks again and I want to say thank you to the podcast team Henrik Rachel and Tanya and to our listeners thanks for listening