Web3 UX from a Wallet point of view - John Odey
Web3Bridge·Wed, Oct 9, 2024, 12:00 AM
Speaker
Transcript
good morning everyone uh my name is John OD um a SP contract developer at Nami right and um unfortunately Umi got my topic wrong right so I will talking about um how uh the user experience of um web three um protocols generally right but I I'll be taking um the angle of um the crypto wallets as the case may be so I so uh most times when we look at um user experience we tend to focus more on the the protocols yeah maybe the ethereum the polygon and the likes but that is one aspect of um user experience right so today I'll be talking about um web 3 ux from a from a wallet point of view right so um I don't know I'm trying to make it an interactive session so I don't know how many of us I think yesterday we were giving background on um the blockchain and how the blockchain works right so um did we get to talk about crypto wallets does anybody know what crypto wallets is crypto wallets all right please uh sorry Mike Mike mik yeah I don't know these things so I'm just here to have a conversation right um so basically wallet uh used to hold your asset can can you hear him I so basically wallet are used to hold your digital asset okay they are used to hold your digital assets basally your keys and everything all right all right is there any contrary opinion to what wallets are please so um basically wallet software that um helps you manage your private Keys which are like representations of your accounts on chain all right that's beautiful right so um like you said wallets are what software or application or devices because we have some devices that are actually like crypto um wallets that are not technically softwares right so we'll be talking from that um perspective so next slide please oh sorry all right so um we've already um defined what um crypto wallets are yeah so and we already know the roles that crypto wallets play in the web 3 space so they used to what to store our digital assets and also store our keys that we use in what uh signing transactions and the likes so for us to be able to onboard the next billion users there is a need for us towards to um to rethink the approach that we are taking currently when it comes to web3 wallets right we know that um the onboarding process for getting a web3 wallet is quite cumbersome as as now right and you have to do lot of things like manage your private skis and whatnot so um that brings us to the major key us challenges that we have in web 3 space right now when it comes to wallet so the first one is that the onboarding process is quite complex right so we have complex onboarding um we have um the user pH H the user interface are not quite intuitive and the Gass management so we have to learn about okay how do we manage gas sweep once there is a spike in the network how do we um manually increase our gas Fe so that our transaction can be um attended to before others right then there's issue of um security and privacy yes so so there self- custody risk and um there's also cross chain interaction So currently we do not have any wallets that can use on uh maybe an evm compatible blockchain then take it to maybe a Solana blockchain or what not so there's always a need for us to have multiple wallets across multiple um blockchains which is actually like um problematic so so keep track of the private keys and whatnot so um for my talk today I'll be uh focusing on three main ux challenges that we have here right the first one is um simplified onboarding and Key Management so um currently what this is the current state of what we have right so we have um social recovery wallets so social recovery wallets are majorly multi I don't know how many of us have heard about multication wallets before all right so um multi yeah you can actually use um so so multi like like agent and generous save so for us to if we have a wallet like this um if we eventually so we have a wallet that has like multiple signers so you can add let's say um four people to your to your safe so your wallet so whenever I whenever my key is compromised so user cannot um the the person that took over my key cannot actually take over my crypto because it requires some um some other um signature for a transaction to actually pull through so in as much as this is an attempt to make the unboarding because management of private ski is actually hetic right you don't know do do you store it on chain do you write it on paper how do you even manage it so there is no there's no foolproof system of managing um the the crypto wallets and the private key right that is why um the guys at agent and J safe came up with um a way that you can actually if let's say you have five signers so if you don't have four over five of those signature there's no way you can take over that particular account so the next one is um wallet as a service so um thorus right the guys behind web three so for for for them to make onboarding easy right they they wanted to create like a web two kind of feel to What's um the experience that we are having now so whereby you can sign up with your um Google accounts then um underneath the hood they generate your private key so they they share it into three shares using uh MPC I don't know have anybody heard about NPCs before so NPCs are um multipass um computation right whereby a your key your private key is not stored right it is crypto cryptographically encrypted into three different shares right you you hold one on your browser one is associated with your um the login um social media um that you use and the other one is stored on the Tauros decentralized Network which is run by a couple of guys I think binance and the likes so with that we have a web two kind of f so then you ask how do you sign transactions right when you are using um a social a social login while interacting with um web three ORS so the thing is for for you to be able to sign any transaction using um web theot right the there there are three key shares like I mention mentioned earlier so there is one on your browser there is one on the that is associated with your social media and and it's one that is managed by the Doros Network so usually when you log in so get the one from the social and the one on your system so you have two out of those three shares so you can actually sign any transaction so those signning takes place under under the hood so there's no need for um popping up of metal marks and the like so you have like a web kind of um feel but there is a problem with that so this um this um other key store right is um inst stored on your browser so you can actually look it up on your local local storage then if I have access to your uh what's it called your social media handle I can actually um compromise this um this particular wallet so that is one of the drawbacks on this although they've done a lot of great job but that is part of the limitation so we move to the next one right the next one is account abstraction right so how many of us have heard about account abstraction before all right all right um Can can you uh please can you explain to us what uh don't worry don't worry we are here to learn I I actually don't know what account abstraction is just help me help me help me yeah you can pass you can pass it's just uh more of like uh should I say a way whereby an account is ah Jesus Christ sorry for putting you on the spot I'm I'm actually shy you can see that I'm struggling here no you can okay you want to phone your friend no no no no so account abstract is just like um abstracting simplifying managing of account just like you know having like the same thing you talk about metam Mas popping up multiple times you don't want to allow like users to go through that stress you want to abstract it make it more easier and simpler just just all right thank you so uh for um AA right we know that um there are actually two types of um wallets right so I mean there are different classification of um wallets generally we have self custodian and non custodian then we have the um so when we talk about accounts right we have two type of accounts we have the externally owned accounts and the smart contract account do you get so the problem with um externally owned account account is that you have to manage the private key right and the problem with um smash contract account is that you still need an externally owned account to interact with your uh smart contract account for you to be able to carry out any transaction that you need to carry out so that is like a bottleneck right so um the guys at um um ethereum foundation so they proposed um AA to be one of the ways that can have better user experience right when when we are interacting with the blockchain so it's just a fusion of the externally owned account and smart contract accounts so what's what it does is that the account is actually a smart contract account then you can connect any externally owned account yeah to interact with the smart contract account and if that externally owned account is compromised you can actually change the ownership of um you can actually from the smart contract can actually change the ownership then um you have charge of that particular account although one of the drawback is that we are still interacting with smart contracts right the popup will still come so it's really not an effective way of solving the the US issue that we have so all right so uh that's start on um simplified onboarding and Key Management key management is actually very very very tedious I think um the closest to the web2 experience that we have is from these guys at web3 o yeah because you have like a web to VI the signing um is done underneath the hood yeah you don't have to pop up uh multiple times for you to approve a transaction before swapping and the likes so it's it can be very very tedious I just want to swap it should just swap I don't want okay we have to approve the contract spend this we have to do before you can now actually swap so um we move to the next one right so improved security so I I talked about NPC based wallet which is um the approach that the guys at web 3 and fire block are actually um taking now but there there's still a problem with that because there is a there's a centralized party to that like I mentioned when I was explaining how web 3 or works one of your key share is managed by the toos team so there is still room for it to be compromised right if the taus guys are actually Bad actors right so although it will be difficult because they don't have access to your your browser to get another key share that they can use to um compromise your uh what's it called your account so we still have a very long way to go when it comes to getting the decentralized um wallet to work the way we we would love it to work because to onboard the next billion user there is a need for us to you you can actually come up with a fusion of all these things I have mentioned and you would there's a market for it because still there's still a struggle with um the crypto wallets and the user experience it provides to us so um in conclusion right simplifying the user experience when it comes to crypto wallets would actually drive mainstream adoption because a lot of people are still trying to understand why do I have to pay gas why do I have to manage my key can't you do it like the banks that can't you provide security for me I don't I once I once I U my password is compromised I just want to reset it just the same way we do on uh when it comes to MPCs then um security security and privacy are are the use of um the keys the keys so once we can simplify the way the security when it comes to managing our private keys right it would actually make a lot of sense and the future of um web three depends on making wallets accessible to the ordinary user so you don't have to be technical for you to be able to interact with uh um the blockchain so um thank you this is a round of applause again for him thank you so much John and I'm sorry I got your topic wrong but I think we should look at the bright side are it oh okay okay someone has a question for you so let me just so I wanted to ask like for account abstraction others the metam Mas doesn't need to come up every time for these are to sign interaction right right right is that correct um so um there's no implementation of a on metam Mas currently okay like the user doesn't have to like explicitly send interaction all the time yes not all time okay so what if like the action is by mistake like these are click the button by mistake or something so the these are keep paying gas fee all that so um when it comes to sorry I didn't get that when you mistakenly do what what if okay now I feel like metal mask or for example I'm using met as an example it makes us sure like you want to do this now with the making it making a good user experience whereby the wallet doesn't come up all the time for you to sign in Transaction what if the action was a mistake like what if like you clicked on the button by mistake is that what I'm try to say yes and then you keep keep paying gas fee every time you make that mistake so like I mentioned right when it comes to AA is a fusion of externally owned accounts and smart contract accounts right so sometimes most times you actually initiate the transaction from your externally owned account it's just you use that one to initiate the transaction the transaction is done by the smart contract um the smart contract wallet itself but you need an externally owned account to initiate the transaction so that's the current implementation that we have maybe tomorrow there might be an improved implementation of that but for now that's what we have you have to even you have to in instantiate the um the transaction by externally own account the only upside to it is that you can actually change the externally owned account that is that is connected to um the smart smart contract account okay hope that was okay hello hope you satisfied with that all right and that question okay we'll take just two more questions and we round it up come can yeah um thank you for the discussion today so my question basically it's on um account abstraction so um I think yesterday a speaker gave similar but he talked about pay masters okay sorry so he talked about pay masters right and he was saying something around pay masters that um let's say you want to build like social media when web three and you don't use us to like kind of always pay right you can connect it to a pay master and then the pay Master will be the one to sign transaction on behalf of so but my my thinking now is are you the one to fund the pay Master to carry out all those um or how does the pay Master really work yeah all right um pay masters are actually um for platform that wants um that wants to um give you like um a gasless a gasless um um transaction right so they actually pay for the transaction so you get so you approve the pay masters to actually sign your transaction then they pay for it right there are different approaches to it based on your own implementation right so if I want people to just fund um the pay Master then based on maybe subscription maybe you fund um your pay Master 1 E then you can actually carry out X number of trans action for that particular it so it depends on the um the implementation by the the guys that that um actually runs the um account abstraction so it's it depends right ideally we are supposed to pay for it but some platform like you said maybe a social media platform and they wants to give you a seamless feel a seamless you ux then they pay for it so it depends so but most times the pay Master is actually the the um the um from the owner of the platform so they just carry out those payments on your behalf so it's gasless because someone else is paying for it hello sir good morning morning so my question is um for the account abstraction yeah so the transaction are you doing like if you initiate the transaction is it the part of the key you will use to sign the transaction or like you want to sign the transaction for you after initializing so coming in please like I'm I'm asking about the account abstraction you said that like something like MPC yeah the um NPC is quite different from AA okay yeah let me say uh if you signing the transaction if you call the smart contract for the account abstraction are you doing any like uh is your key do want that to sign the transaction no it's the pay Master it's the pay I'm not talking about the pay Master implemented one like when you call the transaction you call the smart contract yeah you are supposed to sign the transaction bar so what I'm asking about is like he is asking about metam will not you say like metam will not pop up when you like send the transaction so am I the one sending the transaction or they are the one siging the transaction for me so um the transaction is that you are actually interacting with your smart contract wallet right okay so once you do that it's just like calling um a smart contract calling another um smart contract so you interacting with your own smart contract wallet right then the smart contracts initiate another transaction which means you are the one paying the gas B yes that's what I'm trying to get thank you
Automatic transcript — names and jargon may be misspelled.