Account Abstraction: Modular Smart Accounts

ETHCC 6 · July 2023 · 13:26

Lukas Schor proposes a modular smart account framework at EthCC[6], considering risks alongside the benefits of account abstraction. The presentation examines how a modular framework could address some of those risks, rather than assuming that a new account model automatically solves them.

Speakers

Topics

From ETHCC 6, hosted by Ethereum France.

Transcript

all right bonjour everyone um my name is Lucas I'm from safe and actually didn't know that uh Conrad is going to give that talk before me so consider half of my talk gonna be duplicate at this point um yeah I'm trying to give it a little bit of a different spin to to the topic of modular smart accounts and also talk a bit about what uh safe wants to do in that space what we've been doing in the past um right I mean at this point I think it's pretty accepted that we need to move the ecosystem to the smart contract wallets we call them smart accounts we have italic puttering put out this this blog post saying that quite explicitly if we

don't manage to bring everyone to Smart contract wallets if Hume is going to fail and I believe similarly um and it's quite exciting to see all the adoption of the ecosystem of accountab section and the different teams starting to build on that um and of course from safe side it's quite exciting to see the growth of the ecosystem different projects integrating with the safe smart accounts leveraging its functionality and then kind of the adoption continuing to grow just curious from the audience here a quick show of hands who's using safe okay I guess makes a point that smart contract was is not something of the

future it's actually happening right now um and the adoption is here so it's good to see um not going too much into this because pretty much Conrad's talk was all about uh why we should move to to modulus market Hunts just in case someone joined later I will give still a little bit of a yeah brief summary of that but the point being that when we build smart contract wallets we shouldn't build these static smart accounts that do something uh like have a very static logic but we should actually think of them more like the iPhone which has maybe a base but then you can extend the logic through plugins through apps through additional logic you can just pull into your account and yeah the the key reasons why this is

important one is composability um yeah whenever you write smart contacts you want to write as little code as possible and try to reuse as much as possible just because it reduces the risk of introducing it like smart contract box and it's in general what makes web free exciting is that we have these different pieces and you can build on Pawn then you can combine them in new ways and the possibility of smart accounts will just unleash a lot of innovation and then it's the custom customizable nature when you make a smart accounts modular it means that you can customize them to the needs of the specific users

you don't have to anticipate exactly what the user wants but the user can start somewhere maybe over time have different preferences in terms of features security risk appetite Etc and then of course security when you modularize smart contracts it means that you have you can deal with the different components by their own so you have some level of separation of concerns and can just Implement security features in a way that addressed the different parts the best and adaptability so we can adapt a smart account over time you're not logged into one system and have to move all your assets from a multi-six smart account to something that's more I don't know like

a dow treasury smart account when the the team is starting to decentralize but you actually have the capability to change the logic of the account over time um yeah and safe has been building modular smart accounts since 2017 like launching 2018 uh so the the safe has from the beginning been envisioning that this is needed that there needs to be some way to to extend the logic and not have like a static uh smart account from from the beginning so we we call them guards modules and fallback handlers they serve different purposes uh for example a module you can like additional logic to your account this can be a spending limits feature it

can be a social recovery feature um a guard on the other hand is like a hook that gets triggered every time you do a transaction and they can check the transaction for like additional requirements parameters we can Implement a risk assessment uh like an on-chain risk assessment solution with that you can like the urine team build some mov projection system using arts and then finally fallback handlers it just a way to to handle arbitrary function calls which makes the account more adaptable to the changing environments of web3 so yeah safe has been

yeah quite well known for for the multi-signature feature which we consider like one like a killer feature that we saw for for smart accounts a way to have multiple Keys control uh account together uh obviously helpful for for teams and the house uh but also very helpful for individuals where they won't have additional security uh in their account such as like a two-factor authentication system um but yeah through its adaptability there's actually ways to extend the logic of your safe smart account with permissioning systems with gas abstraction with fraud monitoring hierarchies um some of them have been built already some of them hopefully will be built soon

