Everybody wants Account Abstraction.

ETHCC 6 · July 2023 · 18:51

Vincent Le Gallic makes the case for account abstraction through open-source SDKs and live examples. The EthCC[6] presentation focuses on showing tools that are ready to use, connecting the argument for changing account models to concrete examples rather than leaving it as a purely theoretical proposal.

Speakers

Topics

From ETHCC 6, hosted by Ethereum France.

Transcript

[Music] another other okay uh thanks for being here I'm Vassar garik and I'm the CTO of comet I will tell you the story of comet briefly to explain uh what we had to tackle the problem of onboarding to continue our growth and I will make a demo of a new solution based on the web attend and the account abstraction so comet is a company that runs game on Chen we put your economy the assets and engine of our games on Chen and everything ran on Smart contract we are develops crafting and Rental

protocols used by guilds and thousands of players over the past few years and you can believe me manage a game with 10 000 active player permanents on polygon minute was and still is a very big technical challenge when a blockchain network starts to have success D5 project arrive and take all the available blog space available sorry and gas Spike directly and impact the user experience and interacting with our game become very slow and very expensive and we have another problem we spend money to growth our user base

and in this model all wallets are happy because we bring them a new user on-room services are happy because we bring them new customers and polygon is happy because our players need to buy some Matic to to pay the gas but what about our players and what about us the final is so complicated that most user give up without being able to play a single game this conclusion for all conclusion is simple this model doesn't work to solve our own problems we build middleware scalability solution and Community engagement tools of course we

also use other Market solution but sometimes differences on other services have put organ don for several hours and our priority is to guarantee a top experience for a user if we have to build ambitious things for that we just build it so this is Comet and the alambic solution or layer 2 and boiler.gg discard but so we are not the only ones to have problems trying to build Fan Experience on the blockchain and we help several partners and that that is how alambique.tech was born and that was the Genesis of the project

and sorry for the long introduction but I have to to plus the context to understand why we need account abstraction right now so what's wrong with ethereum account so short and swear is external honored account I'm not going to repeat what everyone know and style wallet save citras buying crypto and manage the price of gas when I have to manage my transaction all the onboarding ux on ethereum is painful for new user and I think there is no debate about the ID that is not suitable for the vast majority of users but Innovation Tech times for 20 euros eBay has constantly improved its own page to provide a

better user experience on ethereum it's the same developers are looking for solution and overall there is a huge project a huge progress sorry but the challenge remains very difficult at recently mentioned by Nicola Baka and you talk about a concept action there is a trilemma that seems impossible to solve between a good level of this the good level on on this consideration and high security and the good ux and add it to this problem the currency theorem are going to design lacks flexibility because your eoa is bus your account and your signer if you lose your care you lose everything most people cannot afford this risk let's see how the accent abstraction

aims to solve this problem to create more flexible system we need to separate the responsibilities we pass from an old model on the left in which the eoa managed by your metamask for example is both your acquainted your signer to A New Concept on the right on which the account becomes smart wallet the notion of acquaintance becomes abstract and each project can then decide to implement their own logic and I couldn't abstraction and like many benefits for the end user by transferring the user authentication from the network to the smart account you can for example recover your account if you lose your K or send gasless transaction or batch multiple transaction for approve and execute in a

swap for example and you can Implement multiple validation logic to support different elliptic curve and I will talk about this topic in few minutes I can talk about account abstraction without talking about ep4337 and this proposal emulates a quint abstraction an ethereum that is not a secret for developers ethereum does not yet support the contraction natively and vitalik talks this year at HTC is about world story of account abstraction and if you want the worst way you can check the savitaric torque our vision of account transaction is when you are paying the bill in an expensive

restaurant in Paris or paying a boost ticket does not require the same level of verification in a contactless payment with your credit card knowing the above 50 euros the payment will fail allows the user to reduce the verification process this is the reason why Alice is so confident in this picture because suspending limit rules is on first at its account level even if the wallet of the DAP is wrong or tries to scam Alice the payment will fail but allowing user to make frictionless transaction on blockchain remains a big technical challenge for developers and this is the reason why we create a SDK

for that so just before doing the demos this is an overview of the architecture of the solution so SDK support many different ways to sign a transaction and the SDK sends signed message to an API that wraps the signed message and sends a transaction throughout the smart contract and this is safe actually and the smart account executes the transaction only if the signature issued by the owner is valid so let's go for a demo uh if you have a mobile you can scan this QR code and you will create a smart

account with biometric signature and uh we will uh you will mint an nft so I let this search work out the 10 seconds without internet this demo doesn't work yes many too many people on the front end at

the same times okay um all my teammates here are my technical team so what is the problem please it is working on your phone or the same okay and I think uh bring all people at the same time of web pages is still a big problem okay um maybe I have a video of the demo I always have a video for the movie

