Breaking Boundaries: From Siloed to Global Embedded Wallets | Itai Turbahn - Dynamic
Ethereum Denver·Wed, Oct 9, 2024, 12:00 AM
Speaker
Embedded wallet adoption is accelerating. The simplicity of email and social login, together with AA layers that enable session keys and gasless transactions is appealing. But the current trend comes with meaningful tradeoffs. Specifically, embedded wallets are siloed in the sites on which they are created, leading to a proliferation of wallets. In this talk, I will review seven strategies for moving from siloed to global embedded wallets, addressing the advantages and challenges of each approach. These include methods like key replication, WalletConnect integration, and asset migration, along with advanced architectural changes and EIP proposals, all of which illustrate the complex yet evolving landscape of wallet technology. The talk is based on a strategic overview I put together as a blog post here: https://www.dynamic.xyz/blog/the-future-of-global-and-embedded-wallets APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply
Transcript
hey everyone I was just saying there's someone here who we listened to like two of my talks before I was like how did you survive to okay fine uh I'm eai uh nice to meet everyone uh eai co-founder of dynamic uh who knows what dynamic does by the way raise your hands okay great this is a great pitch opportunity for phenomenal no we we'll do we'll do the following so uh the goal of this conversation is to really talk about kind of moving embedded wallets from siloed wallets to kind of global wallets and the way we're going to talk about it is first we're going to just explain the context of why I'm here so Dynamic and 60 seconds also and sorry about repeating the joke as a Founder I wouldn't be doing my job if I don't pitch Dynamic for at least 6 60 seconds but then we'll we'll talk about what we're seeing in the market we're essentially seeing kind of this crypto enabled stack we'll talk about what we're seeing and we'll talk about two challenges uh that we're seeing specifically the user onboarding challenge but then we'll Deep dive into a second challenge this time around which is the inability challenge right so how does one move from email and social login and kind of logging into a website and creating an embedded wallet and how does that wallet go with you across sites right so first very quick dynamic in 60 seconds at the very basic level it's everything that happens after you click login on a website so we do thirdparty wallet login embedded wallet login kind of email social off generating wallet for you user management if you want to check it out you can go open your app on token proof that you use to get in that uses Dynamic scan your badge with iyk that uses Dynamic uh go to Maple or alongside or Doodles new Doodles studio all kind of use different versions of Dynamics so you can see that today if you participated in star's airdrop last week and claimed tokens that use dynamic as well so those are kind of all kind of different experiences you can use with the product why are we here what are we seeing so we're essentially seeing that the web is moving to a wallet based world right everything is starting to kind of generate wallets for folks in the background whether they know it or they don't we kind of think that within the next 5 years every app on your phone every website that you visit will have some sort of crypto component to it and the the very basic level to get to that you need some sort of wallet stack right and we're specifically seeing um a really good amount of use cases daily uh that kind of show that on a day-to-day basis so we're seeing things around real world asset access so how do you from Argentina access treasuries in the US right the easiest way to do that is to tokenize those put those on chain but let you log in with email or social right or how do I build a decentralized version of venmo that works across turkey and Ukraine and the baltics right and the easiest way to do that is to spin up wallets for everyone and use stable coins to transfer those now in both of those use cases you actually don't need to know it's crypto right you just need to be able to transfer money from Turkey to the baltics or you just need to be able to buy treasuries us treasuries from Argentina right so we're seeing a lot of that kind of use cases a lot of the use cases that leverage crypto without ever showing it it's pretty much a new type of company that we're seeing every day and really what we're seeing is this really interesting crypto enabled stack so a set of tools that all the companies I mentioned use to actually achieve that and that kind of combines a couple things it combines authentication embedded wallets which we're going to double click into account abstraction on ramps off ramps some sort of L2 uh and then swaps and bridging right and with this stack whether it's through a bunch of providers whether it's through one provider you can actually start creating that experience whether it's again buying uh an eLiquid asset and tokenizing that and putting that on chain or sending money to friends or anything in between or buy building a social app right and within this stack there are actually two challenges we'll touch on the first one briefly this time around and we'll actually touch on the second one uh in much more detail because that's the topic of the talk and otherwise it would be boring for everyone but at the very basic level these companies face two challenges the first one is how do I onboard my users right someone shows up at my door I want to give them a tokenized asset like energy bills or again uh tokenized bills or I want to kind of let them send money to friends how do I do that and the solve for that is essentially um kind of new user onboarding right so email social login uh things like gas lless transactions session Keys uh and then kind of policy engines within session keys for when things get approved automatically and when they don't right so that is the first set of challenges that we're seeing the onboarding a new user shows up at your app how do you onboard them as a user that's challenge number one but then the second challenge that we're seeing and that's where we're going to Deep dive is the interoperability challenge right I have a user they have a wallet does that wallet hi by the way does that wallet need to interact with other apps right for a subset of users the answer is no right if I am a Trader in Ohio and I want access to tokenized land or I am uh you know um someone in wherever that I want to buy tokenized Pokemon cards for me the answer is as long as I have access to that site and I can easily log in and I can buy the thing I'm done but there's a second group of types of apps where it's about taking what you created an App app one and starting to share that across app two and app three and app four right that's the interoperability uh experience right how do you take something that started as a siloed embedded wallet right siloed keys that were created on site a and expand that to site B and sight C and site D Etc and that's going to be the focus of this kind of conversation we'll actually uh within we made it 6 minutes and we can finally dive into the topic so what we I'll do next is I'll go go through one more level of detail and well then we'll talk about some strategies that we're seeing on embedded wallets and specifically how uh you can take kind of that siloed wallet siloed keys that you created on app a whether it's MPC or trusted execution environments or anything of that sort and take it to app b and c and d right so at the very basic level this is not a solved problem right this has not been solved there are multiple ways to approach this right one question is is will global wallets be branded right we'll touch on an example that actually launched 24 hours ago and we'll analyze that towards the end but what would the ux look like is it a popup is it something else what percent of customers actually care about this stuff and will folks have multiple wallets multiple Global wallets just like I have multiple metam mask wallet or I have a mam mask and a coinbase wallet well I potentially have multiple kind of global embedded wallets so there are several approaches we'll go through them it's a list of eight some I will warn you in advance are not very interesting some are exciting to the extent that you can say interoperability is exciting but we'll go through all of them okay so the first is a very simple option I log into a website I log in with my email and password and after I log in I generate a wallet I can take the private key of that wallet whether it's a te te based kind of you know system or whether it's NPC and you have some sort of ceremony to send the shares and kind of generate the the private key you take the private key and you import it into a metam mask and you're done at that point you can access the wallet through that first interface or access the wallet through the second interface which is metam mask or coinbase wallet or anything of that sort it's a very simple approach it can work today and it's semi- elegant the only problem is users have to touch a private key which is a terrible idea for like 17 reasons but that is an approach that exists in the market second approach is the following it's an approach that we're seeing with uh some providers in the market today which is H give your embedded wallet wallet connect capabilities right so let your embedded wallet connect to any third party website very quickly just like and they act just just like they're wallet connect wallet right there's several providers in the market that do this and it's a again pretty elegant approach but now you have to educate someone about what wallet connect is how QR codes work that type of stuff has some challenges right that's approach number two approach number three again that's an approach we see on a day-to-day basis asset migration you're done with service a you just transfer stuff into your metam mask or your coinbase wallet okay as an approach I would rate that out of a scale of seven let's rate that like a three three and three and a half is that like a four I don't know like three and a half four uh the problem is you're kind of in the first approach in slide one we showed that you can replicate the key right you can use it on website a and you can use it in manam mask here you're essentially depleting assets from your embedded wallet and moving into Global wallet but that's an approach that that exists again these are all kind of spectrum of approaches we'll get to the more interesting stuff in a second this approach is essentially an approach that I think is slightly similar to what coinbase took yesterday with their Global wallets right which is you generate an embedded wallet but that embedded wallet is inherently a branded account within a a bigger kind of uh kind of coinbase ecosystem or made m ecosystem with a snap or something of that sort right so that is an interesting approach which is you say okay I will go to a website I will recognize the mamass snaps logo or the coinbase logo I will that is in my mind the global branded wallet I will still potentially log in with an email or social but then when I open my coinbase app or made a mask app that will exist as well right and we'll touch upon that in a second which is I think slightly similar to to the coinbase approach from a couple from at this point two days ago or a day ago uh which is a really interesting approach now we're starting to get to like the the the more interesting approaches which is combining uh kind of EAS and account of traction and with those approaches what you really do is as an example is you generate an embedded wallet a siloed embedded wallet and you use the EA part dynamic part just as Aigner to an account abstraction layer right so there's an EA layer there's a zero Dev or a bomy or safe or an Alchemy at the account abstraction and the assets get held at the account abstraction layer what did that what does that give us that lets us add a second signer as a controller to that same account so inherently I can add metam mask or coinbase as a second signer to my same account and then control that not using the embedded wallet signer but rather using a mamass signer that approach has some challenges which is now you have to develop an interface where folks can see kind of the the the um kind of wallets they have attached to their Master EA to their Global kind of branded wallet that they have in their pocket it's a non-trivial problem but that that is an another approach that is super interesting which is actually handle this not at the eoa level but handle it at the account of level and play around with signers right that's like another really cool uh approach um this one I'm actually really passionate about I call this the forecaster approach uh who by the way here is using foraster holy okay please follow me just it at foraster this this conversation will be worth it if everyone follows me but uh um foraster as we see from the kind of the number of hands raised is becoming our web at least our web 3 identity Hub and if it's our web 3 identity Hub potentially it can be used to essentially connect all the embedded wallets and have them kind of associate with that forecast or lens profile forecaster today as an example lets you connect your salana wallet and multiple evm wallets to that same account and let you verify your credentials and kind of own them all within your farcaster account and then when you connect through a frame you can report on all those credentials right in the same way there's no real reason why you shouldn't be able to connect your embedded wallets to your forecaster account and report on those and create that forecaster Hub as your identity Hub in crypto at least it's an interesting approach again we're talking about small numbers here it's not kind of a you know we all know and love foraster it's still a small community right but ideally you use your existing identity hubs as where you store this information and how you organize your wallets rather than trying to come up with a new embedded wallet Global solution right so that's another interesting approach I'm I'm I'm pretty bullish on this one and we see it in action with I think farcaster reported uh 12,000 salana wallets connected within 24 24 hours of launching it right so it's it's this really interesting approach now we're getting to kind of one more approach uh how am I doing it on time okay great I have six minutes so one more approach that I think is uniquely interesting which is the AA across the board approach which is technically what you can do is again use an eoa embedded wallet like Dynamic add an AA layer and then attach and detach that AA layer to a global account abstraction wallet using some sort of signing process so essentially create child accounts within your Global account abstraction wallet to that associate with the account you created on a website and then you can play around with the kind of sessions or roles or permissions that that sub account gets that child account gets in a really interesting way and so we see this is still I would call that this is a uh you know uh far from fluish I don't think there's still enough account abstraction wallets with traction potentially uh one day uh a metam mask will that layer wink wink uh but the the the idea would be that you can start if you have account abstraction everywhere you can start creating more detailed links right the Flow by the way can be I'm not going to go into too much detail but the flow can be some sort of connection flow where you use some sort of QR code uh to connect to that smart account wallet the global wallet and kind of link them together or attach them together through a transaction now what I want to focus on next is actually an example from the last 24 hours that I thought was super interesting um you know we're we're big uh coinbase fans and they they launch something super interesting with their smart wallet and that's a take on Smart wallets and account abstraction in global wallets right so what they did right is is you click a button and that prompts you that pops up kind of a domain a coinbase domain where you can uh kind of create a new wallet it's brand so you see the coinbase logo and it's hidden here a little bit but you see the coinbase logo as soon as you load it up you create your account and then every time you want to sign a transaction it pro prompts kind of an iframe signs and then closes the I frame right and that is an interesting approach it's very similar to our approach number four that we talked about which is this approach of signing happens in a trusted environment on some sort of iframe but in a very branded way right so so you it's not like an email login it is your coinbase wallet right so that is one example just from the last 24 hours of a very unique take and a very interesting and Innovative take on how to think about uh Global wallets right so that is one really cool thing now there are many many many many unanswered questions right about this stuff right the first one is how do you recognize a global wallet right so if I were to go to Amazon and Lo in with my email and buy something and then go to Target and log in with the same email and buy something and see my Amazon purchases that will be really weird right you need it's not necessarily an engineering problem as much as a user experience problem right it's an education problem it's a problem of when should I expect a wallet to be Global should I even know a wallet exists on the first app right and do I need to educate someone that they have a wallet on the first app in order to tell them they might have the same wallet on the second app so that is a really interesting challenge the there should be a second thing which is you know you see this in plaid uh land if someone has used plaid before to connect their wallet to connect their uh um you know bank accounts plat is a portal that shows you all the websites you connected to across their system but for that you need to recognize the Plaid brand right and so there's a second question is is there a portal where you manage all your wallets when you start moving from Silo to embedded wallets and then the last question that I think is is you know I don't touching on it enough here but there's a really critical question which is security right if there's a global wallet then inh herity you have to think about how does the Rogue app of a random developer doesn't impact my app right and so trusted environments popping up I frames you know very similar to log in with Google where it's done in their own kind of system are pretty critical here right they start kind of playing this really big role in order to to deploy a global wallet in a trusted way right and that is pretty much it now I think all you know all decks need to end with kind of an aspirational inspirational summary which is you know we can make web 3 better but at a very basic level honestly like things are moving forward like it's pretty cool there there's a lot of innovation literally again from the last 24 hours with coinbase around this topic right there are a lot of really interesting snaps out there that are trying to do kind of this at the global wallet right where you can use MPC in order to abstract way how you create accounts with Madea mask right the they're they're obviously providers like Dynamic they're thinking about this from the embedded wallet first side right so there's a lot of really cool Innovation here and it's a it's interesting that I still honestly today this day I'm not sure which of the seven or eight or maybe there's a ninth approach which will win and with that I appreciate you guys listening thank you I will again end as a Shameless plug if you want to check out Dynamic go to dynamic. XYZ uh follow us on Twitter there's no URL but dynamic. XYZ I should have added a URL please everyone assume that it's there and uh if you need to if you want to ask questions I'll be around thank you guys for [Applause] listening
Automatic transcript — names and jargon may be misspelled.