Episode 231 - Argent’s Smart Contract Wallet design with Julien Niset
27 May 2022 · 1:10:08
Anna Rose talks with Julien Niset, co-founder of Argent, about the evolution of crypto wallets. They trace the history of wallet interfaces for the decentralized web, the importance of account abstraction and smart contract wallets, and why Argent is betting on zero-knowledge rollups for its wallet infrastructure.
Speakers
Topics
Transcript
[Music] welcome to xero 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 in this week's episode we revisit the topic of wallet with julia nisse co-founder of argent we look at how arjun aims to rethink existing models for wallet security backups and recovery we explore the wallet landscape over history and the interfaces we use for
the decentralized web as well as their move to l2s and specifically to zk rollups but before we kick off if you're looking to jump into zk professionally i want to remind you to head over to the zk jobs board to find job posts from some of the top teams working in zk find the project or team you want to work with next i also encourage teams who are looking to hire to post on the jobs board you have teams like alio ef enoma and mina there already be sure to add your jobs as well if you're not quite ready to get a job in zk but you still want to jump in check out the zk podcast link tree that we've put together there you can find a full list of channels that we have and hopefully a way for you to jump in i've added the link to both of these
in the show notes now tanya the podcast producer will tell you a little bit about this week's sponsor today's episode is sponsored by polygon hermes the polygon hermes zk roll up is a layer 2 built on top of ethereum that solves its scalability through mass transfer processing rolled into a single transaction zero knowledge proofs are used to present and publicly record the validity and correctness of the role transfers processed on the ethereum blockchain by storing just the proof and the compressed data of a batch of transfers the efficiency and the throughput of the network is multiplied visit polygon.technology to learn more about polygon hermes and other polygon solutions so thank you again polygon hermes now here is anna's interview with argent x wallet
[Music] today i'm here with julian nisei co-founder of argent we're going to be exploring argent as a project but also dive back into the topic of wallets so yeah welcome to the of the year thank you and thanks for having me i want to understand a little bit uh about the origin story of argent where did the idea for it come when did it start yeah what was your beginning yes so about four years ago with my two co-founders itamar and gerald we we got really excited about you know the entire blockchain and web 3 spaces and so we really wanted to start building something in that ecosystem so we started looking at you know
applications verticals uh the protocols and we kind of realized there was a big gap there were people building applications which were quite exciting already at that time and then there were people building and working at the protocol level but we rapidly identify there was a huge gap between the two because users you know will not speak directly to the protocol they want to come for an application but you need to make that link between users and applications and so we rapidly identify that that gap on you know the products and the stuff people were building at that point which you know today we call wallets and we really felt that there was a missing piece on the ecosystem there was of
course some wallet at that time but i would say on the spectrum of wallets they were basically on opposite side of the wallet you would have like you know like hardware wallets for example a wallet based on on-seat phrase which were you know providing self-custody which is one of the key properties of the blockchain but they were very hard to use and we still think they are very hard to use and so they work for like hardcore early users people you know with cryptographic on that background a computer science background but i mean it seemed clear for us that this would not work for mainstream users and we came with the idea to build a product for for real users and on the other side of the spectrum you had wallets like coinbase or centralized exchange which we did
provide great user experience but of course uh you were losing safe custody aspect and so we really felt that there were these two opposite part of the spectrum and we really felt that we could actually build something that would you know combine the best of both worlds that means building a wallet that's 100 on custodial but that which can actually be used by by real users and and mainstream users and and so that's why we decided to start working on argent when you were first starting this was metamask already a thing like was that like a wallet design that you were already kind of observing or were you before that it's a good question to be to be honest i don't remember the big thing at that
point i think in terms of software wallet was actually my tablet oh yeah i think at that time people and we started using ethernet i wanted actually i started using mist so i mean i think our early days in terms of you know non-custodial wallet there was that thing might wallet there was miss from the ethereum foundation and then you had ledger and and treasure maybe metamask was already there but it probably was not as big as i mean certainly not as big as it was today but yes these are at least these are the four that i remember for for that time that was like you know mid 2017.
yeah i'm trying to remember when metamask kind of came to the forefront that we were all me too i think it was still there it's actually interesting because the other day i read the book from laura sheen i just finished it and one of the things that surprised me is that nowhere is matt hamas mentioned all these ico craze is only my wallet and actually metamask is nowhere to be mentioned on the book which made me actually question myself was metamask already around at that time i still don't know okay yeah i did i did have dan finley on many many years ago in 2018.
so for sure it existed by then but i don't know about when exactly they launched so but argent as a when it first started when you first had this idea around it did you ever have that idea of actually having it as a chrome extension purely or was it always like i actually want to hear what it's developed into but yeah what was like what was that first iteration of an easier to use wallet so my two co-founders gerald denitama they came from a i mean before arjun they built a product called peak which was a mobile application for brain training so they really come from a consumer world and they knew extremely well how to build you know mobile applications and so i think it was part of the dna to start on mobile but we also felt that it makes sense i think if
you look at the neo banks trends and and bank application in general they all move to mobile and i think it's the natural trend that you know your mobile phone becomes your control center so for us it was kind of obvious that the future of of of wallet if you see a wallet as your gateway to the blockchain world you know managing your assets connecting to dapps it felt natural to to build that on mobile and so actually we started on mobile from day one we never really questioned that that was for us it was a no-brainer that you know a great white experience would have to be mobile was there any other mob i mean i think there was like trust wallet or something around then i think they started probably around the same time as we did i think trust wallet was yeah it was
probably around the same time i think there was em token which started somewhere in 2018 as well even though they all started as you know like typical wallet where managing a seed phrase and you you know you you need to to control your and manage your private keys so completely different model than us but in terms of mobile wallet i think yes probably trust token was starting i think there was another wallet that was actually acquired by coinbase i don't remember there were there were a few teams starting to explore i think i think mobile wallets but yes did you decide to do the wallet product because like i wonder if you had a similar experience to to the one i had when i first joined the space where like
because the tech the protocol tech was so very very deep that if you wanted to create that more consumer-facing thing there weren't like there weren't that many things you could do and i remember like wallets were something that were a little bit more understandable i in the end did a podcast like i did something totally different because i you know really could not envision starting a new venture like starting a new product at that time but yeah like do you feel that in a way that's where you started because of just that density like or could your team have actually worked on a protocol level thing no no it's it's 100 correct i mean we wanted to build something for for users consumers so we didn't want to
build something at the protocol level and that's why we started looking at application and realized that you know without a wallet there would be no applications so we felt that we first needed to crack you know the wallet the gateway to that world before starting to try to crack application and find you know use cases of the blockchain so for us it was natural that someone needed to build a good wallet if you wanted a system to develop and we kind of felt that you know we that's something that we could build so yeah 100 what were you doing before this was this your first blockchain thing or had you been kind of in the space before no that for me i mean for the three of us we were completely new to the space and in a sense i think that was you know
something positive because when you arrive with a fresh mind actually you question what people believe or you know stuff that are true i mean there's no way things should be postulated exactly that's how it should be and nobody questioned it yeah and when you come with a fresh mind i think you are in the right position to say actually that does not make sense uh and so i think for us it was actually a good thing that that you know we were completely new and that's why we started working on smart contract wallets even though at that time everybody felt that you know wallet not your key is not your con you need to have your seat phrase and and because we were fresh i mean we had i think the freedom to to to realize that you know this will never scale and so we need something better and even if
people believe that that point that smart contract quality would never work for us you know it was obvious and we felt that something that we could tackle so being completely fresh and new in a space i think it's something that's very good and actually today that's something that i try to remind myself because we've been here for four years which is quite a lot in this ecosystem and i think we've lost some of that naivety sometimes so it's important to again try to be naive try to question you know the assumption and the things that you believe are true to see if you can you know come with a with a different angle on perspective uh but to answer your question so before doing that my two co-founders they were working on that as i said that mobile application called peak uh which they they sold uh
a year before we started argent and me i was actually working for a company doing an m2m in iot so i was working for a startup in silicon valley but i was you know working remote and they were one of the first platforms for m2m and iot a company called m2mi and so for them i was actually basically leading the backend so that i did that for three years before that i started my own startup in collaboration with the university so to to go a bit further i have a background in quantum information and quantum computation so i did a phd in that field and then the postdoc and so i actually came back to belgium to try to to valorize some of
the ip that we developed in the lab so we created a startup called sqrt technologies which was building a quantum random number generators so that was my first my first startup very exciting probably 10 years too early i never managed to sell a single appliance but we did build a lot of ip that that we sold to a male competitor so i think that was a great experience in terms of you know of the start of the world and then going from a like theoretical physicist researcher to being an entrepreneur i think that was a great experience i really like what you just said though about having that fresh perspective and i feel like i've been guilty of this kind of like new people are joining they're asking questions or they're
suggesting things you're like no no no that's not how it works here but actually it's very good to stay fresh and not fall into that trap of thinking you know better because it changes so fast yeah i think we're all guilty of that you know from time to time it's normal when you i think there's some some studies that show that when you become an expert actually it's become more and more complicated to you know to think differently and think outside of the box because that expertise actually makes your mind more rigid in a sense interesting i think it's quite interesting yeah you did just mention uh smart contract wallet and maybe we should define like was that what argent was right off the bat was that the sort of initial pitch and i'm
curious what that means yes so that was 100 the initial pitch so actually when i said with my two co-founders we wanted to build something and realize there was a gap with wallets actually we did something which is very cliche but we locked ourselves in a room for two two days and trying to brainstorm you know what kind of product we could do so we had post-its we had markers like everything you would see in the silly you know marketing or brainstorming book but actually we listed some of the stuff and i mean most of the stuff that we listed are still what arjun is today so for example people were talking about east 2 and you know the possibility to to stake your funds and realize that in a sense that could work as a savings account like you could lock your heat
and actually have an interest on top of it so like four years ago we said okay actually we could build like some kind of savings account then they were like the beginning of dns and we felt like enos is like email it's like an identity so actually you know we could give a like a user-friendly name to to people's address instead of providing you know exactly similar strings so we can do something like like iban is to your credit card or email is to your you know profile online and so we had all these ids combining together and one of this idea was how or this thing that we wanted to solve is how can we get rid of seed phrases i mean for us again coming with this fresh mind i think for 30 or 40 years we try to convince people on web 2 to
actually not write the password on a piece of paper and then you come to this new financial internet and the first thing you ask is write your password on a piece of paper but not one time write it five times that you put in five different locations so if something goes wrong you know i know you can still recover your phone i mean it's a little bit of yeah exactly if you have a little bit of security background you realize that this makes no sense yeah and so we're like okay that's actually what we need to crack that's the first friction point for users if we are building a wallet we need to get rid of these seed phrases one solution is to be custodial but we don't want to do that so what can we do and we rapidly identify that smart contract you know what's the solution
because if your account is not your is not your key but it's actually a smart contract you can start building some of these security flaws or some of these you know primitives into the account itself and so we were you know considering like modern banks in a bank you have a credit card which is actually the remote control to your account if you lose that credit card you call your bank you ask it to freeze it and to send you a new one and so we're thinking that's actually a mental model that people understand can we build something similar but you know like truly non-custodial way and so of course smart contract was the solution and that's why we started working on what people call today social recovery but it's exactly the same flow that you have with your
bank and your credit card except that you don't need to trust or rely on the bank you choose who's acting as your bank and these are what we've called you know these guardians on arjun and these guardians the eight can be a bang but it can be yourself with a hardware wallet it can be three of your friends it can be a friend a hardware wallet and you know a trusted entity and all these ideas were actually there from the early days but for us what was pretty clear is that if we wanted to to move away from these seed phrase parading we needed to use smart contract and so that's why we started working on on smart contract wallet and so the seed phrase was one of the first thing that we wanted to crack the second one was the gas because again when we started you know blockchain
having to understand gas to understand what the transaction fee is setting the core gas we all we felt that all these were actually friction for users and yes you know early users people can understand that people can understand that if they want to dig they don't need to have you know a phd or be you know be a mathematician to understand all these concepts but it takes sometimes and if you really want to onboard a billion users i think all these complexities needs to be abstracted at some point and that's true of of every technology i think a good technology is a technology you don't see where all the friction points have been abstracted for you and so using smart contract again we started working on you know get rid of c trace that was number one then we started
working on abstracting gas by doing what people know called meta transactions which enable us to subsidize transactions for our users which at some point seemed a pretty good idea then gas went crazy and it turned out to be a terrific and a disastrous idea for us but still i mean the will to actually abstract all that complexity and enable a seamless experience for users while being hundred percent on custodial is really you know the like the driving factor for arjun from day one and it still is today you just said that at some point in your solution for gas gas going crazy hurt you what was that original solution what were you just paying everybody's guess yes yes i mean our idea was was kind of
an analogy to to browsing the web when you go on a website you typically don't pay for you know the amazon server hosting the website that you're interacting with actually a website as a business model that covers for all these costs but these costs are abstracted to the user and so we felt that it should be the same on blockchain and so it was natural for us to you know subsidize gas cost with the idea that at some point we would have a business model on top of it which would cover for it it was also clear for us that the blockchain wouldn't scale if transactions were costing like one or two dollars you know to make a transfer if if you want it to be a technology again for billions of users transactions should not be more than five cents or ten cents max
one or two dollars even sounds lovely to be honest exactly and so we we knew that at that point it was still a bit expensive but our assumption is that gas costs would go down and and there to go down if they were not going down then the blockchain would not scale and so they had to go down i still think that that's the case what we didn't i would say factor into a cone is that between two pawns it's not always a straight line yeah and specifically in that case it went crazy up it will go down but of course we didn't anticipate that that you know that crazy bump which made of course all this transaction more and more expensive and it started you know costing us a lot uh so we had to of course you know face that and change our model a little bit
uh but anyway that was at least the original idea four years ago and actually people loved it when we were subsidizing transactions of course users loved it because arjun was a non-custodial wallet amazingly simple to use no seed phrase you know no gas you would just click on button and things would happen i mean that was the perfect experience uh we still hope that we can you know get back to that with layer two and that's probably you know maybe something that we'll discuss later on on this chat uh but yes between this you know between these two points there was a huge pump and that forced us to revisit our our model do you so i think i i definitely want to talk about the l2 stuff and kind of understand where you're even at with that what that's what that's
changed for you but i do think there's there's a few things that you just brought up that are worth exploring deeper um this idea of getting i mean just the getting rid of the seed phrase i totally like you you sort of said it's tricky you know we teach people not to write their password down now we get everyone to write their seed phrase down and the problem is if you lose your seed phrase you you won't have access to your wallet and your funds and you're screwed and no one can help you so it's understandable but if anyone else gets access to your seed phrase they have full access to everything and you can't stop them you could only be first you could drain your own wallet earlier that's like the best you can hope for so it's it's such a different paradigm let's go deeper
into sort of the solutions or like what exactly it means to get rid of a seed phrase on a wallet yeah so i i mean what you said is is exactly what we described you know what arjun needs to do you need to have safety nets i think because yes this id i mean blockchain is intrinsically you know i wouldn't say financial but it's a way to transfer value and so you need to have a way to to protect that that value and building a system as you said where if you lose your one single secret you've lost everything and if i have your secret i have everything i mean it's it's insane to imagine that this will work for you know for normal users and for a billion people so the solution for us to get rid of the
seed phrase is this thing that people call social recovery uh i would not i mean certainly not claim that we invented it i think there were people playing with this id there's i mean gun seerer which is now building an avalanche i think he had a paper on blockchain with some of these ideas vitalik had mentioned it as well but we kind of did our own spin of it and the idea is to say that if you are your account is a smart contract so you have one key that's the owner of that smart contract it's like the remote control and that's the key that you would put on your phone so your phone really act as a remote control to your account but you can also define some other keys on that contract that can only act in certain situations
so it's not like these keys they can make a transaction or they can transfer token they only have access they can only call certain methods and we design these methods to be related to security and one such method is the possibility to actually replace the owner of the smart contract so you have one key in your phone and let's say you program three other keys that we call guardians these guardians cannot do anything but the only thing they can do is actually replace the key that's the owner on your phone why is that useful is because if you lose your phone you've lost actually the key that was controlling your account you can contact your guardian and you can say hey can you please you know i have a new phone this is my the new key that's on my phone can you please reprogram your
account to make it the owner and that's basically what people call social recovery but the problem of the term is that people anticipate that social media friends while actually from the contract point of view these guardians there are just accounts they're just addresses so they can be another smart contract they can be you know any basically any account on the blockchain and so in the case of arjun the logic is of course a little bit more complex than what i've defined this guardian needs to act collectively so a majority of guardian needs to vote to approve the transaction to replace the signer and then there is a time period a time delay of two days to make sure that they cannot initiate that you can still cancel the operation if
you don't agree with it so there's kind of a game between you know the number of of legit guardians and and the owner and so on to make sure that basically guardians cannot abuse the wallet and and today after you know more than four years and you know securing hundreds of millions i mean we had more than one billion dollar at some point the recovery has never been abused i mean it's never been asked it's never been abused so it is a very robust uh protocol and and it's a great way to abstract the seed phrase because now the key that's on your phone is like a disposable yes you want to keep it yes you want to keep it secure because it's easier but if something bad happens there's actually a way to to gain back access to your account
it's not a multi-sig the way like when you talk about these like multiple users is it like a multi-sig that controls a smart contract that then does the unlocking of another wallet in a way or it is a multi-sig it's uh we call it a custom vertice typically multi-sig are very generic you need to have any of them of the signers that initiate a transaction here we want to again bring the best of both worlds so your wallet is a multi-sig for certain security operation but for some other operation the signer alone can you know can execute the action so yeah our arjun is a is a custom multicity you're not also a multi-sig like you wouldn't have a multi-sig of
the recovery for a multi-sig everything is in one contract so really on your account there's really these these different keys that can be set up and they have different roles and they have access to two different methods if you want so all these programs so yeah it's it's a multi-sig but it's a custom one yeah okay which i think is again the way we say is like you know be a multisig when you need but you know not always so sometimes you want to have these matissic functionalities someone sometimes you don't want because every time you make a transfer or you you know you interact with that you don't necessarily need to contact all these guardians all these parties so there are certain actions that are safe and for that you you should be able to execute them in one
in just just with the signer key that's on your phone but for more for other sensitive operation or security related operation you want your account to act as a btc i did actually have an interview not that long ago with the folks from gnosis where we talked about the safe i think we were talking about their governance the zodiac governance um protocol framework and i do wonder like in this model like could you use this model for some sort of governance or decision making i realize it's primarily for like password recovery like this multisig has the purpose of like if you lose your key there are people to help you but like have you explored using this this guardian model for something else
so the answer is yes not for governance but on origin actually the guardians they have they have several rules one is the recovery another one is to approve uh i would say sensitive transaction so again because we have logic on the wallet the owner itself can do any operation that doesn't exit value from the wallet so for example when you do a trade you can swap between one token to the other but there's actually no value exiting the wallet so we have actually all these filters and all that fraud monitoring logic on chain today which makes sure that there are certain operations that can be triggered by the owner of the wallet alone because we know that there's no value
leaving the wallet no if suddenly you want to make a large transfer to another account then in this situation because there's value leaving the wallet you need to ask your guardians to co-sign that transaction again and then to go to the full length of the model you as a as the owner of the wallet you can also set a white list of addresses that you trust so again it's not like you will need to approve your transaction with your guardians for every single operation you can say i can say sending you know money to anna i know anna i trust it that's fine because if someone's hacked my wallet for some reason they can only send funds to you which is fine they cannot send funds to their own wallet so you can also define whitelist and trusted contacts and so on but again these guardians they can act
for transactions that the wallet does not understand or doesn't know and so it's like a second factor in a sense so if i want to you know wire 50 000 to someone that i've never interacted with the wallet will say hey this is a transaction that i don't know please you know approve with your guardians and so your guardians so they can act for for recovery but they can also act for fraud monitoring or co-validation of transactions that's interesting is there any connection to hardware wallets can you just use a hardware wallet and arjun together yes so actually we have several large users so users which have a lot of funds in in arjun and when i say it's more like people that have a million or a couple of millions in argent they
would tend to use hardware wallets as guardians because again it's kind of the best of both worlds you can use the hardwood wallet as a guardian and you can actually put it in the safe in the bank that's fine because you will never use it you will only use it when something bad happens you've lost your phone or you know and so you have kind of the best of both worlds you have your hardware wallet which is really really secure and you can put it in like cold storage somewhere and you use that as a guardian to your arjun wallet which is then you know the wallet that you use to access dabs or to to to make investment and so on so yes we do support hardware wallets but typically they're used as guardians how do you see the evolution of hardware wallets i mean it sounds like they're a
partner project but like i like in the landscape of wallets that you're looking at you don't see them as a competitor in any way i guess they do a different thing they do a different thing i think in a sense there are competitors because they considered like secure wallet and arjun i mean we put forward security arjun is extremely secure and on that spectrum in terms of extremely secure non-custodial wallet people think how the wallet and we want them to think you know actually arjun when it is a better alternative uh but yes it's difficult to know where hardware wallets will go i still believe that at some point you know everybody will have i mean they will your keys will be managed by by your phone by the hardware of your phone
and then your operating system on top of that so i imagine that hardware wallet will become chips somehow that will be in different devices but yes i i personally feel more confident to use arjun than have a wallet to be honest because the hardware wallet you still need to have a seat race so actually you have that same problem of what do you do with your seat trades yes your hardware wallet is very secure but where do you put that seat phrase so i think that that's one problem the second problem is that there are quite a pack with a smart contract wallet yes smart contracts can have bugs but actually the code is open so so everybody can inspect it and after four years you know if nobody has hacked it you can have confidence that it's actually secure with the hardware wallet it's more
complicated to know what exactly is happening inside you know inside your hardware so i mean i think there's no there's no perfect solution every solution has its own trade-off uh but yeah personally i i feel more confident with my my arjun wallet than the hardware wallet but but i think combining both like using a hardware wallet which is what i do as a guardian is a great you know he's actually getting the best of both worlds yeah that's interesting is argent built as a wallet that's meant to interact a lot with dapps outside of itself like do you have like wallet connect like connectivity to these dapps or do you have your own custom ones because i feel like sometimes i see arjun on a list directly no so we are not we are not coinbase we didn't write our own version of
what is no no we we big fan of wallet connect we've been probably one of the first wallet to to integrate wallet connect uh we do believe that that's the right way to interact with dap so yes in origin we have intel we integrate natively some protocols to make it simpler so in our ui you have the possibility to connect to certain dabs to do some investment to swap token and so on but of course we enable you to connect to all the other dapps out there and we do that through wallet connect so that's great the only i would say drawback of that approach and again that's related to a discussion that we can have on there too is that today on ethereum people are building for eos they're not building for smart contract wallets so smart
contract quality like arjun or nozzy safe there are second-class citizens in a sense and so that means that there are certain actions very specific ones where that developers need to do something specific if they want to support eos and smart contract contracts and one of the main one is the ability to verify an off-chain signature of typically when you connect to adapt sometimes they will ask you to sign some message and then they can use that signature they do an easy recovery locally and they say okay the private key from that sign is actually the same as the account that you know that connected and that works because your account is anyway if you're a smart contract well it's not contract well it cannot sign
transactions so actually what you are doing is that you are signing with the key on your phone but then to verify the signature that should actually contact the wallet and say hey is this a legitimate signature and there's an eip for that that was actually developed by pedro from electronic connect the ip1271 which does exactly that uh the problem is that not all dapps have basically are basically supporting that standard and so if you use argent or actually know this uh on certain apps it will work on some it will not work because they do not support that vip and so there's an entire phase of education trying to convince that to you know to adapt to do that and that's yeah that's a a problem for of smart contract
wallet is that you need to do something that's a little bit specific it's not that it's not complicated it's a one-liner but you know the entire ecosystem is built around that era paradigm uh in in their head and so that's a consequence of that since a lot of this is open source would you be able to just create the little bit of code that they need and submit it basically to their repo and then see if they add it do you ever do that no we don't do that we prefer to reach out to the developers i think it's it's it's part of of education and unfortunately arjun and moses are you know are two well-known brands and so we have some you know some leverage and some visibility and so when we explain them the problem the apps will typically update
but sometimes it's a bit more complex than that for example uh open c in there they were using actually off chain signatures but they were verifying these signatures in their smart contract and so their smart contract would only verify using an ec recover so there are certain operations that smart contract wallet could not do on openc that has changed no but of course you you need to contact them and tell them not to you know to obey their front end they actually need to change one line on their smart contract which take much more you know a longer time to do because it needs to be edited and so on so today openc fully supports smart contract wallets which is great but of course that took a little bit of time so it's not always possible for us to just contact or just do a pull
request with a change that's what we did on their smart contract repo i opened an issue but you still need them to actually go through the process of of updating the contracts and actually that's one of the thing that's why we are so so bullish and excited about what people call account abstraction uh which is a a topic on its own but but that's something that we are pushing on layer twos because with account abstraction smart contract wallet becomes the the default the norm and that means that all these problems will go away because every single account will be a small contract and so that's why we believe account attraction on layer twos is actually something that's very important for you know to grow the ecosystem and to actually enable easily to to to remove all these
frictions that we see on l1 with account abstraction you can make them much much simpler to fix there's two threads basically that i want to dive into in our conversation on l2s and that's kind of revisiting the gas and then understanding a bit more what this account abstraction really means let's talk about your move over to an l2 like the first one so i know zk sync was the first place you started to experiment with like just one thing are you still paying the gas fees on the main no no no no we have to stop that because we are losing a lot of that that's what i was thinking and actually yeah and that was a big frustration for us because we really wanted arjun to be a wallet for everyone
like and i think that's the beauty of the blockchain is that everybody has the same access to this global permissionless financial system but because the gas became really really high everything became really expensive smart contract wallet are even more expensive than eos because you have that logic that needs to be executed and so we ended up being a wallet for whales basically yeah and so we actually tried to adapt yeah we had to adapt ourselves to that reality uh so we had to shift a little bit the product it's okay to pay 50 to do a swap if you're swapping half a million it's not okay to pay 50 if you're swapping 100 uh so we became a product for users with really large number of assets which by the way is great because it enables us to prove our model and to prove the
security of our approach because we have a lot of you know users which are assets trusting us uh and trusting arjun with their firms but of course all these smaller users were left out and so that's why we were like eagerly waiting for their tools to pick up because for us it's an opportunity to actually bring back our solutions for these these users so let's talk about that when did you first make the move and what are you actually doing what what can you do there so far so we've been monitoring the layer 2 space for quite some times because of that very problem of of transactions being very expensive and we rapidly identify that layer 2 would be our new home in a sense that's where you know
a smart contract wallet or wallet in general would be i think gradually we'll see a shift from l1 to two layer twos because people would want to pay lower fees of course we looked at the field and monitored the field for quite some time and started discussing with the different partners and they were you know arbitrary and optimism building optimistic roll-up and at that time there was stark ware and mater lapse building zika roll-ups so we discussed with with all teams trying to understand you know where we should go first and and where we should build the first version of our layer 2 offering and i mean after many discussion and for different reasons we decided to go for zk sync v1 i think at the higher level we wanted to
go for zk roller because we believe that there are the long term yes we believe that they are they are the long term solution people always agree that zk roll roll-up would be the long-term solution but they felt that it would be a really really long-term solution and that there would be a long period where optimistic roll-up would be the only solution discussing with metal apps and stock where we we had the impression that actually they would be ready much faster than people anticipated and so we decided to you know to to bet on zk roloff and so that was the question of star wars material labs we of course discussed with both teams at that point starkware which they are i mean they are amazing engineers i'm now extremely bullish on
on stack net and that's that's why we are building arjun x but at that point they all they only had stark x which was like very application specific zk roll up and and we are wallet i mean we didn't really see the point of building something on our own application specific zk roll up because in the end we want users to interact with that with protocols and so on zk sync v1 which was already in production for i think something like a year was again limited in functionalities because you could only do transfers basically and you could do native swaps but we felt that this was sufficient for us to kind of build of an i would say an mvp of of what our layer two offering
would be if you look at arjun even on l1 we have this so we have that security layer then we have integration of native protocols so basically financial primitives you know you can you know interact you can swap tokens you can earn yields on your tokens and so on so we have these things that are natively integrated then we let you connect to the the entire world using wallet connect we said that on z casing v1 we could build everything except the connection to the other world because there's no smart contract so there's no application being built on z casing v1 but actually we realized that we could do transfer and and we could do native swaps and actually because we could do native swaps we had the idea of doing something called defy pulling which is
bringing basically layer one d5 protocols to layer two and that's actually an idea that that we pioneered in the field and that's the idea that if you have a lot of users on l2 that want to have access to a certain token on l1 you can kind of aggregate all these demands and then go on layer one get you know swap the tokens on layer one and bring them back to layer two so basically you save on gas exactly so exactly so you're paying the gas of one transaction but you can do that for say a thousand a hundred or or you know five thousand ten thousand users depending on how much liquidity is needed and so we felt that through that technique we would actually give access to many of the d5 protocols on n1 we could do swapping and and we could do
transfers so that was sufficient to build actually a compelling product on zk6v1 which had as i said like 80 percent of what origin x we're still missing the connection to dapps which is very important but we felt that that would come with z casing v2 and so that's why we started working on z casing v1 i think we started that probably a year ago okay and offering the casing v1 has been live since january december january i don't remember exactly but it's been on for for a few months i haven't had them on in a while but like zk sync v2 is that out already no so they are on testnet okay so they're working on that
i think they're a bit behind their initial roadmap and plan for various reasons but they are on test net there are missing one piece that is important for us which is our kind of attraction okay as i've already mentioned uh but no they are they are coming they are building and i believe that they will have a test net with most of the functionalities in a couple of months hopefully i know i mean i on an episode we did a while ago brendan from polygon had mentioned his time at the l2 beat event in amsterdam and said something about a lot of these l2s having like changed their roadmap slightly so it sounds like it falls a little in that category push them back a bit made them more
realistic somehow yeah definitely yes yeah but i think people are also realizing that there too is an opportunity to actually fix some of the limitation of l1 yeah and so i think because these the development of these platforms take time i think people realize this you know this possibility is at different moment and so they want to bring these unique features to l2 what do you call your version of your first l2 foray like the first thing you made with the sync what is that called we call it i think a flash account so it's it's on zk sync so in the same mobile app that you we have today you can basically have two types of accounts so you can have an account on ethereum on layer one
and then you can have an account on zika which is the casing v1 and on both of these accounts you can you know you can unram fans so we have integrated ram on the casing so you can from your credit card you can actually buy you know ether die usdc and some of the main currencies you can swap them and you can earn yield on this token through certain protocols so we've integrated yearn we've integrated grow we've integrated a bunch of protocols which enables you to earn yields of this token is that on the l2 yes that's on the l2 yeah cool did you have to have the team the urine team do that with you or was that something you
could just sort of redeploy no so we did that ourselves using this d5 pooling technique so the idea of d5 pulling as i said is that we we actually bring liquidity in in the end i mean any d5 protocol is a token in the end and that tokens you know packs and bundles a lot of things but in the end there's always a token so actually what we do is that we bring these tokens to l2 and then we we let users swap for these tokens on l2 and when we detect that the liquidity is getting low we've accumulated the you know the converse token for which users have used to buy this this d5 token and so we bring this token back to l1 and we orchestrate all that so we have smart
contracts to do that we bring the liquidity back to l1 we swap for more of this d5 token and sometimes with urine it requires you know multiple operations so we have an infrastructure of smart contract to do that and once we have the d5 token again we bring it back to l2 and we replenish replenish the pool with this open so users can continuously buy this defy token we did collaborated with all these this protocol to provide the bootstrapping liquidity so for example euron provided some some liquidity to start that that was the initial liquidity we are we integrated you know lido to provide ste so they also provided the initial you know sd token and so on so so we did collaborated with them for that
liquidity but actually that's the beauty of of defy is that you don't need to ask permission we can just build smart contract and orchestrate that without them having to know that's interesting i always think of the applications on l2 as deployed on l2 but here you're saying like you can act as a user on the l2 side the same way you would on an l1 side but in your case like the wallet itself it's being that like bridge to the l1 for you that's what it sounds like yes i mean in the end as a as a user you want to you want to swap tokens yeah yeah or engage in liquidity events or something yeah of course there's more there's more complicated use cases but typically if you want to have you know yield on your token you want to have state and and it doesn't matter we don't need
to create all these contracts on l2 you as long as you actually have a token representing states on l1 and you can without anybody's help you know go back on the bridge and receive the equivalent estate thunder one that i mean that's you know the rap token is as good as the original token and so you have access to that e5 protocol yeah i i'm trying to think if through arjun there is ever going to be some sort of like staking action itself i just the reason i think about this is some for other networks some other networks that have staking functionality like proof-of-stake networks often the wallets will have it in there and i was just trying to think like where you're sitting would you need to have that possibility i guess not yet
for any of these l2s because they don't have necessarily native tokens yet no they don't but again you have access through staking to staking truth some l1 protocol so through arjun you can you know you can lock your your heath into lido and receive st in exchange so you are actually staking as a as an f2 validator so we can give access to that again we can abstract that complexity and give you access to the rap token representing your state investment let's talk more about that account abstraction you mentioned it a few times what exactly does it mean why is that related to an l2 yeah so typically on ethereum accounts
are eos and so there's a link between the signing object your key and actually the account the object that holds your token on the blockchain and there's a direct connection between the two because the address of your account is derived from the public key of your signer and actually only the private key on the signer can initiate transaction on that account so they're basically two sides of the same thing and that's actually why a lot of that complexities and all these risks come from because if there are two sides of the same thing if you have one you basically have the other so if you have the signer you automatically have the account and and that's the difficulty and all and that coupling is really hard coded in the evm so the idea of account abstraction is to basically
break that coupling to decouple the signing object the object that's authorized to make transaction from actually the account the object that holds the token and in practice it means that accounts become smart contracts so every time you deploy an account with account abstraction that account is a smart contract which can contain some custom logic of course there's some constraint it needs to comply to a certain interface there's some you know some constraint on certain methods but the the idea of account abstraction is that every account is a smart contract that can be customized by the user provided that it satisfies some some constraint and why is that very interesting is because as i was saying
every account becomes a smart contract wallet that's the default it's not an afterthought it's not like you have eos and your smart contract wallet no with account abstraction every account is a smart contract why do l2s allow for that more like you sort of you you sort of brought that up in the context of the move to an l2 so but right now i mean l2s don't have very much functionality so i'm not exactly clear how that would work that's a good question i mean account attraction is not a new idea if you look at vitalik i think vitalik is composing an eip around account abstraction every year consistently for the past four or five years so that's something that has always been on the roadmap for ethereum but of course it's it's a it's a complex change from what
we have today and there's so much at stake on ethereum that it's it's been too complicated to implement and that's something that was always pushed back but but that's something that was there from the start right it was always clear that we would need to move from eoa account to account abstraction but now if you think of that in the context of l2 l2s are starting from a blank page i mean we've learned a lot of things for the past five you know four five six years with ethereum and i think we should take the best and we should take that opportunity to fix some of the limitations or to actually try to innovate on some of the aspects that are becoming complicated to innovate on on layer one and so that's why account abstraction is kind of
coming back in the context of layer two and that's something that at argent we've been pushing very hard because we believe that that's the direction that every layer should go to we believe that the you know all the evm should have a kind of abstraction that one should never call abstraction but let's start with layer twos which are you know a blank page and so it's easier for them to start with that concept uh from you know natively integrated from from day one in the protocol what does natively integrated mean though like is it is it an eip that would never pass on the main like on ethereum mainnet like what does it even mean actually what would that look like so that means that the vm like you have the on the evm a lot of
stuffs are hard coded yeah yeah it means that the vm on this layer two actually is is designed to work without account abstraction you know being there so to give you a concrete example we've been working really hard with starkware on on actually helping them this design icon abstraction so we've collaborated with open zeppin software and arjun to try to really push that and understand how it would work so again they were leading everything not saying we had a big role but having experience from smart contract wallet we actually could give them a lot of feedback and say oh you should think about that we should have one such method to validate signature or if you do that you will prevent us from using having this this that use case so we've been working together for the past three
or four months trying to design how icon abstraction would work on on stacknet and so that means that today on starknet what we agreed for is that every account needs to satisfy an interface which has three methods one is to validate a transaction so there's literally a validate method one is to execute a transaction and then one is to verify of chain signatures and to make a parallel with layer one today on the evm there is actually a validation phase and an execution phase when you broadcast a transaction to a node before the node can put it in the main pool it actually validates that the transaction will work and that miners will be able to collect fees at the end i know they
do that they check the signature they check the norms and they check that you have enough balance to pay the miners fees so there's actually on the evm there is that validation phase and then there is that execution phase where the transaction is you know taken and all the interaction with all the contracts are are being executed so today on the avm we already have that logic except that it's hardcoded on starkware there's the same steps except that instead of doing something that's hardcoded the the vm or the kero operating system actually calls the account and calls the method validate when it is to validate when it wants to execute a transaction it calls the execute method so that's what i mean by being at the protocol it's really at the
level of the vm of the m2 the reason i was asking a little earlier like what you call the zk sync arjun wallet or what you it sounds like it's argent on ck sync but you have argent x which is on starknet at what stage is this account abstraction over there and like kind of what happens over on zk sync like are you also looking to to create the same kind of abstraction as well so yes i mean i'm talking about starkware because they are a bit further than z casing in terms of account abstraction but zkc is also working on account abstraction and they are implementing you know a similar way as star query is doing so we are again helping zika sing the same
way we try to help start where but starkware with starknet is a little bit you know more advanced in in that direction and and actually that's why we started building arjun x because we were exploring all these ideas and so we started to be involved into the start net ecosystem and we felt a bit like we felt at the beginning of our journey on l1 that there was a missing piece between the protocol and the application we actually witnessed exactly the same on startnet there were people very excited to build games or to build you know like new types of applications that were not possible before and that become possible on zika rollout so they were all building these this starting to build these cool applications they will start work building the protocol and then that
developers are like oh but how can i connect my you know my dap to to the network and again there was a missing piece at that point there was literally no wallet so kind of the same way we fell on n1 we need to fill that gap and we started with our gen we felt exactly the same on stack net we said okay let's let's actually build a wallet so that developers you know can build you know can continue building their application and so actually we can help that ecosystem grow and that's the initial motivation behind argentex how is that funded how do you decide to do something like that is it grants like does stark where sponsor you to do this in a way or do you see there being an income stream for you through this yeah so so no stock
does not does not sponsor you i'll sponsor us sorry i mean arjun is we you know we have we are obviously back company so we have funds and we believe that's you know it's strategically makes sense for us we we've always believed in zk roll up we believe it's the future so we are you know we're developing on zkc but we always meant to be developing on star wars as well and it i mean we felt that you know it was a great opportunity for us to be actually the first you know wallet building there so no no we we feel that again if we want we want to be the wallet of this of zika rollups oh cool i think today i mean argent that's what we want to be we want to be the wallet of zk robs and today the main two
zk roll-ups are software of stack net and nzk sync and so it makes sense for us to be building on both of these platforms do you have to when you are on the ck roll ups do you have to build within the native language some something like are you building smart contracts with cairo yes so on startnet yes we need to write smart contracts in cairo which is a topic that people discuss a lot you know there's a lot of people that want you know that wants to have easier yeah yeah this evm compatibility and then the zvm equivalent which goes even even further the way we see things is that first of all zk roll up our completely new paradigm and so solidity for example was designed for the evm which is a
constrained state machine it's constrained in terms of compute and on the stuff that it can do and so solidity was was designed for that environment so we see no specific reason to use exactly the same language for an environment which has different set of constraints and not the same one might as well use a tool that is optimized for for that environment the counter argument is that you know all the developers know solidity yes all the developers in the blockchain know solidity but what's you know what does that represent in terms of the entire pool of developers in the world i mean we are so early that 99.9 of available developers are not in blockchain and so for them learning camera learning solidity i mean it doesn't it doesn't really matter so so for all these
reasons we feel that cairo i think again there's this pros and cons of course it's it's good to use solidity because you have all the tooling but again starkware i think is building camera for for the you know right reasons the the challenge will be the tooling and infrastructure around but again they managed to attract such a group of excited and smart developers that actually people are filling the gap and so all these tools that we use today to develop instability people are rapidly building them to developing cable it's it's a new language i mean it will take time to mature like solidity did but again we didn't see that as a blocker i think it's a it's a great opportunity to again improve on you know what we have we've learned a lot of
things and then one why not improve with the with the different language and so for all these reasons we yeah we feel at ease building in cairo given that you do have sort of a lot of this developed on in solidity i guess like on the on the main i mean there's a lot of evm compatible chains that have come online appa moonbeam fmos just came out like all the ecosystems have a evm compatible chain often connected through bridges do you ever see yourself deploying there and if you did would you be the bridge or do you have to work with a bridge it's a good question i would like to come with a clear statement but that's something that we debate internally of course because
there's a lot of activity happening in lots of different places in our ecosystem but again we've always been driven by our long-term goal in a sense and so we at least we don't want to be influenced by short-term wins we still believe in the ethereum ecosystem and we still believe that on that ecosystem the long-term bet is on zika up yes there's a lot of activity happening today on the chains and in other locations and sometimes by a really good team that you know that we know well we appreciate and respect but we want to be focused on our long-term vision but of course we are monitoring everything we are talking to all the teams i think we would have no problem building on an evm equivalent chain of course
one thing that we would want to see is account abstraction because we don't want just to repeat the same mistake that we've had on l1 and again be a second-class citizen because it's a lot of effort and so at amsterdam i had the chance to discuss with a lot of these teams i mean i discussed with polygon team i discussed with you know team from zika armies maidan we discussed yeah with optimism they are all interested in account abstraction they're all one icon abstraction to to come but because those that want to be evm equivalent they're kind of waiting for the evm to change first before really running it themselves and so you know we would like to convince to do things the other way around i think again there are two
there's a great is a great opportunity to to fix some that would not say fix but to improve on some of these things and it's a good opportunity to actually innovate to test stuff so we would love i mean would be happy to explore going on another chain if they were to support account attraction but for us it's kind of yeah i mean our focus and our belief is in zika right but of course for example i believe optimistic roll-up will become zikr up at some point that's my new yeah my new conclusions following you in amsterdam listening to i think polygon armies and then optimism in a row and it's kind of it's exactly the same architecture so i think at some point optimistic rollup will become thicker
so it would make sense to start building on them today because we know that it will go towards what we believe is the long-term goal but again like an abstraction for us is something that that's very important because if you don't have that you're forced to to add a lot of complexity to have meta transactions relayers and you're a second-class citizen uh so yeah for the moment that's where we draw the line i would say but again that's something that we are discussing internally a lot of course i kind of want to take the question i just asked and talk about the second part of it which is like theoretically if you were to deploy on a non-ethereum based chain would you as a wallet end up interacting with the bridge somehow like it's this is more just like like what is a wallet in a bridged
ev if it's evm to evm or evm to something else but it's just like have you talked to any of the bridging teams basically like would you need to work with them on some level so yes definitely when we are talking to some of the people providing breaches i think the way we see things that users don't care about chains and they don't want to see a change so again if you look you know medium to long term i think change should be abstracted there's no user in the same mind i would say oh i want to toggle something and go you know i want to go on on avalanche you know i want to go to that turtle and go on ethereum no actually it'll be a reservation exactly users come for an application they want to they want to have access to an
application they want to have coins it doesn't matter if these coins are on the chain one chain b or chain c and so all this will need to be abstracted by wallet definitely so that that's what we believe and so yes you will need bridges to do that but again at this point we don't want us to build these breaches we believe that it's it's a separate business and we see arjun i think the wallet is kind of an aggregator of protocol and so yes we want to integrate bridges to do that to provide that layer of abstraction but yes we don't at least at this point we don't think that we should build these bridges got it is the long-term plan of argent to also have like a decentralizing force like right now you're an org right it's like you're building a product you ship it
i'm assuming it's open source and people can look at it and i think you did say that earlier so but do you as an organization see yourselves as also i mean i think the the question wrapped in here very overtly is like are you eventually going to have a token too maybe you can't say that but when talking is that the question i know i guess that's that you didn't expect it on the zero dollar podcast what if i become oh god the answer is no we are not bringing a token at least not in the foreseeable future we are not against a token i think there's but but it needs to come for a good reason and for the right reason and today we don't see any any good reason to do that again that's
something that we are thinking of because in the long term we would love to give you know if you become a wallet for an ecosystem and to give that you know that product to the ecosystem itself so yes in terms of long-term vision that's a fantastic you know idea and something that we would you know that we would love to do at some point but it's it's not a topic that we need to discuss now i think this is we are probably five years too early for that but so no yeah we we are not planning to launch a token at any point in the future but again it's not it's not for philosophical reason right because we don't see any good reason to do so as a wallet do you see i mean i'm wondering if this is this is a question more about
like product development and like just the process of doing that do you almost feel like at this point it would not make sense for an org like yours to be governed like you know what happens sometimes with this with the governance stuff is that it'll be like an upgrade to the wallet a change in the way you do something would have to be decided by committee and by voting and yeah yeah we've played with with these ideas of course because they are sexy on paper i think again those are and governance is an amazing use case of the blockchain but i do feel that we are not there yet at all and i haven't seen for me a project with the right you know with governance working well over a long period of time there are some some interesting you know direction and
an experiment but i do feel that in most of the situations dials are actually an inefficient way to to build a product and it's a way it's still as centralized as a traditional organization except that you give it a layer of you know you give the impression that it's owned by the users but in the end there's two or three people that own the majority of the tokens and they decide which is no different than the normal organization as we are and most people don't care enough to pay attention to everything anyway exactly so i mean it's it's a fascinating thing i think there are some i mean you know make a dao seems to be working relatively well i like the way ens is you know has introduced their token so i think there's a lot of interesting direction i
think optimism is working as as a north day token as well so i think they're it's interesting but it's it's too soon for us and it would be a distraction to start thinking about that i think we first need to build up you know a great product for users and then we can think about this these possibilities that we are we are not there yet i have one last question i want to ask you which is you were a physicist previously quantum physics was that what you had said was your that was your space yeah um do you actually look at you're now you know working with zero knowledge roll ups so you're i guess following zk stuff like because of what you studied do you have any opinions
actually about what happens to zk and also just blockchain tech with quantum computing to be honest not really i don't want to use my my level as a quantum expert to give an opinion on that no no not really first of all it's been a long time i'm i'm not that young anymore so i haven't been active in quantum information and quantum computation for for a long time funnily enough the first time i heard zero knowledge proof when i was still at university working on the postdoc because one of the first or most exciting areas of quantum information quantum computation is actually cryptography and so people were trying to see or you can improve some of the
primitives or reproduce some of the cryptographic primitives using quantum system and so that was the early days of zero knowledge proof and i remember some people you know talking about that that was i don't want to say 20 years ago but probably 15 years ago already so quite some time ago no no in terms of of you know the impact it will have on the blockchain and i'm not really monitoring that yet it is clear that some cryptographic primitives are not quantum secure that's for sure and so at some point we need we need to move away from those uh but no that's not something that i specifically monitoring i mean so it does sound like the field was adjacent to but not in cryptography but do you have interest in cryptography like did
you ever look into that yourself a little bit as i mentioned first of all because working on quantum computation and quantum information we looked at primitives and so uh some of these primitives are cryptographic so i did start you know i started being aware of that and starting researching and understanding a bit more how cryptography worked and then after that i did that startup where we built a quantum random number generator which would be relevant yeah exactly for cryptography and that's probably one of the reason why it was not a great success is that typically as a researcher as an academic you have a solution and then you start looking for a problem one startup should be the other way around so that's exactly what we did we had a quantum random number generation they're generating four
gigabits of random numbers per second and we started thinking okay what can we do with that and so of course you know security and and then cryptography was a natural fit and so we you know we researched and started working on that so again that got me into cryptography but i'm by nominating an expert i'm more interested at the application level how to combine the building blocks than actually understanding why the build you know the bricks work from a mathematical point of view cool well thanks for that little background i figured i'd have i'd have to ask you uh uh but yeah thanks so much julian for sharing with us argent and its kind of history and some of its plans yeah thanks for having me enjoy the chat a
lot very cool i want to say thank you to the podcast producer tanya the podcast editor henrik chris who helped on research and to our listeners thanks for listening you