New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Evolving UX With ERC-4337: Slow Start to Fast Adoption | Ethan Francis - Particle Network

Ethereum DenverWed, Oct 9, 2024, 12:00 AM

Speaker

Ethan Francis

This session will explore the current state of ERC-4337 and its present impacts on UX. Specifically, it’ll dive into the core points of friction that have slowed adoption of AA so far. With these established, various solutions from across the industry and their impact on UX will be discussed. APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply

Transcript

[Music] all right I think we are good to go perfect okay so this is actually my second talk on the stage over the past few days and this is now the third day of eth Denver and I'll say the same thing that I did during the first talk which is that it's great to see already so many people here before the main event starts so I'm actually particularly excited for this second talk of mine um because it's a little bit closer to kind of what we're building here at particle network uh which is uh a lot of account abstraction related products and specifically there going to be a very interesting kind of topic and angle that I'm going to be going through on account abstraction today which is kind of understanding why account abstraction is maybe been adopted slower than you could have expected given its impact on user experience so we're going to go through this um kind of with this specific agenda so we're going to start by kind of first defining what ERC for 337 account obstruction is um what does it mean for user experience how does it actually impact applications and the possibilities within it from there we're going to go into the state of account abstraction through ERC 437 so to what degree has it been adopted um how many user operations have been executed and so on from there we're going to go through kind of what's next for cration so as you'll see within this second part uh adoption hasn't been maybe as good as we have expected so far or there could be uh some room for improvement so how we're going to get to that point how we're going to solve the remaining points of friction for account raction to make it truly a mainstream product that actually drives this idea of the next billion users from there we're going to go through kind of two key components of the general adoption of account abstraction or of kind of ux centric Technologies in general that a particle we feel are very fundamental to the uh kind of improvement of user experience throughout the ecosystem so first what I want to do is go through kind of the timeline of account abstraction I'm sure you guys have heard of this term plenty um what is a account abstraction its impacts on user experiences probably isn't uh kind of a new term for many of you but account construction has actually been kind of an initial idea for a long time now since 2016 with the original kind of proposal for ERC 437 uh being done in 2021 now ERC 437 in terms of an actual implementation wasn't live until March of last year so whenever I go through some of these numbers in a moment keep that in mind in terms of you know uh account obstruction through the standard is still very very new to the ethereum ecosystem and of course the numbers reflect this but uh they can definitely be better as well so as a quick overview if you didn't understand what I just said regarding account abstraction what it means uh the easiest way to understand it is basically a transition from externally owned accounts which are kind of the standard account structure within the evm ecosystem used for things like setting transactions and uh you know receiving tokens and interacting with contracts and so on transitioning from that to Smart contract wallets which essentially allow for the same Tye of interaction but through the means of a smart contract so there's kind of a few key differences here that are important to understand uh the first is that externally owned accounts which is probably what most of you use when it comes to metamask or any other typical wallet um these are secured by single points of failure so private Keys um as soon as your private key or seed phrase gets leaked your uh the control over your account is also revoked it's given to whoever took your private key um this is a pretty major issue for a lot of reasons and it's as a result uh we see a lot of breaches and loss of funds um specifically through the the loss of private keys today additionally Beyond just the kind of security implications of using an account with a single point of failure um external accounts also just have a very limited range of functions they're made for very specific use cases of sending transactions and interacting with contracts and that's about it they aren't programmable as a result of this limited range of functionality and if you lose your private key if you lose a single point of failure uh there's no chance of recovery Whoever has that private key now it's their account essentially now the good thing about EAS is that creating an account is is free and whenever you create an EA or you start using it that's the same address the same kind of interface on every other evm chain that you use which is great this kind of creates a unified standard for users and of course it's kind of easy to understand whenever you're interacting across different evm blockchains so why do we want to move to Smart contract wallets well it's actually primarily to solve kind of those three points of red right there um which is number one smart contract wallets are intrinsically programmable so these are interfaces that you can program to basically have any arbitrary logic that you want do you want tofa do you want Guardians do you want gasless transactions Etc this is possible through smart contract wallets and isn't necessarily possible through EAS additionally kind of like I alluded to just now um these have very flexible security so while EAS are basically just Bound to You know one private key and how you can secure that smart contract wallets extend this pretty far to things like I mentioned TFA social recovery Etc and again this you know uh goes in tandem with the fact that they aren't usually bound to a single private key you could have multiple eoas that own parts of a smart contract wallet or you can have one smart contract wallet that has different security features that again make it you know beyond this limitation of one point of failure via a private key finally the kind of one downside to Smart contract wallets it's not a Silver Bullet by any means um is that they aren't free to deploy because these are smart contracts at the end of the day so if I want to use a Smart contract wallet on a chain that needs to be deployed and that cost money so this is uh one point of friction But ultimately you're going to have more benefits moving to a Smart contract wallet via ERC 437 than you would by sticking with an EA so I want to kind of shift gears just for a moment here to contextualize some of the information I'm going to go through uh over the next 14 minutes or so so first of all I want to kind of go through the three pillars of friction that exists within web 3 today so why don't we have a billion users within the ecosystem why isn't web 3 as mainstream as it possibly could be a large part of it Beyond just potential uh you know application limitations is actual infrastructure limitations that can be kind of you know uh put down to these three verticals uh the first is onboarding and account flexibility so the process of actually getting a user into an account and ideally that account being as flexible as possible so you want users to be able to onboard in two or three clicks the account that they onboard into should of course be uh be as flexible as I mentioned with smart contract wallet so you know flexible security gasless transactions batch transactions Etc Beyond this you have transactional complexity which is you know arguably a more important issue um because today interacting with web 3 especially when you're doing it across chains or across multiple applications is incredibly complicated users are basically expected to uh manually discover and execute every transaction in a sequence of transactions to you know achieve a goal so if I want to do a on chain a then I want to do B on chain B doing so could take five or four transactions and uh be pretty difficult for me as an N user to actually figure out and then execute this is a major limitation it's just as a result of kind of the the rawness of interacting with blockchain today and it's a pretty big barrier to entry uh for newer users or those with less technical acument um for the third issue which I'll talk about kind of uh for a good chunk of this is multi-chain complexity so some of you uh might have heard as of recently this term of chain abstraction so this is kind of what that would aim to solve in terms of multigen complexity within web 3 as a whole is a major again barrier to entry in terms of if I want to go from chain a to chain b sometimes I'll do different Bridges or it's you know non-uniform standards Etc it's quite difficult to interact across chains and again it isn't uniform so for the end User it's quite difficult and complicated they need to be constantly aware of what chain they're on what chain they want to be on and the infrastructure that might get them between each chain which often is difficult to work with so these are the three main issues onboarding account flexibility transactional uh complexity and multi-chain complexity so this as you might notice kind of corresponds very closely with the user Journey so number one onboarding account flexibility this is the first step in a user Journey they start with the onboarding process and they of course onboard into an account from there they start doing transactions and of course eventually they'll do transactions across chain so these three problems tie in very closely with just what users what you would expect users to do on a day-to-day basis so of course these are all things that need to be solved and the fact that they aren't is probably a large contributor to maybe why we've seen less adoption throughout web 3 as a whole not just ERC 437 um so given this context of these uh tying very closely with the Journey what I do want to make sure is is made clear is that the first problem is actually largely solved maybe not to 100% but we can consider it solved for the sake of this presentation um this is solved through number one account abstraction number two things like NPC wallets and social logins the infastructure exists today where an end user can go to an application and essentially onboard and start using that application in two clicks and they can do that into a smart account um so this is a big component of why um the onboarding problem is effectively solved today although of course it still need some widespread implementation Beyond this uh the kind of Latter two problems are things that are less solved so these are kind of more emerging Cutting Edge parts of the space that we have yet to really address on mass um so that's again transactional complexity and multi-chain complexity so I want to kind of go back to ERC 437 here so how does that relate to the three problems I just mentioned beyond the onboarding component so first of all ERC 437 uh applies to a lot of different things and you can see clearly this has been identified with an ecosystem through through this large suite of infrastructure providers you have a ton of um you know smart account providers bundler or pay Master providers uh Key Management Solutions we fit into all four of these categories so we do uh NPC wallets we do um smart accounts and so on um but you have a huge list of of organizations that are dedicated to building this infrastructure uh but but why how does it actually translate into adoption all these individuals building for ERC 437 what does adoption look like so far since it was originally deployed in March of 2023 here are some numbers um this is actually from bundle bear which is a great website and they give some amazing STS on account obstruction um so some kind of key metrics here is number one uh between five core chains so ethereum polygon uh optimism arbitrum base and Avalanche there been about 12 million total user operations so you know that's by user operat that can either be one or multiple transactions um beyond that there's been about $2 million in sponsored gas across these five chains 3 million total smart accounts and around 200 to 300,000 weekly active smart accounts so in kind of the grand scheme of web 3 and what you usually expect out of kind of you know account adoption and of course comparing this to EA it's quite small at the moment um now if you even look into account retention which I believe um John rising from stackup posted about this a few months ago um where the account retention uh with smart accounts specifically is uh pretty low depending on kind of what month you're looking at as you can see here it kind of drops off pretty considerably from you know month one to month two and eventually starting at month 6 with um with early in 2023 about 1% retention so there's definitely some um I guess about 2% there's definitely some uh kind of work to be done in this sense um so this is something to know as well regarding the actual state of adoption with ERC 437 so uh with 437 I don't have much time left so I'm going to kind of go through key three key points of friction contrasting with the three key points of friction I just mentioned for um kind of the larger web3 space so ERC 437 the reason why that adoption those numbers that we just went over a moment ago haven't been maybe as much as you might expect Beyond just the fact that it's a relatively new technology that needs implementation um can kind of be broken down into three key things the first is that um you know for a long time complexity as it relates to integrating ERC 437 was quite high it was pretty difficult to actually you know build an application that leverages a can abstraction today that's not necessarily the case there's a lot of SDK including sdks that we do and stackup and zero Deva Etc that abstract most of this transic uh you know complexity uh it removes all it eliminates it essentially so it makes it where you can basically now interact with the c abstraction to the same degree that you would with any other normal transaction structure which is of course a big step forward but even though the Simplicity is there even though it's easy to interact with the account abstraction program uh you know within an actual application um the issue beyond the actual complexity is incentive so developers don't have large incentives to integrate a can abstraction um this is because maybe they just don't have a large reason they don't see the benefit um ux wise that their application might might see as a result of the integration now this there's some exceptions to this like gaming for example has been one vertical where account obstruction has been integrated to a pretty large degree um but still in a lot of verticles you see a very low amount of adoption with this technology because again a lot of developers don't see a reason to switch to ERC 437 over the standard account structures that they're already used to this ties very closely in with wallet participation so most wallets that users use are EA based they aren't based on Smart contract wallets and therefore most users will naturally just automatically be in EAS um again wallets don't have a major incentive to integrate smart contract wallets as an alternative or even migrate completely and finally again multichain complexity so smart accounts are especially difficult to work with multi-chain we'll get into the reasons why in a moment but this is a major point of of contention with account obstruction is the difficulty that comes up when you're trying to use them across different chains this can kind of be broken down into two core problems here number one is that it's expensive to use Smart accounts across different chains so you have to deploy a smart account on every chain that you want to use it on this incurs gas which is expensive um Beyond this there's not enough feature incentives for wallets and for applications to integrate ERC 437 so as a result you see fragmented integration not a lot of adoption and of course uh for multi-chain usage there's some points of friction there as well okay so tying these back in with kind of the original issues that we just talked about with the larger web through ecosystem um again we kind of identified three core issues one of which was solved the last two that are remaining for the entire ecosystem not just account abstraction is transactional complexity and multichain complexity so this kind of ties very closely in with um you know ux improvements so uh incentives for wallets and daps again if we can solve this using a account abstraction as kind of a layer as a foundation then a account abstraction will intrinsically be adopted quite significantly multichain complexity again this can also be solved with the count abstraction or be improved with the count abstraction which contributes to that problem that we identified with ERC 47 a moment ago so these two groups of issues the fundamental issues of web 3 and the issues of account obstruction specifically tie in very close together so solving these within account obstruction will therefore uh contribute significantly to the solution of these problems within the larger web through ecosystem so this is very important to understand as we kind of go into the the latter half of this presentation okay so real quick I want to go through basically two halves of the problem here number one transactional complexity number two multi-chain complexity first of all transactional complexity so this this is solved primarily by what we call intents I won't get into too deep exactly how this works within this presentation because I only have about 5 minutes left but uh essentially intents what these operate to do is basically take or or remove the cognitive load away from a user when it comes to expressing and executing transactions so as a user typically would have to go through every step in a process to achieve a certain goal on chain so they have to different do different transactions signatures approvals Etc whatever they need to do to go from point A to point B this is up to the user they need to not only like determine what these transactions are then actually go ahead and execute those transactions this is a problem this is quite complex so what we can do alternatively is use intents via what we call the intent Fusion protocol to basically have a user just express what they want to do so user says I want this you know I want to go from point A to point B I want to spend this amount of X right and by doing so by expressing that intent that intention the intent Fusion protocol or any intent framework can essentially say okay well we know what the user wants um um and we know what the transactions could be or the protocol should ideally figure out what the transaction should be to kind of get from point A to point B and then execute that for the user so this graphic kind of visualizes that rather than the user defining and executing every transaction that they do typically the intent Fusion protocol or intents in general they just take an expression a goal and then they find the transactions that need to happen and then execute that for the end user this is a major Evolution and basically removes all transactional complexity I won't go into this but if you want to take a picture of something this is kind of the architecture of what you might see Within in most intent nric systems um again it just involves expression of an intent then translation into actual transactions or tasks and then execution um of those tasks of those transactions on behalf of the user so intents can kind of be seen as an evolution of account abstraction to some degree um for example this graphic was uh you know inspired mostly by bomy where they made the argument that uh you know intents are basically the next step from account abstraction when it comes to improving user experience so you can see intense as leveraging account abstraction in a lot of cases and therefore adop you know pushing the adoption of a can abstraction alongside of course solving this transactional complexity so these two are again tied very close together okay so at this point going through that you know very quick overview of like how we can solve transactional complexity um we now have both of these kind of initial two problems solved onboarding and account flexibility through account abstraction um and NPC wallets and number two transactional complexity through intents which are an extension or kind of a layer above account abstraction which they typically use abstraction underneath uh kind of that interaction layer so now we have multi-chain complexity so um how does this operate what is multi-chain complexity and how do we solve it first of all again kind of a complicated graphic um but again this is kind of serving to visualize this idea of whenever you're using um you know multiple different chains especially with a smart contract wallet this very quickly becomes quite laborous and quite cognitively intense um so you have to deploy the smart contract wallet on every different chain so if I have chain a chain B chain C chain D I have to go and deploy that wallet on every chain so this is expensive this is uh difficult right this for the end user this is just kind of uh not very user friendly or kind of mass consumer ready if that's a way to say it so beyond this of course you have to manage balances on each chain and actually moving between chains is quite difficult as well so I think I went back there we go so this is um kind of one solution to half of that problem which is actually the deployment problem right so because you have to deploy across every different chain uh there's a solution to this which is om chain account obstruction this again gets a little bit complicated but essentially the goal of on chain account obstruction and kind of what we're building to towards and what a few other organizations are building towards is to allow smart accounts to be defined and deployed in a single location and then be managed across every other chain that they're deployed on again intent Fusion protocol intents serve to contribute to this idea of reducing multi-chain complexity through the cross chain execution of intents this gets a little bit complicated but if you want that is kind of an architectural overview of how that would work so how do intense kind kind of go from this expression to ultimately doing transactions across multiple different chains for the end user finally I wanted to very quickly highlight this as well uh BTC connect which is another kind of thing that we're building at particle um which addresses kind of this idea of multi-chain complexity with um the Bitcoin ecosystem so we basically allow smart accounts to be interfaced through one native Bitcoin wallet unisat okx xers Etc and this wallet can be used across every Bitcoin layer to including native Bitcoin and that kind of results in a smart account that we're deploying on chain so that is kind of the interface across multiple different chains with the kind abstraction another example of solving multi-chain complexity via a Okay so we've now solved uh kind of through these two very quick introductions we've now solved transactional complexity and multi-chain complexity ultimately leading to a complete solution that ideally will set the stage for actual mass adoption within web 3 so that was that about 20 minutes I kind of went through it as quick as I could um but that's kind of the current landscape of ERC 437 as it relates to user experience and potenti the evolution of that as kind of we continue over the next few years um tying in again a solution to transactional complexity and multi-chain complexity that's about it thanks guys there's our QR codes and I appreciate you guys having me on

Automatic transcript — names and jargon may be misspelled.