Unlocking Ownership: The Path to an Invisible Web3 through Account Abstraction by Lukas Schor
ETHDubai 2024 · 20 Apr 2024 · 26:25
Lukas Schor examines ownership, network abstraction and passkeys as components of a more accessible Web3 experience. He explores progress and remaining challenges in making blockchain interactions less visible to users.
Speakers
Topics
From ETHDubai 2024, hosted by DeFi Dubai.
Transcript
as mentioned this is actually the fanciest slide of the presentation from now on it goes downhill um cool account abstraction uh so it's pretty much one year ago that the original entry point contract for ERC 457 was deployed since then we've saw uh like 10 million smart accounts being created um more than 16 million user Ops so transactions in the context of 457 um the entire network is being built out so like bundlers paym Masters a lot of developer activity uh generally a lot of awareness about the cond section is here we have uh panels tracks at conferences everywhere we've got a lot of media coverage about the condos
action it's just top of mind for for many people um major stakeholders like centralized exchanges such as coinbase okx really leaning into the space uh building out teams building out Solutions um so quite positive signals and now also end of last year uh like a proposal for Native account abstraction on Layer Two uh that um yeah kind of was was formalized um so a lot of positive signals so far but also bunch of realizations uh one of them is that building out an account abstraction ecosystem will take a lot of time uh that's maybe uh a result of 457 being a bit overhyped initially that people
people thought it would get faster and now we get this like a sobering hangover next day after the party where we say okay yeah it's it's actually quite some challenges on the way um one of them is actually to convince people to migrate to Smart accounts uh because people are with like people stay with the wallets that they got used to they have the their setup they've got their private key backed up somewhere and they really have need to have strong reasons to do so um another realization is l2s are reluctant to implement RP 7560 so native account abstraction or at least it can be foreseen that it will take quite some time until most l2s would would do so um
and the final one is that the primary use case of 457 today is for uh or smart accounts in general is for multi signature wallets and sponsor transactions um and yeah most of the 457 user Ops is the main use case that they're sponsored for user so we are a little bit of uh in in this Valley right now when it comes to to 457 and and 7560 specifically uh where we um made some progress we we've overcome the initial hype and we formed momentum but there's now uh quite some uh some work to do and at the same time there's uh two new kits on the Block EAP
3074 and uh 503 they're not NE necessarily new but they they are picking up in momentum and attention right now um one of the key things is that um yeah because we expect account abstraction to take quite some time there is the yeah Community thinks that uh we we should in the meantime fix EAS so private key accounts uh we should at least have a little bit of ux improvement while we do so and that brings us to 3074 um yeah just quick description um very high level of what 374 enables is that you have your EA account so an
account controlled by private key and 3074 allows you to authorize external contracts um that they expand the logic of your wallet so to say uh so you can activate other extensions uh yeah similar also in in smart accounts you have plugins modules it works quite similar but you give essentially root level access to your account to another contract and this can then use this to provide additional features and this contract can then make calls on your account by off call and yeah that's very high level how it looks like um this enables quite some cool features for for EAS U sponsor transactions uh batch transactions
making multiple calls in one transaction um session Keys automations stuff that was so far uh exclusively available to Smart accounts is coming to EAS is coming to your metamask wallet in the future um there are some drawbacks to this as well uh one of them is that 3074 it's a wallet that was created with a private key or that there is a private key Associated to this account and um this private key still has to be handled with care so you could have an invoker contract this this extension that then has a multi signature Logic for example but this private key is like an admin
key to this account so no matter what setup you have in the invoker the private key could still uh create transactions um and similarly because these invokers these extensions they have a lot of access to the account or full access to the account uh they are super security critical uh it's no different than smart account modules uh that also have uh um yeah access to the account but that just means that as a wallet if you want to make use of invokers you don't want to have your users just like blindly uh authenticate invokers because that would open up the door for uh for attacks for people just uh asking users to authenticate invokers
that then drain your entire account uh so that we will be seeing how this plays out but essentially wallets will have to keep a curated list of invokers that the wallet trusts because it's in a way like very core part of the logic of the the wallet or uh yeah and and you don't want to just leave this as a completely permissionless system because that would just uh be super risky for the user and this could have so certain centralizing permissioning um effects but it's too early to tell how this really plays out uh but there's also a bunch of positive effects uh of 3074 especially when it comes to Smart accounts and
account abstraction uh one of them is because it enables bad transaction for your eoa account um it very much standardizes de or can standardize the developer experience across the board because so far if you're adap you want to provide a good user experience for your smart account users uh you can leverage batch transactions but then someone comes along with an EA and they don't have this capability and you need to implement different flows uh and yeah this will enable that also standards such as 5792 or or others that try to standardize these uh user experience uh components will uh will be more more agnostic towards whether it's an EA or a
smart account that's been used to refie up um and generally it forces applications to not assume a very specific execution logic of the account because EAS could be extended with invokers so they could have different flows and the the application really needs to optimize for them so it just breaks a current assumption that application said that every account behaves exactly the same way uh which would would also help smart accounts because there this assumption was already not true um it also potentially allows EAS to leverage the RC 457 bundler Network um I haven't dig too deep into that I know that it's not like completely or
there there's certain uh problems there as well but it it it might help also put more traffic or more adoption to to 457 um in general and one of the key things also is that it uh allows for an EA to be more easily migrated to a Smart account because right now if you want to do so you need to literally uh move all your assets to a new account which means making a bunch of transactions uh and it cost you gas fees and uh 3074 would allow that you can have a migration path which is uh patches all these asset transfers into one transaction sponsors that and it's more simple than for users to to
migrate um but the key thing about 3074 is that it also has adverse effects on on AA efforts to some extent uh so it is expected that Builder attention uh Venture Capital funding and and others like generally the momentum might turn more towards 3074 uh ecosystem and it may take away a little bit of the the M momentum that smart accounts have gathered in the past uh I know that different teams that have been thinking about uh smart account Solutions account absortion are now reconsidering uh because it just changes a little bit how they uh plan their road maps and uh if they really just want to have sponsor transactions or badge
transactions then uh they don't need to use Smart accounts anymore um and it's also for l2s then even less of an incentive to put resources into 7560 so native account abstraction uh because potentially also they might not uh see the demand from Builders they might not uh yeah want to leverage sponsored transactions of smart accounts but you do it with 3074 and yeah just all of that together May mean that there is a risk to and try EAS further because generally there's a less of an incentive to to really focus on on Smart accounts fully and just a visual visualization how this looks like in in my mind is that uh 3074 is
definitely a strong Improvement to the current state uh but it may mean that it uh yeah brings us into a local uh local maximum and uh this incentivizes us to really reach for the the global maximum which is full account abstraction and maybe some are asking now that if you have all these cool features for EAS why even need do we need smart accounts uh to begin begin with um and a few of them is uh that there's it's not possible to do a key rotation with 3074 so you have this private key uh and it will be uh forever valid to authenticate on that account uh so whenever this key is
compromised or you think it's compromised you have to move accounts because it's not possible to change the key um also means that account recovery cannot be implemented fully um so with invokers you could create asset recovery systems so ways how you can move out all your assets in case of an emergency uh but because you cannot rotate the key you cannot uh get access to your account if you lost your your key to that uh you might by an invoker have limited access but never uh full access and things like multis or general more secure uh security policies are not possible because they can always be back doored with this private key which yeah
this is this pretty much puts a cap on how much security you can have on your account uh including Quantum resistance uh which at some point we need to move away from EAS anyways uh because they're not Quantum proof and this just uh 3074 doesn't solve this very specific problem and this is uh yeah uh something yeah vitalic posted this recently on on on farcaster I I changed it a little bit but it it depicts quite well uh how 3074 really has an impact which is uh account abstraction really Sol tries to solve uh two things the ux challenges and the security challenges uh of of wallets
today and 3074 is very good at solving the ux challenges uh it makes for for much more or improves the convenience of uh wallet quite a bit through sponsored transactions patch transactions and so on uh but it doesn't address the security part which is critical because users I mean users very much care about the the ux improvements but selling security is really hard so if we uh so far we had both convenience and security improvements that are brought by smart accounts and if we now uh allow EAS to have the the same convenience improvements it's really hard to convince users that this additional sec is really worth it uh to make the
migration which is the entire point that we end up in this local maximum um and there is a potential solution to that uh which is actually an extension EIP on 3074 and that's the EAP 503 which is says you cannot just authenticate external contracts to uh to add logic to your account but you can actually deploy uh code on the address of your account um so that may means you can fully convert an EA into a smart account uh with a separate op code and this uh revokes access of the original private key to the account uh which
then um oh yeah there are some reasons that currently it's not included in the uh in the next hard Fork uh and like always with with eips there's certain compromis that need to be taken certain uh tradeoffs and these are the two main ones which are raised for this EIP uh one is offchain challenges uh so even though the the key is revoked uh onchain it could be that offchain system still uh accept this key or signatures from this key as valid uh because they use EC recover to uh to authenticate and um yeah that would just break certain
assumptions of applications and permit and and stuff like that and in my view the compromise that we should take here is that we need to uh modify the EC recover uh pre-compile because it uh would then allow that when a code is deployed at a certain uh account and the EC recover fails in that case that then also offchain systems could uh could see that um would also require updating libraries e and so on uh but in my opin opinion this is uh something that that we we can take as a compromise even though it it will require some some effort uh and the other one is cross
chain challenges which 50 or3 faces because the thing is when you convert your account into a smart account with 503 it only happens so on one specific chain uh and uh you would have to do this on different chains separately um and this is a problem specifically because there might be in the future chains coming up which or l2s coming up which then the original private key is still the primary authentication factor for this very account um and yeah this this is criticized although I I personally see there also the compromise that we should just uh also break with an assumption that if you have a certain smart account um or if if account looks
in a way on one network it should look exactly the same at the same mates another Network because this is essentially how smart accounts work even today um that's something that's unfortunate or people try to get around it with counterfactual deployment which is also not always uh a solution but like we should just generally try to go away from that and say uh if you convert an account on one chain that's that's good if you happen to have the private key convert it can also convert the account into a smart account and other chains but generally let's not assume that it will be converted automatically on all chains because that's just generally how how these smart accounts work they have state on the different chains that's stuff that's being solved
also uh where research is going on around key store rollups and how State can be synced and maybe we abstract way the lower level addresses and have met addresses and so on like these things we will have to solve anyways for for smart accounts um so it's not something that's specifically new for uh 503 uh it's actually even more of just a benefit that you have if you happen to the private key you you could Deploy on the same address as well which general smart account users or like Vana smart accounts cannot do um yeah this in in my view would would build a bridge from the local maximum to the uh to the global maximum which we don't have to go from the very
beginning but at least it's there it's something that the ecosystem can uh calculate on can con form themselves on and we can uh still have the the shared goal of the ecosystem that we move towards full AA while maybe a lot of the or or some ecosystem participants will still want to leverage 3074 uh initially but uh it at least is a commitment that that this is still part of the F mission that the cont ofsection is what we we are after this is just a a summary of of what I said before um yeah this is generally the visualization there is we started with 457 and now we've got the choice uh the
initial path which is uh let's first push for for Native account section l2s and then try to see what how we deal with Legacy EA users might not be working so we probably will go with or pretty sure we will go with 3074 as one component to move forward uh but it's uh yeah in my view very risky to purely focus on 307 4 without having 50 or3 as a building block with it uh because this would yeah it would just create wrong incentives in the ecosystem and it it may distract us massively from the momentum that we have gathered in the past uh and I cannot stress this enough I think we uh or like I'm quite close
also to uh to people doing stuff in the counter obstruction ecosystem it really feel felt like there was very much momentum there if if a coinbase is is shipping as smart wallet like they really uh have had plans to uh to go into that direction and I'm very much afraid that we break out this momentum at this point uh by having this uh have short-term fix which distracts Us in the long run yeah um so yeah 3074 is great uh awesome ux improvements for for current users uh it has some advantages disadvantages uh for smart account adoption General I
don't want to say 3074 if only 3074 is part of next hard Fork that it's completely bad for smart account adoption uh it just is kind of like a big spack which is uh unfortunate and I think 503 would be a better compromise in general there are some questions around it uh I think solvable questions uh I would appreciate having this uh trying to get over these these hurdles because um yeah it might not be that we will be able to get like account abstraction related eips into next hard fork for I don't know two years and if we do the the wrong moves right now it may lead us a dangerous path I think yep that's the last slide
so thanks very much and happy if anyone has questions yeah if anyone has questions they can raise their hand any questions for Lucas all right oh right here okay um so I work at a phantom wall and uh the big focus is on salana um but a cration seems to really only have taken grou um and hold with 4337 and Etc on ethereum um how do you feel the uh the rest of the chains um salana um or non evm change let's say uh will react to um a account of exraction um 307 4 um 503
all the way up to like full account abstraction over time um so yeah like what are your thoughts in terms of like the future of non evm chains in that respect um was a bit hard to understand I just got Solana non evm comp extraction on non evm chains I mean I wish I was up to date with all the stuff that's going on on on all different chains like I know fuel is doing a lot luo is doing a lot but I actually don't know in terms of condom section what's up in in Solana right now um but I mean it is also going to be a challenge where like anyways when we
have deviations of of how we see coun obstruction how we implement it how we then have also cohesive developer ecosystem across the different l1s and so on so that's uh I'm happy enough if you fix or if you figure out how to do it on the evm and let's ultimately what do you think um Eon abstraction means for eoas over time uh overtime uh what does account abstraction adoption mean for the current EAS that we have um I mean I still think at some point there should not be any EAS left like at some point we need to uh to migrate them to convert them into smart
accounts and there are proposals out there that's like a Force conversion like an emergency conversion in case of a a Quantum attack like we're planning for that already uh and it's it's a matter of time where we have to uh migrate like we can push it faster or we can then do panic mode in case it becomes a really a challenge all right any other questions all right oh um first on on the non- evm side like just quick note there that uh many non-ms have native level account abstraction in terms of certain features
for example Solana has um batch transaction supported natively uh but yeah it's like a different account structure and different road map that all of these guys are following right my question to you Lucas is like what does the 503 road map look like like what next how do we get there uh when can we hope for inclusion it's very hard to hear um how it affects safe's road map or no like the standard itself like like we know 3074 is going to be included in the next hard folk what what is the road map for 5003 um good question I think that's something where there's a lot of discussion right now in in like telegram groups um is it worth uh pushing for an
inclusion or not U I think also the next all cord's call will probably have this as a as a topic um I I cannot estimate right now the chances of if it makes it's really do we find consensus that certain compromises can be taken that we can uh yeah kind of break certain assumptions that people have been doing so far or that uh it's it's too big of a lift uh but I would hope right now it's like 5050 in my mind but maybe uh some core devs disagree but but yeah it will be and like both 30 74 or if it happens 50 or3 would be um like the next hardw workk is
planned for end of this year beginning of next year so it's not something that will be there already this summer maybe at some point there's like test net on the way but it's still quite some time also for the ecosystem to adjust whatever it's then decided what's uh what's included to to navigate this yeah uh hi uh this question is also related to 503 uh so one aspect of 503 is also to uh restrict the EOS to send transaction or sign any signatures right so how does it affect safe uh because safe has eoas as owners and uh if those EA accounts actually uh are restricted to sign any messages post 503 then like
how will it affect existing safe and its owners um I mean safe can have EAS as owners usually they have uh they don't have to like it could be other smart contracts that are owners it's it it it doesn't matter and therefore also if you convert an EA into a smart account you could still use it as an owner just instead of e recovery you have 1271 uh contract signatures that then use to to sign or it's uh it it yeah it doesn't create that many challenges I think so so there will be some sort of like a migration like some action that owners need to do like once they migrate to um you know 3074 type um
you know I mean it it is a voluntary uh migration so no one is forced at least uh with with 50 or3 to convert neoa into a smar con um yeah thank you