EIP-7702 & MPC: A love story - Arik Galansky

EthPrague 2025 · May 2025 · 29:07

Arik Galansky presents EIP-7702 combined with multi-party computation (MPC) wallet stacks as a layered account model for institutions and power users. With EIP-7702 turning every EOA into a smart account, the talk shows how splitting the EOA key, layering privacy-preserving policies off-chain and adding programmable logic on-chain aims at an account architecture without compromises. It argues that account abstraction debates comparing plain EOAs with ERC-4337 smart wallets overlook the billions already secured by MPC in production.

Speakers

Topics

From EthPrague 2025, hosted by ETHPrague.

Transcript

[Music] Um okay so we'll start um okay so uh I want to start with talking for a second about what's the purpose of of this uh session um it's not about good or bad technologies what I want to talk about is a bit about how EIP like the Ethereum proposals a lot of times when we think about them we think about them in a closed world of Ethereum like the EVMs, the EIPs, how do EAPs interact, right? But sometimes those technologies uh um they have good or bad combinations with other technologies that are not

necessarily part of Ethereum, but are just out there, right? And I think this is an angle to look at EIPs, specifically this one, which like I've been heavily involved in, so I have a lot of opinions on it. Um and most of them are favorable. Um but yeah, so I think it's like an angle, right? Like so and we can apply that angle to other AAPs as well. It doesn't only relate to 7702, but 7702 is a really interesting case study, I think. Um great. So um two words about myself. Uh as as mentioned, I'm the VP of technology at Fireblocks.

Uh I know at these conferences, not every time everybody knows Fireblock. So Firefox is a very big provider of infrastructure for companies building on the blockchain. We work with a lot of institutions. It's either companies who build on the blockchains or companies that use the blockchain. Um, and as you can see, uh, we we're basically like a lot of our technologies built around an NPC wallet, but actually there's a lot of other things as well because we tailor to the use case. We talk to users, our users, our companies. A lot of the companies you use when you touch crypto um, use Fireblocks uh, beneath the surface. Um, okay, great. So um we start with talking about the account right so there's two kind of accounts in

Ethereum I'm not going to go deep into this but like there's the EOAs there's the smart contracts and basically each one has one advantage one disadvantage EOA can start transactions but it cannot execute code um smart contracts can execute code but cannot start transaction right this is kind of the beginning of our story um and even though it seems like they're one one Um, we constantly hear EOAs are bad. Uh, you don't want to use an EOA. EOA is bad. We need to, uh, remove them. And here's a bunch of reasons why EOAs are not good, right? Single point of failure, your seed phrase, if you lose it, if it's stolen, you lose all of your money. Um, no backup, no recovery built into this,

no security built into the account. Uh, so some might say EOAs are not secure. Um, you have to hold ETH to make a transaction. So onboarding is really hard because you need to get ETH. How do you get ETH? No batching support, no gasless support, no permission and access control, any transaction or they're all the same onchain, uh no session keys. There's a bunch more, right? So like there's a bunch of reasons people say why EOAs are bad. Um and to make things worse uh somebody came in and said oh actually you know the one problem the smart contracts had where they cannot send transactions we solved it um slightly different it's a bit complicated but

with the introduction of ERC 4337 to some extent smart contracts or smart contract wallets can execute a transaction can send a transaction again People who are familiar with 437 understand there's a bit of complexity behind the scenes. Doesn't matter though. It does allow you to send a transaction. So given all of the shortcomings of EOAs and the fact we just solved the problem of smart contracts, you would expect it would be an easy decision uh for people to start just using smart contract wallets all the time. Uh maybe we we don't even need the EOA, right? Like like maybe maybe we should throw it out. I know it's not as like it hasn't been actively pushed, but like a lot of people are thinking that like we don't need the OA anymore. Like

we have a better solution. Um but uh actually there's a few things that are good about EOAs. Uh and we don't talk about them a lot. So here's a list of a few. First of all, EOAs cost zero to create. Okay, you just create a key and you have an EOA. You It doesn't cost you any gas. You can create them on multiple chains free. still free. It's the cheapest one to transact. It is still meaningfully cheaper than smart contract wallets, especially on a more expensive chain. Obviously, on a cheaper chain, it's less important. Um, there's a lot of tools around EOAs, right? If you want to simulate a transaction of an EOA, if you want to like you want to safeguard, there's so many tools built around EOAs.

