# ETHWarsaw 2023: Ruslan Serebriakov, Trust Wallet - Account Abstraction is coming

- Channel: [ETH Warsaw](https://streameth.org/eth-warsaw)
- Date: 2024-10-07
- Duration: 19:42
- Watch: https://streameth.org/watch/yt-j_NdFcrjkCI
- YouTube: https://www.youtube.com/watch?v=j_NdFcrjkCI

## Description

Presentation - A brief talk by Ruslan Serebriakov from Trust Wallet. This presentation delves into the importance of secure and user-friendly wallet solutions for blockchain users. 

Follow us for more updates: https://twitter.com/ETHWarsaw

## Transcript

hey guys uh my name is roslan I'm an engineer in trust wallet uh but today's talk I'll try to make totally non-technical uh I want to just give an overview on account obstruction from the perspective of the wallet and try to explain you uh what are the current issues that we having with the with the trust wallet basically with the EA wallet and why we think that accound obstruction is really cool and may be able to help us solve those so I'm going to just uh dive into all the problems we see from the user feedback right now let's go first one people always lose their seat phrases so for the past like 20 30 years we've been saying people please don't write your passwords on the paper please don't tell it to anyone and then after 20 years the blockchain comes and say please write your 12 words on the piece of paper and store it somewhere in the safe location and everybody is like what is this and then also because of that people treat their seat traces as a password so there is like a mental concept of something secret that unlocks my funds or whatever so when they lose their seat phrases they always contact us and say can you please reset our password or our seat phrase and we say we cannot reset your seat phrase and then everyone is angry and everyone is mad and uh this is some concept that like people still don't get and if they want Mass adoption I don't think they will ever get it so there has to be a different solution next one is uh your let's say trust wallet or any Mobile Wallet it's always on your phone it's a hot wallet which means that you don't want to store like I don't know your life savings tens of thousand dollars on your phone that is super easy available and accessible because you can get dropped on the street the guy with the gun will ask you to transfer the money and there is no protection you can do it all so people don't really treat mobile wallets that much as a you know something that they store money it's more like a cash thing when they just like try some things in defi but let's say their life savings will be on like binance or something which is even worse uh yeah uh then another thing is the gas the gas is another alien Concept in this world a lot of people uh let's say they open uh they download a wallet they want to use it just for stable coins let's say just to store some money on there or maybe transfer the usdt to someone they Dr it up with usdc they try to transfer it somewhere and they cannot transfer it because now you need ether to do transaction which is again why do I need ether if all my banking applications I always pay fee in the same currency that I do and then they go they try to buy ether then they see there is like on RAM there is a kyc you need to do there is like maybe $50 minimum amount ether you can buy and like people totally get stuck with that because like if you bought let's say if you just try in your wallet you top it up with 10 usdt and now you need to buy $50 of ether just to do anything with it that really looks like scam then I think you're all familiar with like approved swap when you do any kind of defi uh transfer so basically in order to swap any token to another token first you need to approve uh most often the unlimited amount of tokens to some smart contract that probably have no idea what it does is it secure or not and then after you done this unlimited approval you wait for a bit transaction confirmed then you need to swap which is very very very not user friendly people do it because well there is no other way and then they first they endanger their funds by approving unlimited amount of tokens to something and also like having B ux and just go back to Central exchanges and then there is also Apple comes and they say hey we want 30% of all of your transaction because you need to pay like for your for anything that happens in your app and uh you know I think they they listed coinbase vaet while ago or like ah they uh removed the nft function there because they said that coinbase has to pay 30% of the gas fee to Apple uh without like even understanding how Gas Works uh and uh that's another problem that also trust V is having like there is always like talks with apple they don't want this they want that they always want some card and they don't really understand that it's impossible to have 30% of the gas fees anyway a lot of issues uh happening in the EA wallets and uh in trust vet We Believe with smart contract wets it's actually all can be solved and uh we see it as a good good opportunity to improve the ux and on board new people and reduce all the friction that is happening right now with the web3 on boarding um I'll try to explain a little bit like a high overview what are smart contract vots well shortly it's a wallet that is your smart contract and has some additional configurations and uh the main differences with smart contract wallets comparing with the actual like EA wallets like metamask is how the ownership is Works basically who owns the funds on the wallet and also how the transactions are submitted on the blockchain so I will have ownership architecture transaction architecture and I'll just go slowly like over each of those so in terms of who owns the vol um this let's say for the EA for the regular seat price wallet right now you have a address you have a private key to that address private key can do anything related to that address and that's it when it comes to Smart contract qu uh there is also similar control there is a signer that controls all the funds that are uh present on that smart contract so there is not much difference uh what actually different is that you don't have to have only one signer that controls everything you can have one sign ER that controls something and then there are optional capabilities of different signers that you can add to your smart contract so in that case you have a Aigner that controls let's say specific amount of funds on the smart contract and if they want to do let's say transfer more funds or like do some actions that are not really approved then they need the approval of different signers so that unlocks us uh a lot of things for example you can set a new pneumonic phrase in case the previous one is lost so now we can reply to the Cs tiets from our users which is if you lost your SE phras actually if you preet some way to recover it you will be able to recover it even if you lost it in that case basically what happens is this is let's say this is the seat phrase it controls the funds the seat phrase is lost there is another uh signer that is ledger and signer can reset another seat phas to this wallet and then the funds will be recovered so you can solve this problem with people losing their SE traces and losing their funds forever and another thing you can do you can do additional approval for large transfers so as I say like you have your hot wallet on your phone you get robbed on the street by the gun but that wallet can only transfer 100 usdt per day and if you want to transfer more you will need an approval from your friend or from your Ledger or maybe from your browser extension at home uh to do any transfer over 100 usdt so in that case you can store a lot of money on your wallet and it's not going to be in danger because you have like better protection with the cold VA or whatever and you will have to approve all kind of large transfer there and this these are just a couple of examples you can do a lot of things with this additional signers that's why it's smart contract because you can configure basically everything and that kind of helps people to own their wallets more secure and confident when it comes to transactions is getting a little bit more complicated um yeah I'm not going to go much into details what I want to tell you is that let's just briefly compare EA and smart contract qu uh so EA has trans transaction goes to the mol uh there is a note or validator they P transactions one by one from meol and they submit it to the blockchain uh with the ERC for 337 which is the current standard for smart contract votes on let's say ethereum ecosystem there is an alternative mol for smart contract wallet transactions only so there'll be we have the regular mol with like default wallet scner doing their stuff and all the smart contract votes will submit the transactions in a different meol um what it allows to do it allows to introduce a new guy in the middle which is bundler and uh that's that's the first big difference that happens uh with the smart contract vote comparing with Regal votes this B this bundler they take all this like let's say three transactions from the smart contract vot mol they bundle it together and they submit all of them as one transaction uh basically you can imagine like uber you have a bunch of people they share the same Uber and they all go to the same destination uh and why it helps it helps those people save money right because they only need to pay once to get to that destination and the same thing happens on the blockchain because there is a bundle transaction the cost of initiating this transaction will also be shared with all these like smaller transactions which means that essentially they will pay less for gas and that get gets even more cool with the different uh let's say signature customizations you can do the thing is called BLS and you can aggregate the signatures where like simply saying you'll have one signature for whole bundle and that might save your gas even more so it's kind of like uber share for transaction which helps that here and uh another cool thing is that uh here you can solve the gas problem so uh there are entities that call pay master that kind of uh manipulate how the gas is paid for every single transaction so if we take the same example with Uber uh let's say you have a bunch of friends you take a big car you go to the destination uh one person pays for all for that Uber uh in that case that's the bundler bundler first pays for the whole bundle of transactions and then that TR charges you one by one in different ways let's say he charges you with cash another guy with a credit card and everybody pays their part of this Uber right to that guy that paid for everything so here bundler submits all the transaction bundler pays gas for the whole bundle and then bundle bundler charges the people who send those tx1 tx2 tx3 one by one in different ways so let's say someone will be charged with a usdt or some token uh for someone this transaction will be covered someone will be charged with Apple pay so then the bundler together with pay Master they take care of every single transaction one by one and that helps you to solve that another problem with the gas that that can be configured and in that case you can allow your users pay gas in the same token like if they have usdt on account they will also be able to pay gas with usdt or with Apple pay or whatever and that solves a lot lot of concept and struggle what people have with gas these days so just a final overview let's compare the main differences EA and smart contract wallets and uh see why we think smart contract worlds are better first one if 12 wordss from your EA is lost your funds are gone there is no way to recover if 12 wordss from your smart contct V are lost you can still recover that if you predefine the recovery method for EA every transaction requires a single private key uh that's the ownership thing for smart contract wallets you can uh require for specific let's say super big transactions you can require multiple Keys like a multi or like you can configure it in whatever way you want for EAS gas fees is always paing ether or BMB or whatever is native gas token on the chain for smart contuct vs gas P can can be basically everything it depends on the wallet provider how they configure that uh with UA one user always sends one transaction with smart contract vs many transactions from different users will be bundled as per esfc 4337 which also as I said might save gas uh for a lot of things and uh another thing about I think I didn't mention before uh for EAS tokens are always swapped in appr proven swap so another big problem that you users don't understand and they always approve unlimited amounts for smart contracts for smart contract vote you can also uh bundle any kind of steps together I think there was a good presentation about intents and like that is also something that's unlocked uh very cool with smart contract vots so you can bundle all kinds of R you can bundle approve uh 10 tokens and swap 10 tokens right away and there will be single transaction or you can do like more complicated things with the defi protocols and stuff all in the same transactions thank you uh that was pretty much it I really tried to make it not very technical and uh if you have any questions I can answer yeah sure uh uh so first of all uh when you initiate transaction on ethereum you have to pay 21k gas just for initiating the transaction right and then when uh when many people share their stuff in the same transaction they also can share this 21k uh so that's the first thing yeah uh and the second thing uh so BLS is the so basically in U in smart contract wallets you can have different kind of like signature schemes there is a elliptic curve uh the same one on ethereum you can do like bu Keys which is elliptic curve but different and there is also BLS I'm not super familiar with the technical details of how it works but I know that simply it's basically you have a bunch of transactions but all of them have a single signature so let's say normally for every single transaction you need to check every single signature and make sure that everything is works for this kind of scheme you only have one signature and for all the transactions and there is only one step you check that signature and you make sure if it's correct and if it's correct means all the transactions are correct so that also saves gas uh on l2s I didn't see any actual implementation of that so it's still like a theory but uh I hope it's coming um yeah anyone sure how different smart conts smart contct wall similar or same like for example is it any difference or any other can they do or do they do all the same stuff more or less are there some differences if so then what are differen anduse one yeah I think when it comes to actually smart cont wallets there will be much more differences between like individual products products uh comparing with EAS because EA doesn't have much customization uh so when it comes to Smart contract wallets basically every single wallet is the whole new smart contract let's put it this way so different wallets will add different capabilities and uh like uh the basically I think the main things that you can customize the first one is the signature scheme let's say some people will make their Wallet work with seat traces uh some will do it with NPC social logging some will do it with pass keys and like your face8 whatever uh so there will be different signature schemes for different wallets uh then also when it comes to the gas some wallets May charge you only like usdc usdt or the native token some wallets can do any token and like whatever token you transfer you'll pay gas in the same token some wallets can do it with like Apple pay or like free if they want to sponsor and like spend money on user acquisition so these kind of things can be configurable and then also uh the very important aspect here is the security because there is much more code uh that needs to be audited comparing with the traditional wallets so I would say there may be some wallets smart contract wallets that may be not as secure because everyone writes their own implementation and uh everyone can make mistakes so that's something also uh that needs to be careful about because uh when you use something that has connection with smart contracts you need to make sure it's audited and it's really safe because there is like more danger there yeah y uh it does exist so there is Argent uh there is a safe they are not that let's say Mass adopted for different reasons I think safe is more like uh the tool for big companies to manage their funds they never focused on actually individual users for Argent uh they are I don't know they are really focused on things like Stark net uh Z sync and they don't go into like all kinds of evm chams but when it comes to also I think safe and Urgent they all work in a different way and the shared standard of how smart wallets has to be implemented is only kind of appeared this year and that's why everyone started building on that standard and that's why like you see account obstruction everywhere so it's really getting popular only this year uh and uh I think a lot of wallets a lot of big companies they do their own implementations on that so I know that okx just released smart contract wallet uh metamask is doing something with snaps and uh basically all these big companies they are trying to experiment and I would expect like next year will be a lot of smart contract vs released and we may switch there so every yeah probably everyone will have their smart contract it's probably you mean for deployment uh wallets can pay for that or users can pay for that so that's why in uh in a lot of basically that's why in smart contract vets when you do your first transaction it's usually more expensive than all the transaction after that because your first transaction let's say you send 10 usdt someone and the actual transaction will be first step deploy your contract Second Step 10 10 USD and that will cost more gas for you so another like disadvantage of smart contract vs is that you you need to pay for deployment someone needs to pay for that it's not free although it is kind of free in Native account obstruction blockchains like ZK sync Stark net so it's better there but on EVMS there is this overhead and another thing I think I didn't say is that gas fee will always be higher for smart contract wallets comparing with EA so it's also a trade off between uh something that more user friendly but also more expensive so you would expect like more Pro users they know how to use seat Races they know how Gas Works they would not really use Smart contract vs because they're more expensive but then for new users on boarding maybe they don't mind paying like 50% more for gas but also having it very simple and like not being scared that they're going to lose their paper with 12 wordss so there there are lots of trade-offs there yeah cool no more questions uh one more um yeah no I I think uh so the currently how uh I was like implementing that it's basically you as a service provider you give your like your user a quote and the quote says uh this is the gas you need to pay it's like the maximum amount of gas you need to pay you may pay less but at least you have to have this kind of amount of money and then kind of uh the bundler uh Aggregates all the transactions and they know that they will pay maximum of this so it makes sense and then they submit another blockchain so you always get the maximum amount you're going toay have to pay and you have to agree to that okay thank you [Applause] everyone
