Blockchain for the Masses: Simplifying the User Experience — Luka Isailovic | Reown
ETH Belgrade Community·Thu, Oct 9, 2025, 12:00 AM
Recording from ETH Belgrade Meetup #12
Transcript
hello everyone okay okay hi uh my name is LCA I'm leing web and research teams at con and U today we're going to be talking about ux um I have engineering background and I've tried a lot to remove like all code examples and use many boring engineering terms because uh not everyone may be familiar with that so uh we're going to be talking about like high level and mostly product but still we're going to touch some engineering stuff so yeah bear with me if it's too boring um so we're going to see how we use DS currently we're going to talk about some problems some solutions um a bit more solutions and finally see like what is the end goal for the user experience for the uh blockchain apps and wallets all right um let's start so um at the beginning we're going to cover two user stories um one is this like classical web two story uh we have somebody purchasing a picture of you know how like young people I guess try to like decorate the home but it's too annoying to buy like real piece of art so you just buy a picture on like Ikea or something and then we we have like a web free crypto DM who is buying um anfd um so let's start with the more familiar one which is the picture I I mean I guess it's the picture buying Me In This Cloud not which is the more familiar one but let's start with the picture buying anyway um so I'm buying a picture and U I can't even like bother to go in person to a store I'm just going to like ikea.com I'm looking at the pictures and whatever frames uh I put it in a card I click check out um and then I'm presented like with a form to put my credit card I put in my details uh and then I'm usually like prompted with the like 2fa screen to put in a code from my app because banks are super like conscious about security uh I do that and uh CLI check out transaction goes through all good um let's say that I even like went to like I don't know any foreign website like AliExpress or anything um and I order from there in a non-native currency I'm paying in like Euros or USD or whatever I don't have Euros or USD in my bank account I have like Serbian Dinars uh and like my bank they don't care they the conversion behind the scenes transaction still goes through all good and yeah it's going to arrive few days later nice um let's explore a bit more unfortunate user path uh I'm a crypto Dean I'm looking to buy an nft on whatever is my favorite um nft purchasing D I go I visit a Dap I click the little connect button uh I use wallet connect of course to connect to the DA with my wallet um I see a bunch of these pictures maybe crypto monkeys or whatever the buks you know all that I see prices 100 usdc all good I have I don't know 200 in my wallet I click buy but then it says uh transaction failed like not enough funds like what uh what's happening is that a seller of the nft wants usdc on optimism or like L2 and I have usdc on ethereum and those are not the same like they are usdc asset they should be the same but those are like not the same asset so what I have to do next uh I have to find a way to bridge my assets fine um I look like what is the most popular Bridge um I go there I again connect my dab to my wallet um I put in like what is my chain Now what is my chain later I Bridge the assets but then again I'm presenting with an error because I don't have enough funds because I'm trying to bridge like usdc but I need to pay in ethereum and have ethereum because I don't know what it is I have only like usdc and I want to purchase my crypto monkey picture um so then I need to unram ethereum I need to purchase it like of coinbase or anywhere I need to send it to my wallet and then only I'm able to complete my transaction um to bridge funds and then I need to go back to my initial dab to purchase the picture I wanted to in the first place and this is like 5 hours later and 100 clicks later um what's the tldr user experience is obviously worse and thats we use now are obviously worse than the web two counterparts we use every day um okay so let's talk about some solutions um now that you know what the problem is and then we're going to touch on some more pain points like during the presentations so you remember like how maybe two or three years ago everybody pitched RC 437 which is the account abstraction ERC it's supposed to fix everything uh unfortunately it's still not fixed um today as of yet because I can count on like one hand how many wallets support DRC for7 which is unfortunately very few uh but what it does when I want to purchase something uh a picture or anything um does it make sense or I'm at the grocery store uh I at the like cash register do they like uh pay I guess present me with the with the terminal one item and then I pay and then present another item and then I pay again because that's what's happening in crypto I'm not like batching my transactions and paying everything one by one uh and ERC 457 introduces uh user Ops which are containing multiple actions allowing you to bundle multiple actions by user and pay and pay them I guess in mon transaction mon click which is more important the mar action cool um that's one component of 427 another one is gas so um I said I have usdc I have any other asset I want to spend um but why do I have to worry about ethereum or whatever is the base token uh I should just pay whatever asset I want to pay so um another component of 427 is pay master and they allow me to specify this field in in user of pay master and data uh that is going to be broadcast to the network and then pay Master is going to know and it's going to sponsor my transaction and it's going to take a fe it's going to the cut how does this make sense compared to the web 2 again when I see a price of a product I don't care how much Visa or Master Card or anybody else is going to charge as like an intermediary for their for the usage of their Network to pay for a product I just want to purchase something down here uh and that's how it works in web 2 and it doesn't like web three because I need to pay and then for for the product of course and then every other like Network fees are also forwarded from the from the seller to the user or to the buyer which again like makes absolutely no sense and by the way I'm speeding through these because um again like 427 is not fun it's been here for a lot of years like um not implemented but like standard was here so I assume like a bunch of you here already knows some of this stuff uh so yeah we're going to touch on more fun stuff later okay um fun stuff later uh guess is now which is chain abstraction so um chain abstraction was mentioned quite a few times over the last couple of months um so what it is um I say I say I guess um this abstraction term a lot uh that's how we like to I guess reference St in crypto it's chain of fraction gas exraction exraction I didn't choose the it's just whatever it's sticky it's so yeah sorry guys there meant for this but anyways chain extraction um I'm a user and I have funds on whatever L2 is popular now base or something optimism I have usdc uh but I want to carry out a payment on whatever the seller wants which is maybe arbitr or U maybe even like ethereum and yeah I don't have FS there so should I as a user worry about this uh and do I do that in web 2 now so in web 2 do I have like separate B for my Visa and for my master card or do I have my bank account balance which is that which is then like able to be spent from whatever card I have um that's basically what chain abstraction does it's kind of like a bridge before you make a transaction Just In Time by the way uh there are multiple different chain abstractions uh we have just in time and Es code which is like requiring you to lock funds before just in time says okay when you want to make a transaction we're going to bridge funds and we're going to do it super fast and you're going to not notice like what uh you're not going to notice what chains used before and after uh it's all going to be figured out by the wallet and we're just going to carry our transaction at theend that's basically what it is okay um a bunch of this stuff is still requiring a synchronous action by the user like user intent I I have to click for something to be done um we finally have something like permission which is fairly New Concept by the way RC 7715 is my first ERC so I'm super proud of that of course in collaboration with other companies but uh I'm the one of the computers um but yeah permissions allow you to delegate um access from your account from your smart account to a key or set of keys in order to carry out some transactions at a later date without your explicit approval of course transaction has to follow um certain permission and policy to be carried out verified on chain this may be too abstract um so what it is is basically asking your account to give permission to the dab to do something um and then basically it's going to happen without you clicking later on the left is kind of something that we do now with Google uh when I sign in with Google and to some app of course um it usually asks me like if it's Gmail access or Gmail access or Google Drive access and then I rank it all good um and on the left you can actually see this is a screenshot from the live demo we have like our experimental environment where we ask uh the wallet to give permissions uh to like interact with donut contract spend up to.5 e in a transaction maximum 5 e for 30 days and session key is valid for seven days what does this mean uh this means that uh T can request permission a subscription for you or do any other like other automated payments without you specifically need to connect wallet and click again so less clicks for the user okay so um so far everything I talked about is specific to Smart accounts batching is 427 pay masters is 427 session Keys 427 again chain abstraction if you want it to work nicely uh it has to be smart account at the moment I'm not sure what the actual numbers are but if I compare the usage of EAS versus smart accounts smart accounts is like it's very low it's like miserably low like it's not even important um solution to this was an EIP that was recently introduced uh by metalic itself um that's the EIP 7702 what it does uh instead of uh you know last how we talked about the upgrade like let's we have EAS and we have Smart accounts so let's upgrade EAS uh to Smart accounts all at once and we fix the problems everybody have has like the latest features everybody can use whatever uh but unfortunately there's a lot of other potential issues with that approach so instead EIP 7702 was specified not as not as like a upgrade DRC but instead let's bring a subset of feuture smart account offer to EAS how uh as an EA I can sign an authorization and I can basically inject bite code from a deployed contract on ethereum into my account and I can execute it for the duration of my transaction which is pretty cool and this is uh like not I guess um theoretical it's coming in the next hardore PRACK it was like delayed from Q4 to q1 next year uh so if we have it by Q happy I guess because e Foundation lies to delay for some reason I don't know um this is the screenshot from the 7702 EIP and GitHub and um if you look at the like highlighted things the first one is batching like in 47 batching second one is sponsorship uh which is like the pay master in 47 again and third one is privileged deescalation which is a fensive way to say uh delegate in access to permissions or they call it so basically all of the features I talked about and all of the different VCS are able to I guess used theas and with this they are composed together into like a single experience um I talked about a lot of erc's I talk about a lot of um I guess different Tech kind of technical terms like how they're used I didn't even touch on like how to implement this because each of these terms like would require a presentation on its own honestly this is just like okay this is what it is this is how it affects the ux um the question is now who should know about this um does this mean like every dab needs to implement this does it mean that every wallet needs to implement this uh well we think probably not a huge percentage of wallets and apps already Implement wallet connect as the case and a bunch of this stuff is going to be shipped into wallet connect case itself so web web model recently re rebranded to app and web wallet recently rebranded wallet kit is going to contain basically every single of these features so no current dabs or no current wallets will have to invest their development uh time or engineering time to support basically every ux uh benefit all of these features of um lastly why current web fre app are significantly worse than the web two apps we use every day uh why do we put up with it because I guess we are the enthusiasts we are the crowd that's going to use the web fre app even though we know it's worse in every way it doesn't make sense it doesn't like do anything um still we like to use it it's like how you I usess Tech items every time I do that a lot unfortunately um but yeah if we change things around if we make vs actually better than the web through apps then maybe we have a chance to like bring some I guess Real World um usage from non- Enthusiast users uh but yeah that's it for me uh so if there are any questions uh yeah now thank you [Applause] questions we have a question your I'll take it back thanks uh so why do you think 4337 never became a practical thing okay that's a good question so um why why 457 never became uh used really much in the world like even though we have safe we have Arin we have DS or apps we really want to use it um there is the other counterpart to this I'm AAP now I'm a unislope um how do I batch transactions like I have e send transaction uh I have e sign message how do I send multiple transactions at the same time like the one side of the interface is developed the other side of the interface is like ERC 5792 that's only I guess it's not even merged it's still on PR from the last two months uh but before that like you know we we didn't really have a way to use most of this features we have available from the dab side because we're kind of stuck on go interface we still have for a very long time um that's number one number two all of these like features require custom infrastructure I have a wallet but then I need to find a Pay Master but then I need to find the bundler then I don't have transactions I have user Ops I need to work with the bundler I need to work with the p how do I do that it's a lot of additional steps than just signing and broadcasting transaction that it's just not a it's not feasible for even a big wallet to adopt we have trust wallet that like just two months ago as one of the biggest wallets uh released their smart smart wallet and that's still in like preview or Alpha version whatever uh and if that's the like biggest wallet we have also Pony base that release like smart two months ago like how do we expect every more to do the same money yeah so once we uh so once we have like this hips convenience like payment INF like transaction submission infrastructure how do we hold the infrastructure provid are accountable for all these interfaces and that all the libraries which are used are okay and like there were a lot of stories even with Ledger that I don't know somebody pushed some malicious version of the library and funds are no longer safe so yeah um so in terms of security a lot of this stuff actually can't touch your private key so like if you have a malicious bundler or a malicious pay Master you already signed a transaction like you're going to see beforehand if anything is wrong um so you just don't sign uh if you have a malicious bundler it doesn't broadcast your transaction it's fine use another one uh nothing's going to happen as far as like how do we make everybody implement the best stuff in terms of ux um that's all like hard question I guess to answer from the wallet connect side we are actually um doing kind of that uh we have wallet connect certified and wallet guard a wallet guard wallet guide um wallet certified is basically an Initiative for wallets to do a QA check basically do you implement the latest features do you implement all the ux standards uh if yes you're going to be promoted uh you're going to be higher up when somebody chooses all wallets connect uh you're your wallet is going to be higher up if not you're going to be basically lower down so uh that's the only thing we have so far and what's about using I don't know zero knowledge stuff to or it would be just too expensive yeah um so as far as zero knowledge there are a lot of app of that so um I'm not sure exactly what you mean like in terms of what like we can in terms of like like checking that RPC is like authenticated RPC to and checking that like some the version of the key li like yeah for for security we can we can definitely like utilize Z GRS and stuff like that uh to make sure everybody's playing nicely so far rpcs are not decentralized and wallets are not using decentralized rpcs so they don't need to like check if everybody the network is playing nicely because it's not a network it's a centralized provider I choose to use and it's the same for bundler and pay master I want to use this specific bundler because I'm going to make a deal with him to make I guess um to search charge on every transaction or something like that I'm not going to use a network of pay master so yeah so far I don't need to worry about somebody not playing I because I'm only playing with one player thank you everyone
Automatic transcript — names and jargon may be misspelled.