Uh, there's not a lot of tools yet built around uh other smart contracts. And there's a lot of smart contracts. If you even have a tool, you will not necessarily support all different smart contracts implementations. There's maturity around the EO ecosystem and and maturity matters, right? So like like tools are battle tested. They've been there for a while. We know how they work. Also, we have processes like we as people but also companies, we have processes around the OAS. Uh they support all DAPs. Even today smart contract wallets do not support every DAP because some DAPs cannot be uh uh modified, right? So like there's immutable DAPs that will never support uh smart contract wallets. Um if you have locked value somehow, right?

Whether if it's in some DeFi protocol, whether if it's thing you hold your reputation, all of those things, if you want to move wallets to a smart contract wallet, you need to basically give that up. Uh right, you need to maybe take money out of the uh the DeFi protocol it's in, move it to the new wallet, put it back in. You're not necessarily getting the same conditions. uh so things can change and you can sign messages. Now signing messages sound like it has been replaced by 12 EIP1271 to for people familiar but actually signing message is a capability that people use they use it in identity products unrelated to even the blockchain so like the signing aspect of it is also important so there's advantages to an AA okay like we don't like to talk about it but there's

advantages um and so the comparison is a bit more complex okay this is obviously not an extensive list but it's like it's a complex decision what do I want do Do I want an EOA? Do I want a smart contract wallet? And you would expect it maybe to be 50/50. Um, but actually uh 99.99% and this is like a year ago, right? So it's not necessarily and this is a comparison specifically to account abstraction wallets, not all smart wallets. Uh but uh just as a point, right? And specifically it's from a year ago because I didn't want the new things around 772 to impact the data, right?

This was this was the day the stage of adoption like a year ago for account abstraction. Um, and I'm not saying it's because the technology is not good, just to be uh clear, but like this is obviously what like people have been doing. And there's Oh, sorry. Uh, now another idea came in, right? Like account abstraction is something a lot of people wanted to push, but it would push in a very specific way, the 4337 way, which is uh turn and replace. Like drop this thing, use this thing instead.

It's better. And the turn replace strategy was advancing. It was making impact but it didn't work to move people uh to a new technology. Um but what if we take a different approach, right? What if we take instead the approach of upgrade? Uh instead of having asking people to move, we're going to ask them to upgrade their EOA. We'll just make EOAs much much better. Okay. So how do you make an EOA better? Uh and the first thing we're going to go is actually we're going to go outside of the uh accountaction world into MPC which is again like an area we're very familiar with. Uh so what is MPC? I'm sure not everybody's here familiar with it but I will also not go deep into this. Won't

spend a lot of time. Uh the idea is that there's two things that construct when people talk about NPC they usually talk about two things uh in the process. One is creating the key in a decentralized way. Uh so basically the the regular process that people have when they think about splitting the key into multiple parts is you create a key and then you split it but then you had the key. What if somebody stole it just at that moment of creation? What if somebody was in your machine and stole it? So you don't want that to happen. What you want in a NPC situation is the key to just be created by some communication process but nobody ever held the full key. And this is kind of like the small magic of

MPC. You we can go into that but like it it kind of feels like it's not really reasonable but actually it's very simple also. So it's like an interesting thing. Uh so there is no key. It's not like somebody's holding the private key. There is no private key but there is a virtualized representation of a private key. Uh and multiple parties hold multiple parts of like parts of it. Um the second thing is the threshold signature scheme. So if we already created a key in this very sophisticated process so that nobody ever had the key, it would be kind of silly if we needed to reconstruct the key to sign, right?

Why did we work so hard? So instead, what we're going to have is again a communication process between multiple parties where they exchange some information and by that they create a signature without anybody getting uh any access to other parts of the key that they shouldn't have. Okay. So decentralized key generation, decentralized signing. So if you split the key in this method into three parties, they were never exposed to any of the other parts. They can never get exposed to them. It's always uh fully secure one from the other. Um okay. So what do you want to put on top of this? If we have this process where we split the key and again in the Fireblock situation, think about

the fact that it might be Fireblocks as a service providing holding some parts of the key and then maybe the client is holding other parts of the key. Without their parts of the key, we cannot do anything because like we don't have a full key and without our parts of the key, they might not be able to do anything. And again, we can go into backup and other things afterwards. So they they still have non-custodial solution because they do. Uh but the thing that we want to make sure is eventually we want to make sure that this is secure. So we have the security one from the other but we also want security from the rest of the attackers.