um it's it's very weird we we tested demo maybe uh 100 time okay too bad um trust me this demo is working just five minutes ago you can bookmark this link and just test in 10 minutes and and you will see the experience so I can describe user experience you just have to put your finger to create a wallet in the section club we deployed a smart wallet and we just meet mint and nft on polygon mainnet so I'm

I'm very disappointed oh it works let's go I know I have to register myself to create a profile to create an ethereum profile so I can put oh okay okay I give up um so what's wrong we use Weber 10 to to sign our message in the section club and what is weberton webberton is a is a standard an open standard supported by sorry

up supported by all mobile device because it's pushed by Google and Apple it's based on public key cryptography like ethereum and the DAP never access the private key the sexual Club is a separate chip explicitly designed to under sensitive operation related to security and privacy the important idea that before Weber 10 we as developer had no way to sexually store secret from a web application no thanks to weberton we can we can do that foreign and this demo shows a usefulness the usefulness of acquaint abstraction we change the verification logic arecoded in the evm by a new verification to

support Weber 10 elliptic curve this part was done in partnership with Ledger and I recommend you to watch the Ronald talk about gas gas optimization I'm not going to win all the step but you just have to remember that at the richest at the registration step the private key is generated in a secure enclave and a smart account is deployed controlled by the derivative public key not that for optimization reason the safe can be deployed only and the first transaction because the computation of the wallet address is deterministic for the for the authentication flow we use it to sign the transaction intent you just need to understand that we are

using Weber 10 signature to sign the user's intent to make this transaction with data and the the target smart contract the signature of the meta transaction is made in a secular club and our API is rapid in a transaction and send it to the smart to the smart contract is it ready for projection use yes actually but I think the front end of the demo is a natively or a cloud services bad idea all this uh complete all my demo is completely realistic on Layer Two and we are integrating this solution into the next version of our game

and you can come on our boost to for a demo of this game this is a brand new version of comet this is Cosmic battle and because we are going into projection we can't ignore some issues the question is can I use my account on a multiple device yes you can with trusted device management you can authorize a new device with your font say Okay I want to use my profile on my iPhone on my on my MacBook Etc and what about the the if I broke my device and I will focus on recovery method because user can lose their device then then be unable to use it for

web button authentication several recovery method exists sorry uh with your Google or Apple account you can you can backup your keys or you can use social recruit like and allowing user to designate friends or family or other trusted address like your your Ledger for example and in the event of lost wallet Guardians can initiate a recovery procedure allowing the user to regain the the to regain the access to the smart contract not that the Guardians never own the smart account in Orange phones and they can only initiate a recovery process and so that authentication can be very useful here a figure about integration this fuel

line of code are enough to generate the flow of the demo with the creation of the wallet and the gasless transaction and we are ready to use adapters to implement a good abstraction functionality with any signer and you can use your your own signer if you want but for the when you want to use a web Button as a signer you just have to to to to to give to give a parameter to say okay my signer chip is y button and with this four lines of code the the flow of My Demo but maybe at the end of my talk I will write High the demo conclusion three recommendations when my third show your service before showing the wallet

web wallets are coming because web2 users want value before friction they don't want to install a wallet right away they come to use an app or play a game and let them choose later we have to adapt the security to the profile of our users smart toilet allow grid flexibility and depending on user profile and context some user will take control of their safe with their own security policies for anterior interoperability or clear sign or spending limit but this solution meets the need of 99 of user when they are discovering your application and finally gradually show the program of wallet the ID of progressive wallet disclosure in the way is the way to go in my opinion

for ethereum adoption but remember that abstraction is not suppression don't take bad shortcut like I'm going to manage my user keys in my back end it's easier it's not true and anyway you have to be regulated and do a koic for your user in French if you do that and it reduces security you inherit a lot of problem and in the Reps redesign each user has a wallet it's at the heart of the value proposition of address of a decentralized network for for all these reasons we are sure that multisig wallet or smart account are the solution for the ethereum onboarding challenge thank you for having me uh if you want to try your solution that combines the

centralization security and good ux you can check our dog test or SDK and because uh I really want to show the demo I I take one minutes to retry up okay so my computer asks to access to my sexual Club so I have to click to continue I have to put my finger on my mobile versus Vice ID because I configure files ID to to secure the access to my section Club

in this step a smart toilet is deployed on polygon mainnet this is safe and we put as a owner the derived public key of the private key generated in my second Club well I think I repeat this for maybe 20 times and I can click here to Mint my NFD again I have to authorize the access to my private key video my finger crazy and I want to show you the take charge

of the transaction so hoof thank you [Applause] so this is my smart account this is safe and I can't show my wallet here and uh here is a list of my trusted device and on the next demo we will show you how to add trusted device and and how to add the guardian Etc so thank you very much and if you have any question here we go or we can talk later I don't know if we have time [Applause] any question

does someone have questions please thank you thank you [Applause] [Music]