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

Loading player…

Unlocking Account Abstraction for the Masses | Ahmed Al-Balaghi - Biconomy

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

Among the many levers that Account Abstraction provides to onboard new users to web3 — including social logins, batching transactions, token paymasters — Session Keys has significant impact on user onboarding and retention. Since launching Session Keys on the Biconomy AA-SDK, the team has chalked up more than 10K session keys activations, with many more expected in the pipeline when cheaper and more secure keys are launched with V2. Session Keys help navigate the fine balance between security and usability, with temporary cryptographic keys that can be easily revoked, allowing user access without compromising sensitive information, and simplifying user onboarding with easy login and authorization without the need for private keys. Together, these UX benefits ladder up to a convenient, secure, and web2-familiar experience that drives mass adoption.

Transcript

hello everyone GM thank you for joining us at eth Denver 2024 and to everyone watching us on Twitch uh thank you for tuning in as well our next speaker is Ahmed alagi he's the CEO and co-founder of bomy um his talk today is called session Keys unlocking account abstraction for the masses is hey hey everyone just we need one minute we're getting Super T to fix the issue ah okay got it no worries all right awesome um hey everyone uh thank you so much for uh tuning in and uh yeah I'm really really excited to speak to you all today um and thank you all for for coming um my name is Ahmed I'm one of the co-founders at B economy and at B economy we build infrastructure for wallets app chains daps um to essentially enhance the ux onchain and for us at by economy it's all about making on chain ux as simple as offchain so today I wanted to basically um talk about session keys and actually do more I wanted to show you guys session Keys um I think a lot of talks about countertraction with use cases like session Keys there's been a lot of talk but no show or tell so today I'd love to do a show and tell um on session keys so I guess just very quickly you know we don't need to go into the weeds um you know what are session key keys and what is it in the context of account abstraction um so seing keys in the context you know in the web 2 World um are essentially you know jwt's right um and so you know they use Json web tokens as a way to authorize transactions and we essentially do this every single day right like you know we Grant permission to Applications be Google Zoom slack um and so this is something that we use on a day-to-day basis and of course this is all centralized verification and authorization um in the context of abstraction session Keys become a lot more cooler because they're now programmable and so what this essentially means for for the user is that they don't now need to have wallet popups every time they do a transaction and so imagine doing a trade and nft tment anything on chain when you when you give a permission that is limited controlled and that's verifiable you essentially can have an amazing ux um from the wallet or the app player and so what this means is here temporary keys are generated um for the user in the browser or phone or even on the laptop um and of course this is all going to be based on predefined conditions that either the user sets or the wallet sets or maybe the DAP sets on behalf of the user um and the great thing about this is because this is all on chain you know this means we can have decentralized verification authorization so we basically built um uh a V1 implementation of our session keys for our modular smart accounts by economy and essentially what we optimized for was sort of three things the first was modularity the second was ux and security and the third was um optimizing L1 gas fees and so essentially for us this was whoops I don't know what's going on all right and essentially for us um we we built this uh implementation with these three um core things in mind um and when it came to the modularity the reason why we built this is so that for for daps they could essentially have a separation between General permissions and use case specific P permissions or fls that they have in their app um and then sort of when it came to the ux and security side they could basically think about the security they want to implement and think about the user flows in a bit more detail um and we also uh basically implemented meruit trees um in order to at least on the the design of the session Keys um in order to um optimize for our on gas and in a way what this kind of looks like you know from let's say a gaming perspective um what adap could do is essentially allow the player and the user um to have these different conditions um based um on on their application and so whenever the user is doing a transaction um if that transaction basically um if it if it's basically obliged by these criteria then they don't need to sign anything the transaction just happens whenever they're doing an a simple operation and so of course this is in a way what we wanted to enable um for daps that are building with a account abstraction so like I said I want to show and tell so let's look through it demo and this is basically a live implementation right now that you guys can use okay this is a trading example I know it's not a fullon like this won't bring you know 1 billion users to web 3 but it still at least showcases a real flow that people like thousands of Traders even tens of thousands of Traders are using on a daily basis so all right so over here as a user I go on manage I go on oneclick trading I could basically see that my session is inactive I could then dictate how long I want the session to look like so here the user has chosen 5 hours they enable this it's one simple signature request for the user and then it becomes active this session happens on chain and so now for the user what they're able to do is they can now now do a simple trade um you know they're longing eth over here which is probably a good idea no Financial advice um they're opening in position they're confirming the order and it's just as simple as that there is no wallet popup um you know this is all on chain all verifi all verifiable um and here the transaction has succeeded so from the user point of view especially from a Trader point of view when you know when seconds matter in the form of trading this use case I I'd say the trading use case has been like the number one use case that we've seen um in account abstraction and here the user is doing another position which is basically closing the position and here they're submitting the close order and again Within These few hours that they've enabled this permission um they don't need to worry with any wallet wallet popups no gas or anything like that um you guys might ask okay so how was the user paying gas um there is a gas tank that the user has prefunds is BAS saying okay um or at least on the DAP level it's taking gas from the gas tank which basically makes this ux super super easy so that's you know um you know the I say real life implementation on session Keys um and so what does this look like in terms of adoption you know where where are we at with this so so I would say the number one use case that we've seen has been for trading so we've worked with companies like rage trade quenta and D um and it's been quite astonishing actually like we've seen over 15,000 session Keys registered on chain um you know like yes it's small in number but it kind of goes to show okay you know the impact that it could have um and what was really cool that we saw was that we enabled a form of multi-chain transactions that we kind of haven't seen before so what does that mean if I'm a user um uh like for example with race trade there a per aggregator now as a per aggregator um they aggregate per platforms on arbitrum and optimism and other um and other chains and so what they enable the user to do is I could basically sign a transaction on arbitrum um for me to execute a trade on optimism right now why is this useful because it's useful for this use case right but in if we think about sort of further use cases imagine a user had a wallet on arbitr and optimism and they wanted to send funds from their optimism let's say wallet right and in this chain abstraction world where the user doesn't need to think about um you know switching the network ID or anything they could literally sign a transaction on whatever chain they're on and then it would execute um the transaction on another chain so this was I would say a very in a way a more sophisticated example of how this you know was working for um for for one client of us um as we as we went through this there was a lot of learnings from V1 um you know we wanted to introduce security policies or more generalized security policies however the V1 design was not that compatible um there was also a V1 had a dependence on an offchain layer and so this also led to um complications if a user had a session key on one app and a session key on another app and what if there was let's say a collision of session Keys um gas costs were also High I remember when I was using these platforms I was paying like a dollar you know for um to to to enable a session um and uh this is I mean for Traders it's not a lot but if you're a user using any form you know any simple application this is still a high amount um um and at the same time to achieve I would say multi-chain flows and and uh and essentially transaction flows the developer had to integrate different modules so basically the the the the integration was a bit complex from the developer side so now um as by economy we're going to be rolling out um session Keys V2 and essentially you know this is an upgraded version from all the things that we've learned um so what does this mean it basically means it's more L2 native um and it's scalable um we are focusing on minimizing a lot of cost in terms of gas um so that's focusing on minimizing coold data and allowing for sessions um that might have to be enabled separately they can now be enabled in one transaction um in order to save the gas cost for the user so the the formal bat transactions could also work work in this case um and also we we've we we found a way to like enable multiple sessions that could be done across chains within a single click as well so these are all you know I'd say improvements that that we we we are building towards with V2 and so when we look at like the immediate benefits and improvements you know they literally span across security and transparency cost and time and Dev and so for US security is Paramount um and especially if we want to enable an you know a verifiable way to uh to check out sessions and and uh really a decentralized way to authorize them and so this basically means now anyone could basically have their own form of security policy we can have a general form of security policies um with V2 um as I mentioned before um we now we're now able to reduce cost and time for developers to integrate um session Keys um especially with the gas costs which are which are super important to optimize for and then there's also devx improvements now the developer does not need to integrate many different modules or they don't have to do a lot of complex things like our previous clients had in order to enable um customized user flows one thing that I also wanted to talk about here was um you know we had this concept of ABI session validation module so essentially what this means is um with our V1 of session Keys um every dap that we worked with had to build their own Uh custom session validation modules now what is a custom session validation module uh let's say the AAP wants to enable free nft mints for example um using session keys they would have to build their own svm they would have to write it in solidity they would have to get it all they would have to get it deployed as well and so this was a very very long journey for applications to do now for these more complex defi applications it was way more than just a simple nft you know svm that they had to build so a lot of the developer integration work and time actually went in building out these svms um now what's cool with V2 uh and with this ABI um session validation module that we have is you know we're going to have predeployment meaning that developers don't need to reinvent the wheel for many many use cases um and as well as if a if a developer had a specific flow that they wanted to implement they could do it without having to code which is super cool so it kind of expands the um the the developer crowd that we we want to attract to this and the great thing is there's no overhead you don't need to get this audited you don't need to um um write solidity or or deploy anything and so so it just becomes a way way easier um sort of experience for for developers and apps um so we're really excited about this we're you know going live with this soon and we' love to see sort of how it how it operates in the world so yep um just wanted to touch base very quickly about um you know uh us and by economy um you know we're you know if you're a developer wanting to utilize a c abstraction you know I'd love you know for for you guys to work with us um you know we essentially provide a full stack account abstraction SDK from all the way from modules the smart account layer um to um paym Master service and the bundler service and I did want to take some time to like talk about some of our clients so we just recently integrated with trust wallet um a couple weeks ago uh this is to power the new um wallet called Swift it's a contract account so what we enabled trust wallet to do is for their users to pay gas in over 250 tokens and it's been already two weeks since launch and it's really interesting to see that the top two tokens being used to pay for gas for any form of operation is e usdt and and twt which is a trust wallet token um and what trust wallet did was if you pay with trust wallet token you kind of have a discount on gas so it's a pretty cool sort of token use case that we we were able to enable enable for them with a counter raction eccentric now this was a um a uh announcement we did yesterday exentric is basically a product of Mercedes-Benz we officially announced our partnership Mercedes-Benz to allow um them to uh enable account abstraction in this new data Marketplace um that they're building on top of blockchain rails um this data Marketplace is going to be about automobile data um and essentially for them because web 3 is really important and it's easier to enable um you know the itl marketplace for for this data um they wanted to use account abstraction to make it easy for people to onboard um and to access the platform without having to pay gas of course um another cool integration was uh chess.com and animoca you guys might have um you were you saw the previous presentation with with the web three off so we worked with um chess.com and animoca on the new game called any chess.com so it allowed it essentially so this game is basically like a magical chess.com and users get like free nfts for you know doing whatever they're doing on on the game itself but was really cool was this was an integration with both web3 O and B economy so web3 o was the social log provider um because we don't provide our we don't provide a social login solution we we work with um uh folks like web3 off and so they they used web 3o for social login and B economy for the full account abstraction solution um and right now it's one of the biggest I would say um daps that are continuously doing transactions on a dayto day-to-day basis um and yeah and we we've also have um gotten on board um folks like JP Morgan as well to use um account abstraction in their POC last year with project guardian um and so far all all of this sort of all of these efforts has already enable us to become the largest account abstraction provider in this space so you know we've we've kind of like gone through um so much in terms of building the stack out you know a lot of trial and error and ensuring that everything is as reliable and as scalable as possible so you know if you guys want to build with us please let us know I'll be around here for a bit and yeah if you have any questions I'm happy to to take any questions that you guys have I think we have another minute or [Applause] all right if there are no questions it means that I've explained everything clearly I hope that was the case thank you so much Ahmed let's give it up one more time for this amazing talk and thank you so much for joining us today

Automatic transcript — names and jargon may be misspelled.