So we kind of want to put it in a TE. Now I this kind of became again like when people talk about MPC wallets they automatically assume or should assume that the MPC run inside a trusted execution environment which you can think about is basically the code runs in some vault. Nobody from the outside world can look in. Nobody from the outside world can change what's happening inside. So we can give basically verifiable at a station that the code that we expected to run is the code that ran. So nobody changed the code and you cannot look at the secret material that we have in there. So the share that we use for the signing process is not exposed. Uh um and again we can go into this technology but

actually it's became very popular recently. So I'm assuming a lot of people got exposed to tees um already. So we have MPC and TE. We put that on top of our wallet. And what can we get out of it? So what we can get is now there is no single point of failure. You remember we said that the problem with EOA is it's like one key and if you lose it it's one passphrase. There is no passphrase. There is no one key. There's multiple shares that are held in different places. You can think about it as similar to a multi-IG just not on the chain. It's outside there. It's happening before things hit the chain, right? So there's no single point of failure and you can do very robust access control. Like one of the problems

with access control in smart contract wallets is that now you need to take this code that can be quite complex and you put it on chain. And so what most smart contract wallets did so far for good reasons, they kept it simple. So we can do simple conditions. So most multisigs have like this rule don't spend over whatever 500k uh uh in a day maybe or without getting five signatures. But like some of our clients have like a 100 rules for transaction with this contract. If they happen between these hours if the amount is like this you have three people approving. But if it's a bit more then you have seven people approving. And it like you can start doing very complex thing because it doesn't have to all

reside on chain in the same way that like smart contracts do. So you get very robust access control. You get security in depth. We have cryptographic security. We have hardware security and we have policy security just as a start. Right? So we have a lot of layers of security. If you go around one of them, you're not necessarily able to go around another. Um, you have new options of backup and recovery because one of the cool things about how you split MPC shares and again kind of magic but like but actually also not very uh complex when you go into this. You can create multiple permutations of the same key.

So I can have the same key split into five and split into three. Okay. So now if I have an operational like keys happening here, I lost one of them. Maybe I have an additional split on a different place. So like there's a lot of new backup capabilities that you can bring into this. And you actually get some privacy because nobody knows what happens behind your MPC. The MPC produces a regular ECDSA signature. So you get privacy for your internal operations. You don't get privacy on how much money moved and to which address, which is what most people talk about, privacy. That's what they're concerned about. But I will tell you companies are very concerned about wait a sec everybody in the world can now see my

entire operation book on chain like that's a problem I cannot operate like that uh it can suddenly become dangerous to to go somewhere because people know that I'm the fifth guy that signs a transaction in some situation you know so like there's there's a lot of value in that okay so we added a few things into the mix right we improved multisecond access control we improved backup recovery We added some privacy. Let's continue. Um, now we're adding 7702. Now again, I won't go into details about how 7702 works, but just in simple terms, you have an EOA. You can delegate to some contract the ability to run code for your EOA. You can think about it simplistically as now my EOA has code.

Okay? And this is my code. Um, and there's a lot of specific characteristic to it. You can redelegate, you can cancel delegations. Once you delegate, it sticks until you do one of those operations. You can do the delegation gaslessly. So, you don't need to produce a transaction that does the delegation. Somebody else can do it for you. Um, I think those are like the main main things. Uh, it's been activated recently, right? It's a very new thing out of Spectra. Um, now what does this mean in the grand scheme of things? It means that now if before that we had this one and one at some point smart contracts had like the full row now EOAS have the full row as well and there's two benefits to this one it makes EOA

better the other it makes EOAs and smart contracts wallets compatible in an interesting way right so instead of thinking about the EOA and the smart contract wallet I can think about a conceptual smart contract enabled accounts now you're either enabled because you're a smart contract or you're enabled because you delegated to a smart contract. They have different characteristics on the implementation level, but on the API, they have a lot of the same API. So, we can start thinking about it in this way. We can start working with them as this framework implies. I don't know how you implement it, but if you can do this thing, if if it quacks like a duck, right? Like I can I can use it. If if

you if I know you can do this thing, I can use it even though I'm not sure in which way you defined this if we have the right standards. Uh and we'll talk about it a bit. So uh with the introduction of 7702, anything that required the ability to run code is now open to EOAs, right? So now our EOA can also execute gaslessly because you can just do it with the smart contract, right? If it supports signature verification of a 712 message, great, you can do gaseless uh transactions. Uh I didn't mention earlier that EOS can do Gasless, but only on tokens that support it specifically, right? But smart contracts can do gazas on everything. So this is a big improvement. You can do batching,

