Bankless - StarkWare Sessions #3 | Account Abstraction & EIP 4337 with Yoav Weiss
Episode Date: February 9, 2023Sometimes, the frontier is at a crypto conference. We’re returning from our adventures in Tel Aviv with nine exclusive interviews with some of the key players in the StarkNet space. Wish you could... make it to all the crypto conferences, but don't have the time? Don't worry, Bankless brings the frontier to you. In this episode, we’re talking to Yoav Weiss, a security fellow at the Ethereum Foundation and pioneer of account abstraction through EIP-4337. The future of smart contract wallets is massive—Yoav helps tell us how. ------ 📣 MetaMask Learn https://bankless.cc/metamaskshow ------ 🚀 JOIN THE NATION: https://newsletter.banklesshq.com/subscribe ------ BANKLESS SPONSOR TOOLS: 🐙KRAKEN | MOST-TRUSTED CRYPTO EXCHANGE https://bankless.cc/kraken 🦄UNISWAP | ON-CHAIN MARKETPLACE https://bankless.cc/uniswap ⚖️ ARBITRUM | SCALING ETHEREUM https://bankless.cc/Arbitrum 🚁 EARNIFI | CLAIM YOUR UNCLAIMED AIRDROPS https://bankless.cc/earnifi 👻 PHANTOM | CROSS-CHAIN WALLET https://bankless.cc/phantom ------ Timestamps: 0:00 Intro 3:45 Starknet and the Conference 5:30 Account Abstraction 7:30 EVM Equivalence 8:50 Huge Developments 10:30 Experimenting in Public 11:50 Smart Contract Wallets 15:30 The Future of Wallets 18:30 Yoav’s Interests ----- Resources: Yoav Weiss https://twitter.com/yoavw StarkNet https://starkware.co/starknet/ ----- Not financial or tax advice. This channel is strictly educational and is not investment advice or a solicitation to buy or sell any assets or to make any financial decisions. This video is not tax advice. Talk to your accountant. Do your own research. Disclosure. From time-to-time I may add links in this newsletter to products I use. I may receive commission if you make a purchase through one of these links. Additionally, the Bankless writers hold crypto assets. See our investment disclosures here: https://www.bankless.com/disclosures
Transcript
Discussion (0)
Welcome to Bankless, where we explore the frontier of internet money and internet finance.
And sometimes that frontier is at a conference.
Like last weekend, where over a thousand developers, founders, builders, and investors
attended the Starkware sessions in Tel Aviv in order to participate in growing the Starknet ecosystem.
This is Bankless's Starkware Session series, which are nine byte-sized episodes interviewing the founders,
builders, and ecosystem developers of Starknet.
Every once in a while in the crypto world, a conference happens.
but not everyone is available to attend.
Don't worry, bankless has your back,
because I go to basically every conference that's out on the frontier,
and I bring an entire podcast studio in tow with me
in order to make sure that the bankless nation stays on the frontier
of what's happening in crypto.
In this episode, I'm talking to Joav Weiss,
who is a security reacher at the Ethereum Foundation
and has been leading the charge behind ERC 4337,
which hopes to eventually turn into an EIP,
which will become a part of core Ethereum.
What does ERC 4337 do?
It enables account abstraction on the Ethereum layer one.
Starknet and other ZK roll-ups are going to be able to beat Ethereum layer one to the punch when it comes to enabling account abstraction and smart contract wallets, which is good because then they can come back and teach the Ethereum layer one about what needs to be built and how ERC 4337 needs to be constructed in order to have the best smart contract wallet experience possible.
So this is the second of two account abstraction smart contract.
wallet-related interviews, the first being
Mahdi from Bravo's. So I hope that
these two interviews can really take you from zero
to 60 about the world of smart contract wallets
and how they will eventually come to dominate
all of crypto, starting
with Starknet and ZK roll-ups, moving
on to other layer twos, and then eventually
to the Ethereum main net. I hope you
enjoy this interview with Yoav, but first
a moment to talk about some of these fantastic sponsors that
make this show possible. Cracking has been around
for almost as long as crypto itself.
As crazy as crypto is, Cracken has remained
a rock for its clients, building
out a platform designed to stand the test of time. Cracken is all about proof, not promises,
which is why they've pioneered a proof of reserves, a system that lets Cracken's customers
verify for themselves the solvency and responsibility of the Cracken exchange. And for this reason,
and many more, we've chosen Cracken as Bankless's strategic sponsor for 2023. And once you're
done using Cracken to get your dirty Fiat money into pristine crypto assets, perhaps you should
check out Arbitrum, where so much of the frontier of crypto innovation is taking place. Arbitrum
just announced their Stylist Initiative, which is their brand new programming environment
that lets developers deploy apps using their favorite programming languages like Rust, C, C++,
alongside regular old solidity EVM apps.
Stebs can use any coding language they like and it simultaneously drops layer two fees by an order
of magnitude.
It's a big deal.
So many of your favorite DPI apps have already deployed to Arbitrum like Uniswap.
But did you know that Uniswap isn't just for ERC 20 tokens anymore?
Uniswap is also an NFT aggregator too to make sure that you are getting the best price on
your NFC purchases. Uniswap gives NFT collectors and traders powerful tools, all from the cozy,
comfy Uniswap interface. By the way, it's also got a native Fiat on ramp. It's also deployed
on like every layer two, and it's got this nifty cool thing called a universal router that ensures
that you always get the best price on your trades. Crypto protocols like Arbitrum and Uniswop are becoming
super powerful. So make sure that you're also using a wallet that's equally as powerful or else
you'll be missing out. If you're looking to upgrade your wallet experience, check out Phantom,
The number one wallet of Salana, which has recently come to both Ethereum and Polygon.
Phantom has native NFT support, giving you your own NFT gallery from inside the wallet.
Phantom is both a browser extension and a mobile wallet, and is also the only wallet to span both the Solana and Ethereum ecosystems.
Check it out at phantom.com.com.com, station, once again, we are back in Tel Aviv, Israel,
and I'm talking to Yoav Weiss, who taught me almost everything that I know about account abstraction.
Yoav, how's it going, man?
Great, great, thank you.
What brings you to Starkware sessions all the way out here in Tel Aviv?
I actually live here.
Oh, okay.
So it's just down the street for you?
Yeah.
Like literally 20 minutes from here.
Oh, that's super convenient.
I am very jealous.
It took me 12 hours to get here.
So what's going on as it relates to just Starkware, Starknet,
and what brings you here specifically?
Like, what is going on here in this conference that really interests you?
So I've been focused on account upstaction, as you know.
and Starknet has this embedded in their chain.
So it's great and it's been great collaborating with them.
So I'm here to talk to people about it,
to help people understand it, to learn about it from people,
to talk to wallets.
There are many wallets here that are worth talking to.
And so this is, as far as I can tell, really,
the Starknet is really where the account extraction is actually
coming into fruition. It is kind of a conversation of EIPs on the Ethereum layer one,
but on Starknet, it's actually being developed as teams. And we have the Argent team,
we have the Bravo's team. So what's it like watching a lot of this account abstraction
theory turn into practice here on Starknet? So I've been also involved in that. I'm not watching
it from the sidelines. And Starknet account obstruction is actually based on the same ideas as
as ERC 4337.
It uses the same protection,
the same protection,
the same way to the central light,
to the central light things.
So it's just easier
when it comes to a,
when we're,
when building a new network,
it's easier to build it into the network.
So, you know, we started the ERC
in the form of an ELC
and not an EAP because it's easier to
standardize it across different networks.
And then Starknet
has been the first network to actually
put it into the consensus, but I expect that the same will happen in other layer tools,
and over time we'll even get into Ethereum, but this will take time, you know.
Is there, so what is the frontier of account abstraction, the frontier of smart contract
was? What have you learned, or what are you experiencing perhaps as a result of this conference
specifically, but overall on Starknet, like, what's the new, what's the new thing in the world
of account abstraction? So we see different use cases. These use cases having discussed before,
but now they become more feasible.
And when it's done at the network level, more efficiently,
it really opens up the design space.
The design space has been there all along,
but now that it can be done more cheaply and efficiently,
we're starting to see it really happen.
And can you just walk me again and the bankless listeners
about the synergies between specifically a ZK roll-up
and account extraction?
Why is ZK. Roll-up such an awesome fertile ground
for account abstraction?
I'm not sure it has to do with the fact that it's a Zika roll-up.
It could be done on another roll-up,
but the EVM roll-ups try to stay EVM equivalent initially,
so it's harder to make changes and deviate from the standard.
And in the case of Starkware,
since it's not EVM to begin with,
it's easier to experiment.
You don't have to obey any sense.
Any past wars?
Okay, so yeah, I want to unpack that a little bit,
because I think that's a good way to learn something cool about the world of Ethereum
and all the, also as layer two's.
Both arbitram and optimism attempt to be EVM equivalent.
And now if you want to be EVM equivalent,
you have to follow, like, what is the EVM on the Ethereum layer one?
And the Ethereum layer one is not account abstraction enabled
because that's something that we're working on.
And so perhaps why account abstraction and smart contract wallets like Bravo's and Argent,
have built, actually planted their feet in the world of Starknet,
is that Starknet never intended to be EVM equivalent.
They always forked off and made Cairo,
or just like where EVM, perhaps not even compatible,
they're just a different EVM chain,
and that's why they've been able to kind of leapfrog
in the world of ZK of a construction.
Is all that right?
Yeah, it certainly made it easier for them,
but I think that we'll see other layer tools,
other layer tools, the EVM equivalent layer tools.
We see them as a fertile ground for innovation too.
I expect that in the future, many EIPs will be experimented with.
I mean, EIPs not as in ELCs, but actually protocol changes.
I think we'll see more and more experimentation on other EVM networks.
And it's quite likely that we'll see optimistic roll-ups,
also spinning up a separate roll-up to experiment with this protocol-level account obstruction.
How are the people that are working on smart contract walls in account abstraction?
How are they leveraging you and your expertise here at the StarCware sessions?
How are you helping with them?
What are the conversations like?
Yeah, so I've been talking to them about use cases since I've been thinking about account
obstruction for a few years now, and I'm talking about how they could use,
how it could use ERC 4337.
There are some limitations during validation
which are absolutely required in order to be able to decentralize it.
So sometimes it's not trivial to work around these limitations.
But so far we haven't encountered any use case
that couldn't be solved with some creativity.
So when I'm talking to all the developers,
I often find myself helping to design around these constraints
without sacrificing censorship resistance.
Do you think that because StarCware seems to be,
or StarkNet seems to be kind of a head in the world of account abstraction,
that a lot of this learnings here is going to be exported out to the rest of Ethereum?
Is that kind of how you think it might go?
Yes, I think the wallets that are being developed,
the wallets that are being developed for Starknet right now
are going to show up on other networks as we make it more possible.
And that's part of the reason why it's so important to standardize it so that we have feature parity.
Because wallet developers, usually they don't have the resources to develop many different wallets.
So we should try to standardize it at the chain level so that wallet developers can deploy their wallets everywhere.
And so, yeah, there are multiple wallets.
I've named a couple of Gros and Argent that are using smart contract wallets on SarkNet.
and I'm assuming because there's already a growing ecosystem on Starknet,
we'll actually be able to learn from their learnings,
and they're going to figure out what the best form factor for our account abstraction is on Starknet.
And because just the pace of iteration on Starknet so fast,
that's actually how we're going to learn how to apply this to the rest of Ethereum.
Is that a fair take?
Yes, I think experimenting through actual products and actual users is the best way.
We shouldn't do it in a vacuum.
So having Argent and Bravos and others doing this is absolutely essential for making it happen.
They're also adding use cases that I've been advocating for a long time
and are really difficult to do without protocol level changes.
For example, Bravo's is doing, they let you sign from the secure enclave of your phone,
which is something that we already saw an implementation back in Bogota.
one of the Hackathon projects implemented this in Solidity
and deployed it on an EVM chain
but it's really expensive to do
if you don't have support for it from the network.
So I think that we're going to see more of these use cases
and people will optimize them
and we'll see them moving to other chains.
So I've noticed I was at the hacker house
my first day here and a lot of a computer people
like I was watching developers tinker around on their computers
and instead of the Metamask icon, they have the Argent icon
in their top right as their extension.
And so do you think that actually being able to innovate
at the smart contract wall level,
is that going to be the thing that actually is pretty disruptive
to the Metamask dominance across the rest of Ethereum?
Yes, I think the move to a counter obstruction
is an opportunity for disruption in the wallet space
that could definitely benefit from some disruption,
some more variety of projects.
But I think that we'll also see Metamask
doing a lot of interesting things in this space.
Is Metamask going to be doing account abstraction?
Well, you should ask them, you know, they are here,
but I believe that we'll see some innovation
in that space for Metamask as well.
Okay, well, the competition is on.
Yoav, what else is going to...
Why competition?
It's not...
Competition is always good for the user, right?
Like, all of these people want to have, like, as much mind share as possible.
Do you think, like, wallets might stratify into, like, different use cases?
As in, like, maybe this isn't exactly right, but Bravo's is the gaming smart contract wallet.
And Argent is the DFI smart contract wallet.
Or does that not really make sense?
Yeah, it does make sense because with account obstruction,
you can make the wallet as simple as you like or as complex as you like.
Depending on, for example, if you have a complex authorization needs,
or you need to enforce certain policies,
then you might want a more complex wallet,
but as a new user,
you just want the simplest possible wallet
where you add your phone,
you don't know what a private key is,
and you can just start using it.
But what's more important is that with account obstruction,
you'll be able to set the implementation,
you'll be able to upgrade.
So as a new user who doesn't know anything about crypto,
you'll probably want to start with the easiest one to use,
but maybe as you accumulate more value in the account,
and now you have assets, you need to protect them, and you have better understanding.
Now maybe you're going to upgrade it, and you're going to upgrade in place.
You're not going to move your assets elsewhere.
You're just going to switch from a very simple wallet to one that gives you more optionality.
I really like the idea of a wallet, a smart contract wallet can be as simple or as complex as anyone really wants it to be.
But we're starting, of course, at the very beginning of this story, because we're still so early in the world of account abstraction.
What are the first use cases that you think are really going to be onboarded into these smart contract wallets?
So we already see things like social recovery that Argent has been doing for a long time.
And social recovery is often misunderstood.
It doesn't necessarily mean that your friends are going to recover it for you.
It could be a ledger device in a bank vault that you're only going to use if you lost access.
And we're going to see some use cases, such as for the...
For example, session keys is something that I really like,
that since you can have authorization, not just authentication,
meaning that each key can be authorized to do certain things,
it makes sense that, for example, you have an NFT in your,
you have an NFT that you want to use in a game,
but you don't want the game, you don't want the game adapt to be able to transfer it.
So you could have a key that only, that the browser keeps,
so you don't need to manually sign each transaction,
but you only, but so, but the key can only interact.
act with the game. And if you actually want to transfer your NFTs, that's a separate key,
and it requires manual signing. So we're going to see such use case as well. But really,
the possibilities are endless. I mean, I can talk for hours about different use cases here.
Yeah, I'm sure. I'm getting like this image of a smart contract wallet that really starts
off as like a blank slate, but you can plug more and more stuff into it. Is there,
is it logical to think of there being like a plug-in store for your smart contract?
wallet, is that like a coherent thought?
Yes, that's something that we've been
talking about. We didn't want to
push it into the same ERC,
but I think we will need an
ELC for it to standardize the way
plugins work. And then
you'll be able to get plugins.
The way I see, the plugins should be associated
with a certain authentication, with a certain
key. So this,
and then the session keys are actually
just a sub-use case of this.
It's just one plugin. And then you
can have a plugin that allows, for example,
performing trades.
If you want to implement a more efficient decks with an order book,
you could let it, you could authorize it to perform trades without you actually signing it.
But so there can be many such use cases.
And each of these, I believe, should be a plugin.
These plugins will not necessarily be written by the same person who wrote the account,
you know, the wallet.
For example, Uniswap could write a plugin that helps you do things on Uniswap
and you could add it to any of the wallets that support the standard.
But this requires some thinking.
For example, these wallets will all need to use diamond storage.
It's an EAP that helps you make sure that different contracts running in the same address space don't step on each other's toes.
So I think that, and I've been advocating it to wallet, telling them that they should be using diamond storage from the start so that later they can use such plugins.
will our wallets always be in this like browser extension form factor or do you think other like
will access our wallet in a different way because like to me the browser extension wallet is kind of
annoying is that going to be the future or there's going to be something else in the way that we engage
our smart contract wallets do you have any thoughts on this uh i think it doesn't it doesn't have to be a
browser extension and i like i like having mobile apps do this kind of this kind of work and i think
it should be, and it can be done for the browser, it can be done even from a, from an app running
on your PC or your Mac. But I think, but I think it's important, it's important not to,
not to lock yourself into a mobile app, for example, because since I really, I really hate
censorship, and I think that both Apple, both Apple and Google have a permission system where, if you
want, where they could eliminate, they could eliminate the wallet from their app store if they want to.
So I think you should have a way to recover from it and to switch to a new implementation.
So at the very least, you should be able to do this from your browser.
Amazing.
I know you're always like head into the world of account extraction,
but what in addition to account abstraction have you been paying attention to lately?
Sorry?
What in addition to account abstraction have you been paying attention to lately?
Yeah, so I'm a security researcher, and I've been working on other security-related projects.
and I also care a lot about censorship resistance in Ethereum in general,
so I'm thinking a lot about PBS, about proposal bills operation, and about inclusion list.
And the only thing is going to come together at some point,
because with the counter- obstruction, we'll also need to have inclusion list,
and it's much more complicated to do in this context.
We won't get into all the complexities right now, but it's, so there are some interplay
between these topics.
If listeners have gotten their interest piqued
about the conversation that we've just had
and they want to learn more,
where do you recommend for them to go?
Any resources that they should be pointed to?
So we're building a website for ERC 4337,
but it's not up yet.
And they can also follow me on Twitter.
I occasionally tweet about some ideas.
We have some telegram groups where
we have some telegram groups
where there are very active discussions about account obstruction.
You have, thank you so much.
I appreciate it.
Cheers.
Yeah.
