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

Loading player…

Nitya Subramanian I Diving into Onchain UX, MPC Account Abstraction I Capsule I Pragma San Fran 2024

ETHGlobalThu, Oct 9, 2025, 12:00 AM

Speaker

Nitya Subramanian

Explore the future of onchain UX with Nitya Subramanian from Capsule at Pragma San Francisco 2024. Dive deep into multi-party computation (MPC), account abstraction, programmable signing, and global embedded wallets. Learn how these advanced technologies enhance crypto wallet security, simplify user onboarding, and enable seamless, secure cross-chain interactions. Discover how Capsule uses MPC and account abstraction to revolutionize wallet management, providing frictionless and secure blockchain experiences. 00:00 Intro: Improving UX with MPC & Account Abstraction 00:55 About Capsule: Simplifying Onchain Transactions 02:30 Crypto UX Problems: Lost Keys & Wallet Complexity 04:02 Importance of Crypto Wallets: Security & UX 04:36 Crypto Wallet Evolution: Standalone to Embedded 07:42 Embedded Wallets: Benefits & Fragmentation Issues 08:46 The Ideal Crypto Wallet: Web2 UX with Web3 Security 10:17 Key Problems: Wallet Fragmentation & Multi-chain UX 11:21 Challenges with Traditional Wallet Key Management 11:50 Types of Key Management: HSM & EOAs Explained 12:51 Shamir's Secret Sharing: Key Splitting Explained 13:20 MPC Explained: Secure Multi-party Computation 14:25 Benefits of MPC: Secure Multi-app Wallet Access 14:55 How MPC Complements Account Abstraction (AA) 15:57 Combining Web2 Convenience & Web3 Verifiability 16:29 Capsule Features: Easy Onboarding & Cross-App Use 16:59 Programmable Signing: Auto-Transaction Mode 17:28 Universal & Secure Wallet Connectors Explained 18:02 Capsule for Developers: Integrations & White-label 18:33 Conclusion & Resources: Capsule Developer Portal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 🇺🇸 *Pragma San Francisco* Pragma San Francisco 2024 was a special gathering of founders and builders that took place October 16th and 17th at The Contemporary Jewish Museum in San Francisco, CA. Pragma San Francisco 2024 was an opportunity discuss the future of web3 and reflect on the past. Watch the full Pragma San Francisco playlist here: https://youtube.com/playlist?list=PLXzKMXK2aHh4LcwDpGf_itZrAu7XRNb07&si=3x3y9J3avgNTITUe ETHGlobal's Pragma series takes place in cities around the world, and is designed to be a different kind of event. Pragma is a one-stage conference with founders-only on stage, bringing together a small group of curated attendees and speakers to discuss the future of web3 and reflect on the past. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ✅ *Follow Nitya Subramanian* X: https://x.com/_nityas ✅ *Follow ETHGlobal* X: https://x.com/ETHGlobal​ Warpcast: https://warpcast.com/ethglobal Website: https://ethglobal.com YouTube: https://www.youtube.com/c/ETHGlobal _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Are you interested in Ethereum development and entrepreneurship?_ 👉 Sign up for the next ETHGlobal event: https://ethglobal.com/events 🎁 Get exclusive access and perks with ETHGlobal Plus! https://ethglobal.com/plus 📣 Want us to throw an event in your city? Tell us where! https://ethglobal.com/city _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Transcript