you can do session keys, you can do all of the cool things that uh running code on chain allows you and that creates a very powerful account. Right now we see we're getting a lot of the things. I'm sure there can there are things I can add here like uh postquantum security things like that that would be read on the EOA site. So I'm not saying it's the perfect account but it is very good. It gives us a lot of the things we need a lot of the things we want because what we do and this is like what I started this with. We're taking different capabilities from different technologies, right? The EOA is the mo is the fully compatible thing, right?

It's compatible with everything in Ethereum. The entire Ethereum ecosystem was built on EOAs. So having EOA as the base gives us compatibility to everything. Then we're taking MPC. MPC is a security layer. It gives you a lot of security capabilities. It gives you other things as well, but like security is a core core thing in what you get out of MPC. This is why institutions love using MPC because they really care about security. So you get that from the MPC and then you get the usability from the 7702. You get like the user experience capabilities. You get the improvements in in onboarding in in ongoing usage. So you take the best of different technologies and remember NPC is not is not an Ethereum technology, right? It's

a generic technology. The same MPC wallet can work on Bitcoin and Ethereum at the same time which is a different thing which is very valuable but uh I will leave that aside but I want to talk about the how. Okay. So we talked until now about the features we get right and why do we get them and how do we get them but I want to talk a bit about the how. And this to me is how I look at this EIP from an architect, right? From like a decision maker, a CTO of a startup or like or a or an established company trying to think, do I adopt this technology?

Should I adopt 437? Should I adopt 7702? Why? What are the trade-offs? So, there's two things about 7702 that are very powerful. Um, number one, it's backwards compatible. Okay. So, when we moved to 4337 accounts, we had to give up a lot of things in that move. Maybe it's a legit decision to give them up, but you do give up things. What do you give up? Uh, well, not give up in this case, right? Like in 7702, what do you get to to preserve? So, you can still create wallets for free. It doesn't cost you anything to create a wallet. If you want to enable 7702 on the wallet, you will pay for that enablement, but only when you want to use it. So if there's a

new blockchain, you just want to receive money in that blockchain. Great, no cost. Uh once you want to start using patching on that blockchain, you'll have to enable 7702. So it's delayed. So it's still free to create wallets uh on all chains and to maintain wallets on all chains. Uh um you create transactions cheaply, right? Because again, you can create a transaction as an EOA and you can create a transaction as a smart contract. You can do both things, but you can still do the cheap option if you want to do that. Uh and that's a very important if you're a company that creates a million wallets suddenly the cost of per wallet creation per wallet transaction becomes very important. Um you can do offline signatures. You can use every DAP even the DAPs that don't

support smart contracts. You can act as a smart contract when you want to but you can act as an EOA when you want to. So all DAPs support you. Uh you don't have to give up your SBTs. You don't have to exit any D5 positions you have. you uh and you keep your reputation, right? Like we talk a lot about identity recently and uh I've been thinking a lot about the fact my onchain identity might be useful at some point to prove that like I'm a real person, right? So like I don't have to give up my identity on chain. I have everything on my EOA. I just got an upgrade with 7702. But this backward compatibility when we think about EIPs is so critical because it's so hard to change to a technology that's not backward compatible. But the other

even harder things is changing to a technology that's not future proof and this is the other great thing about 7702 and it was almost like uh it was very close to this not being the case here. Okay, in the conversation about this EIP and making it happen and I'm very happy that we have this. So the account abstraction ecosystem is new. It's not fully defined. It's not fully standardized. We don't know who the winners are going to be. We're not we don't know which standards will win, which module framework will win, which con communication framework will win, which smart contract will win. Um, so it's very scary to choose a technology for your business. If it's just a

playground for you, for your wallet, great. But if you're a company and you need to choose a technology, choosing something that might not survive the test of time is very scary. Now the thing about 7702 is I can activate a wallet on my EOA right now because I'm not concerned if this wallet goes out not useful anymore. I'll de deactivate it and activate a new smart contract on my wallet on my EOA. That's very powerful. That gives me a lot of power. It actually what it gives me is the ability to adv advance without fear. Um so that's very the fact I can revoke delegations entirely. I can just go back to being an EOA if suddenly I decide this is I don't know too much risk for me. Um and I can choose different