um but yeah that's how we see safe and you have throughout the last years we saw some of the things we need to do in order to make modular smart accounts successful and Conrad has been going into these as well uh one is interoperability um that's the cool thing about private key based accounts they're super interoperable you can like you just have a c trace and immediately you have an account on All Chains It's supported by every wallet and yeah adapts and tooling and everything knows how to support it when we have Smart accounts that have additional logic we need to make sure that we don't lose

that and yeah we need to make sure that we we don't create vendor lock-ins where you have a modular smart account system which then only works like the plugins only work for one smart account and cannot be transported to others which would create like duplicate work and just just reduce the composability and then Discovery is also critical aspect it's cool if there's like a ton of plugins out there but there's no way to to find them to know what they do what functionality they have so we need to find ways to to make them discoverable to developers as well as users and finally the security aspect which for us is the main thing we we

focus on obviously as a um like it's in our name safe so we need to make sure that when we have these plugins and like we have we are able to extend the functionality of the safe that people actually trust these plugins because they could come from third-party developers and people might trust one development team but then they are expected to trust a completely different one so how can we enable modular smarter Concepts the same level of security guarantees like uh your your kind of Base account and there's some initiatives that Target some some of this one recent one is erc6900 which tries to standardize these

plugins and make them more interoperable across smart accounts so that's also or aims to solve the interoperability part but it does not yet solve the security and discoverability part um so that's where we want to propose an approach um also quite aligned I think with what what rhinestone is doing of how do we bring the different components in modular smart accounts together and this is really the the meat of the presentation this is I think where we also like to get feedback from all of you um yeah in the end we have these three major components one is the account then we have the Integrations and then we have Registries starting

with the cons obviously we build our own smart account but in the end it is expected that there will be different implementations of smarter concept maybe do different trade-offs different focuses and they should all be able to plug into this protocol um then you have on the other side the Integrations these are really the things that that extend the logic of your account these are the cool things that you hear about about recovery about safety guards Etc and they should be somehow standardized so that each of the accounts in this system can seamlessly work together with with these Integrations and finally we have the Registries which

yeah is what also Conrad talked about in terms of like curating these Integrations and this can really range from Registries that focus more on security aspect so say just like a super high level security bar where every integration in this registry which acts like marketplaces or App Stores um have gone through like an audit they have bug Bounty for modification or maybe there's more experimental Registries that give you the latest and greatest Integrations or it might be more use case specific Registries say like a dow tooling Marketplace or more institutional Focus compliance registers I don't know

um but the key point about what we want to do is have a protocol that's actually agnostic into each of these directions so it should work that you can come with any kind of smart account that supports the account interface you you are able to support the Integrations that maybe like if erc6900 is getting more matured and adopted enforce this standard for for Integrations and yeah you can work with different kinds of Registries so you don't have a vendor lock-in to either of these sites so that's what we think will enable also the security and discoverability aspects

and also be able to enforce the interoperability uh yeah a bit stronger and yeah a little bit of alpha here the this this protocol we we're not going to do like big announcements just yet but we want to get a feedback as early as possible because it's going to be the ecosystem initiative to make this right so we've been working closely with with the rhinestone team already with with other smart account providers but this is really going to be something where we need as much feedback as possible so we didn't want to wait until it's fully fleshed out to to get that feedback at this point still we had to make a compromise and it's sort of opinionated

towards the safe smart account because we can just speed up the process there but again long term the vision is that this protocol is account agnostic um it's not production ready so don't ship any final solutions to users it's more meant for for developers hackers Etc it's obviously for the open source like everything we do at safe and we're seeking the community feedback check the QR code here if you want to read the specs I will also have it later again and then finally if any of you is going to be going to if Global Paris we will have a bounty where we explicitly want to build people to build on on this protocol uh get just experiment with it

build protocol comply in the cons Integrations vertices and just see what's possible there where the places for Innovations are 10K in prices up for grabs yeah yes again the the two QR codes in case you missed it so in the end we want to build an open modular framework to Max to make all smart accounts secure portable and composable and yeah again it's it's going to be an ecosystem initiative we don't want to make something that only helps save smart accounts of course we think it's going to be bringing value to to that as well but in in the end it's yeah an open framework which we want to establish so

yeah that's it thank you [Applause] thank you [Music]