[Music] uh next up I want to get ready for our next speaker and for this I'd like to bring on nitaa to tell you about how we can improve ux with MPC and account abstraction so without further Ado let's welcome her on stage all right hi everyone um I'm Nia and uh as carthic mentioned I'm here to dive into onchain ux um so we'll be talking about a few different paradigms um MPC or multiparty computation account abstraction um permissions more broadly and how all of these tie into what um some of the the earlier um versions of crypto ux have looked like and what we can kind of expect going forward um as um as all these Technologies are now coming um to fruition so a little bit about me first uh I uh started my career in fintech worked on the cell protocol um on stable coin payments for several years and um we started capsule in 2022 uh with really the goal of simplifying onchain interaction um and so what does that really mean um capsule helps uh apps and ecosystems go beyond onboarding users um and actually helps them um transact onchain more easily um so these are some of the the teams that we are fortunate to work with um and on the right side uh there's a a screenshot of our product um we basically make it easy to create new wallets with uh social login Twitter handle email phone number uh you name it you can connect a wallet if you already have one um really anything in between um what's exciting is that if you've already signed up and you have an embedded wallet you don't need to create that wallet again you don't need to onboard again even if you're in a different app um so you can onboard one transact everywhere and so how do we do that um so I'm going to kind of dive into a lot of the key management fundamentals that make this possible to do um both from a ux perspective as well as um from a key management cryptography perspective so maybe taking a step back um it feels like we've been talking about Key Management basically from the beginning of crypto um you may or may not know but nearly 40% of all Bitcoin in existence is currently inaccessible um and this is because people either lost their keys they've um forgotten their private Keys they've thrown away their laptop some reason or the other um and from a ux perspective we have this second order effect where even if um someone is able to remember their seed phrase remember their their private key um crypto we have two different concepts um we have daps uh where people decide what they're going to do maybe I'm buying an nft maybe I'm going to swap two tokens and then there's wallets um and so daps are really respons responsible for pulling data from the chain showing that to users uh and then wallets are right the separate product that are actually the Arbiter of what ultimately gets put on chain um and the separation of concerns is um pretty critical to our space um and so uh in web 2 of course all this happens in one app I go to Twitter I decide what I'm going to post um and I just go ahead and push a button and that happens and everyone can see it uh but in in web 3 this is happening across two different products and this is really because um the the kind of fundamental nature of of crypto and a seed phrase is that if you have that seed phrase you it doesn't matter if you're the right person the wrong person somebody stole it from you you can do anything you want with that key uh and so the separation of concerns has been very critical um in order to keep um people safe and keep transactions safe to protect from things like fishing attacks um and so we'll kind of come back to this uh over the the course of the talk um and why this is so important um but we can see here that wallets are are really really important to the space um they have two uh main concerns they're both a product like the mobile wallet that we might have installed or an extension that we have in our browser um they're both that and also a a broader platform for deciding what um how to present a transaction to a user and get that information across so taking a look um we actually see that wallets are not just one product or one like standalone functionality but they're actually a whole stack of features and I think it's a big part of the reason we've seen so much happen in the wallet space over the last couple of years is that wallets um and now I think there's a lot of chat um chat around um are wallets the next Super apps like I think a lot of these Trends come from the fact that wallets have many many different responsibilities um the first is um is user interface um nearly any wallet that we use has some kind of interface whether it's the the dialogue on our hard Ware wallet um or the uh the interface on something like our metamask wallet um they're responsible for authentication um most wallets that we have on our phones probably have some kind of face ID attached to them um or have some kind of iCloud backup um identity and authentication um is another important element here um and authentication more broadly uh it's a wallet is basically allowing you to ascertain and to prove that the information you're putting on chain comes from your wallet um what are also responsible for forming transactions so taking the um the raw transaction um hex and formatting it into something that makes sense to you and me um something like what is the amount being swapped what are the tokens what is the contract um now we we have wallets that will show us transaction simulations in some cases like what is actually going to happen um and that kind of goes into the verification piece as well where uh we're now seeing wallets extend further into is this a trusted contract is this a new contract um how reputable is um is this uh set of this this entity on chain that I'm about to interact with um there's of course signing um we've all probably pushed a sign transaction button at some point in our in our lives and uh and then of course node infrastructure and so there are um some wallets that will also verticalized wallet infrastructure um sometimes integrating functionality like um Mev protect uh but the node infrastructure is another um key part of this whole stack as well and actually getting that transaction on chain so the wallet and Skip as I mentioned is evolved quite a bit um from the kind of paper wallet or Hardware public private key pair of of the early Bitcoin days um and here's just really four um examples of this so the in the the kind of beginning we had um these Standalone wallets a lot of these were extensions um maybe they were mobile wallets but the core set of responsibilities here was basically parsing transactions showing them to user and collecting that approval um I think Hardware wallets are a a great example of that continued um very uh very uh defined set of responsibilities um then we had the second kind of Act of this um which are app wallets so they're wallets that also have some integrated functionality and I think most wallets in the first category are now in the second category and include some kind of app functionality maybe something like being able to register an ens name directly from your wallet being able to swap directly from a wallet all of this has now um been much more uh vertically integrated over time and then in the last couple of years um we started to see embedded wallets um so why are embedded wallets interesting um what embedded wallets basically did was say rather than having um a wallet that manages all of these interfaces with different deps we're going to have one app one wallet for every single app and therefore prevent the need for us to switch back and forth deal with transaction prompts and really we're going to give every single user in every app their own wallet um just in the course of transacting this created a problem of course um a big one being that now every app we're using has its own wallet um with its own funds um with its own set of separate um fragmentation and so we have kind of a fourth phase to that which are um the cross app embedded wallets or Global embedded wallets there's a lot of different terms for this um and what makes act four important is that it seeks to combine the benefits of the earlier phases of these Standalone wallets namely interoperability I can bring my um my credentials and my identity and my wallet with me everywhere I go with the convenience and ease of use of act three or the um that specific embedded wallets uh and so this is a problem with um a lot of very interesting um axes to it uh security being a big one um if we give every single app access to do whatever they want to to the same wallet it's only a matter of time before the wallet gets drained um and we've seen cases of that happening even in the traditional um wallet world where people will put their private keys in in multiple wallets and then one gets hacked and um you end up with these big uh Ripple effects um but security is a big challenge here and then ux is also another big challenge is how do you communicate um that scope of to an app as well as a user of what is allowed to happen um and so you end up with this large kind of session management asset um asset sort of specification problem and of course you want to do all of this in a user-friendly way otherwise um otherwise we've now just taken a step back as well and so um what we can kind of describe here as this endgame or this ideal state of the wallet experience is the best of web 2 this fully abstracted ux I arrive to an app I I make my account or I sign in with Google or one of those things and then I can just like be Off to the Races and start transacting right away um without really needing to have this notion of multiple applications I'm switching back and forth from but then also port ability and verifiability um what is the reason that we're doing all of this on chain to begin with it's because we want to have the um the the verifiability of something being on chain something coming from a given address um being able to acrew reputation to a given address across multiple apps um and then portability being a big part of that is now now that my assets are on chain they're truly mine and I can take them wherever I please so what are the remaining big problems and obstacles to us getting here um first uh as I mentioned earlier now we have dozens and dozens of wallets each of of which maybe have $10 or less of of value in them or maybe there's one nft in each of them um and there's this kind of complex management problem of where actually is my wallet or wallets and where actually is um my onchain uh data and then um a second is that uh we're um we' had a lot of advances with account obstruction and we're um still in a world where account abstraction um we're thinking about how do we scale that to the multi-chain world um another big thing that's happened in the last couple of years is we've gone from having a somewhat constrainted set of maybe a dozen um or dozens of chains to now hundreds or even thousands of chains um that a user can be expected to have some kind of interaction with um and so these all boil down to very fundamental problems what I mentioned earlier to sign a transaction you actually need to have a private key um and so if we want 10 people to sign a transaction all 10 of those people need to have the same private key if they want to sign from that wallet um and then uh this convenience of sort of sharding keys which is what allows a lot of um app specific embedded wallets to work has a lot of challenges in um going cross app uh where you end up with big challenges around security censorship resistance and ultimately losing uh composability as well um as a trade-off to that convenience so um I'm kind of going to go a little bit deep here around different approach to Key Management and the different guarantees that you get from them and how they work um and this will uh kind of help explain some of the um some of the the later uh topics so um first we have uh HSM or eoa based approaches so this is where a private key is either held um in my U mobile wallet so maybe I backed it up to iCloud maybe I get a seed phrase um maybe it's an HSM so it's held in a secure Enclave remotely somewhere in um in a in a cloud system that I may or may not have access to um any such system um signing is quite simple there's a private key that's generated at some point and then it's signed and then a transaction is signed with that private key again sometimes that happens on my device off my device but um more or less uh it's it's a very similar um set of steps the second is a technique called shim your secret sharing um what this does is uh I'm still generating a private key but then what I'm doing is I'm splitting it into multiple different parts um and some some of those parts might be held by a user some of them might be um managed by a social login some of them might be stored by a third party um but then whenever I want to sign um I will have to reconstruct those shares and put them back together and then sign with the resulting private key um and so we see that once again anywhere that I need to sign from um I do need to have a private key there um and give as a result some environment that I'm signing from access um and then uh the third is uh MPC uh and so what MPC or multiart computation allows you to do is generate uh the set of keys via a dkg or distrib Ed key generation ceremony and what you get from this are two shares um a little bit different from the Shamir secret sharing um notion in that you don't actually have to recombine these Keys into one place to sign a transaction you get this multi-round protocol that um you can execute that allows you to to obtain a signature from that private key equivalent um and to do all of this without doing this recombination and so um this gets us some really interesting properties namely that you can have a set of shares um that don't need to be combined into one place that can still get us a signature from that private key what's really interesting and um quite special about this property is that now we can sign a transaction from really anywhere we choose without revealing the details of the full private key to the environment where the signing is happening um so this now means that my same wall at my same address I can have that um signature generated from any of the 20 apps that I used uh last last week without any of those applications having access to my private key so now any of those apps get hacked or compromised in some way my private key has not been compromised or exposed and then um might you might ask how this um kind of corresponds to account abstraction uh the the two properties are very complimentary so a lot of account abstraction schemes have um something like different session keys that might have programmable logic um and that are all signers on a single account obstruction wallet on a single chain um this gives us a lot of flexibility to encode logic around how to sign transactions into a smart contract um NPC kind of allows this to level up by then making this entire scheme multi-chain um where you can have these AA setups on um any of the the Dozen chains that uh I'm using and use the same account from a user facing perspective to actually initiate transactions and interact with the blockchain um and so what we do here is we get all of this nice um nice kind of uh expressivity of how we want a transaction to be specified we can have that on chain and um we kind of have our cake and eat it too without needing to deal with lots of different signers and lots of different wallets um and so here we can kind of reframe the earlier thought which is that um we have the best of web 2 that fully abstracted ux what that really looks like is easy transaction signing no popups no inspecting Json none of that and with the portab portability and verifiability of web 3 which really just boils down to programmable MPC session Keys a lot of these in conjunction um and here we have a screenshot of uh transaction approvals uh and kind of how we can be really granular about what this access looks like um so now I'm just going to walk through a few um a few features of capsule and how we think about this um so the first is of course easy user onboarding um no writing down seed phrases not dealing with um any kind of new app downloads but just if you have a wallet connected if if you don't sign in the way you would with any other app um Multi-Device compatibility so this is something that um in a world where uh pass keys are really popular um building in the Frameworks to make sure that even though there's um pass keys and we're using the security of a device um you can still kind of access your wallet from anywhere that you need to um and then the third is kind of single sign on that scales across multiple different chains um then kind of uh going a little bit further um we have this programable signing um so what this looks like is uh Auto transaction mode um which is something that we've rolled out um somewhat recently and um what you can do here is basically within the course of a session you can have transactions execute in the background um provided they conform to certain specifications so from that diagram earlier of the different MPC signers and then some logic that gets evaluated a lot of that is expressed here where maybe uh I log into an amm and I allow automatic swaps up to a certain amount so a lot of that granulat logic um and then of course wallet connectors and then um all of this kind of boiling down to wallets that are both Universal so usable anywhere that um that a wallet could be uh accepted or could be connected uh along with uh security and really walled off access um so that a given um exploit for a given app or um any sort of uh any sort of challenges on a specific app level don't lead to broader contagion um across the the overall system um and then um here's just a couple of examples of of how this works so um and this is maybe more for folks who are excited about building um can white label capsule can use the modal drop in react components as um as pleased we even have a metamask account um that's powered by capsule NPC so really anywhere wallet connect Works anywhere metamask Works um these wallets are are usable uh and that's really it so um anyone who's excited about either building over the course of hackathon um will be around uh or wants to just learn more here are a couple of QR codes um the first one um get started is to our developer portal uh and then um we also have a link to our website uh a note for anyone um might bef based we are also uh hiring Engineers right now and so uh really excited to kind of connect with more folks uh who are excited about these topics thanks so much [Applause] [Music]

Automatic transcript — names and jargon may be misspelled.