delegations for different chains. Who said I want the same smart contracts on all my chains? Like no I might want a different smart contract on the same address. I just use different capabilities. Uh I can also do gradual upgrades and this is actually something we at Fireblocks as we adopt this technology. We believe in that. We don't think that with a new technology like 77 EAP7702 what we should do is implement everything we dreamt about right because we'll probably not hit all the right notes. So we're actually implementing gradually and the fact you can change implementations without restriction without caring if we kept the same parameters inside the the contract. That is very good for us and that is actually

what allows us to be part of that ecosystem. Right. One of the problems with account abstraction adoption until a year ago was a lot of companies did not participate. It was an entirely new ecosystem. All of the players were small. All of the players were new. They were inventing very cool things not being used by a lot of people. But now you can see what's happening, right? 7702 came up. UniS swap is uh doing things. Madamask is doing things. Fireblocks is doing things. All of the big companies in the space are adopting this because this actually allows us to play this game. This allows us to be participants and that's important when you want to get adoption. So I am a firm believer that we will get a lot of

adoption out of it. Now uh I do need to wrap up so I'll be quick about it. Um there's philosophical conversation about e about account abstraction. Is 4337 more account abstraction than 7702? is an EOA with a delegation still even in EOA there's like a lot of you know it's fun conversations I'm always happy to engage in them I have a lot of opinions I'll I'll spare you from them um I think what matters about this and this is maybe one of the biggest lessons that I hope with an ecosystem learn EAP72 prioritize the user okay over some technology decisions right like it didn't solve the key rotation it didn't

solve postquantum it just prior prioritized users uh and it gave the users the thing they need the thing they want uh uh and I think that's a good northstar when we're thinking about uh about such EIPs alongside thinking about other technologies you're going to be interconnecting with um that's it thank you very much uh you can uh reach out if this uh area interests you and please check out our awesome EAP7702 uh GitHub trying to make it easy for people to get into this technology.

Thank you. Uh thank you for the talk. Um I'm I'm a bit curious about um your combination of TE's and MPC. I it was not clear to me why using TE's anyways. Why why sorry why you're using TE's here. So like if I understand correctly the question I'll repeat it like why do we need both?

Right? Why do you need MPC and AP7702? No no why do you need T's and MPC for your solution initially that you mentioned? Oh why you need TPC? So uh you run an NPC NPC process defends parties from one another right that secure NPC the idea is you have two parties they can interact between them in a secure way so that in the communication they do not expose any information they shouldn't expose but what happens if there's a malicious actor on your machine right I don't want that actor to be able to get information allows me to put this code who is already protected from the other party to basically have it protected from you. So if somebody hacked your

device, you have malware, you have those kind of things. If it runs in a good trusted execution environment, secure enclave, you don't have access to it, right? The security model should be if you have root access, you should still not be able to access my information. I see. So you do not use T for verifiability in this case. You just you just try to isolate stuff. And so this is the security part. Okay. Another thing you can do with it and like we do with it is from um an aggregator perspective let's call it right somebody who runs the process you want to make sure they run proper process now generally speaking if even if they don't they can't do much because the MPC doesn't allow it but you still want to

verify you still want to make sure that the thing that is running should should be running is running so that's like another way you can basically check at stations now different tees give you different attestations but that's like very deep into this uh like you know Nitro versus like uh you know SGX they have different guarantees but that's like very deep into like specifics. Okay. So thank you and we have time for one more question or comment anybody? Yes.

Uh thank you for the presentation. Uh do you have any implementation of that like the MPC with T and um like the EIP7702 for somebody who use it like for uh a recommendation for what? Sorry. No like an implementation not a recommendation or just like idea that you are sharing here. So there's a lot like uh there's our ecosystem has a lot of MPC wallet infrastructures right a lot of them are targeting more the uh institutional side of things more to towards companies some of them do target uh also like their target audience is also uh what we call retail like the the end user uh but actually from the MPC wallets for for

retail I'm not sure if anybody implemented 7702 already there might be but I'm not 100% sure on the institution utional side again we we are implementing those things and we're going to be like our approach is basically we're adding more and more features to our product over time with 7702 so constantly like enabling more capabilities as time advances but again as to try out as a retail I'm not sure which one is uh like which one I can recommend right now okay thank you [Music]