NEAR - Sponsor Image NEAR - Confidential swaps across 35+ chains Friend & Sponsor Learn more
00:46:35 · 3 years ago
Ethereum

Did Ethereum Break? with Preston Van Loon & Terence Tsao

We brought on Preston Van Loon & Terence Tsao, two Ethereum Protocol Developers, to help us answer that question.

Up next

All episodes

Inside the episode

Did Ethereum break or what actually happened?


TIMESTAMPS:

0:00 Intro

7:53 Did Ethereum Break?

8:22 What Happened?

14:50 Slot Visualization & Connectivity

20:30 Did Users Notice?

23:57 Why Was This Worrisome?

26:19 Preston & Terence's Emotional Response

35:55 Ethereum Resilience

39:30 Was This Good For Ethereum?

41:20 Solana vs. Ethereum Liveness

44:40 Closing & Disclaimers


RESOURCES:

Is Ethereum Breaking?

https://twitter.com/BanklessHQ/status/1657122512516575232

Preston Van Loon

https://twitter.com/preston_vanloon

Terence Tsao

https://twitter.com/terencechain

Transcript
00:05
Guest 1

In the night with finality on the Ethereum blockchain last week. And uh we want to go all uh we want to go over that today with some experts who can help us answer the question as to whether Ethereum broke or not. What does it mean to break? What happened? What does non finality mean? I think we'll talk about that and what are the risk conditions that we are exposed to as a result of this. How did Ethereum handle this event? Is is really the central question in my mind. David, who do we have on today?

00:34
David

We have Preston Van Loon and Terrence Stout of the co-founders of Prismatic Labs now in Arbitrum, now part of Off-Chain Labs. And we brought Preston and other members of Prismatic onto the show before to understand the world of clients. Because it is a complicated world, but not so complicated that we won't be able to understand it here on the show. So some very important questions with some very smart people who have been with the Ethereum proof of stake effort since it was once upon a time called Ethereum 2.

01:03
David

But before we get into the show, we got to talk to our friends and sponsors.

01:06
Guest 1

Uh all right, so um there was an event that happened last week, and this was an event that happened after the roll up, and I'm wondering if we could kind of tee this up before we bring uh Preston and uh Terrence on. So what happened? I think maybe the first sort of mini event was was uh on Thursday, and then again Friday, if I'm recalling correctly. All my weeks are blurred, David. But give us the recap before we get in here.

01:31
David

Yeah, it happened twice. And so Ethereum failed to finalize, which is an interesting sentence. What does that mean? Uh blocks were still propagating, transactions were still going through, but finalization was not happening. And just at a high level, finalization is just something that happens when enough clients, enough validators have given the thumbs up about a certain epoch. Epochs, which are, I believe, Preston's going to come in here and give me the whip. I believe 64 blocks, uh, but it's a collection of blocks. And then if enough validators uh give the thumbs up, then that that epoch finalizes and that is permanently embedded into the blockchain. When a when an epoch is finalized, it requires uh slashing conditions to go back.

02:15
David

Uh and unwind those blocks. And so if a block isn't finalized, it's not as permanently embedded into the blockchain as it otherwise could be. Uh, except uh with this event, which happened twice, uh, Ethereum failed to finalize because blocks were being missed. Validators were not uh doing their jobs. Um, I am only able to explain it to some degree uh at a high level. And so we're gonna go talk to uh Preston and Terrence to get a deeper dive into what this world of finalization means.

02:42
Guest 1

Should do a disclosure before we get in. Um, of course, now Prismatic is owned by Off Chain Labs, which is a sponsor of the Bankless Podcast. Very supportive of what they're doing in layer two and client development work. Also, David and I are notorious holders of the asset called ETH. So you should know that podcast that we are bullish on Ethereum generally and uh are interested in finding out what happened today. So, guys, we're going to get right to the episode with um Preston and Terrence to talk about whether Ethereum broke or not. But before we do, we want to thank the sponsors that made this episode possible, including our number one recommend exchange.

03:20
David

Bankless Nation, Preston Van Loon and Terrence Tao are the co founders of Prismatic Labs, one of the organizations that maintains the Prism Ethereum consensus client. Prismatic Labs was one of the earliest client teams that was formed to start building what was then called Ethereum 2, which we now just call Ethereum. And they've been very key to Ethereum development every step of the way. Preston, Terrence, welcome to Bankless.

03:42
Preston Van Loon

Hey, happy to be back.

03:43
Preston Van Loon

Thanks for having me.

03:45
David

Yeah, okay. I I'm I'm gonna look forward to being educated about some of the nuances of finality and security. But first,

03:53
David

did Ethereum break, Preston?

03:56
Preston Van Loon

No, it did not break, right?

03:58
David

Oh, okay.

03:58
Preston Van Loon

What we did see um Ethereum actually work. This we have a time where Ethereum has difficulty finalizing,

04:07
Preston Van Loon

and we got to see it actually work in action, right? So this is not a uh like a a problem with Ethereum that specification did not break. It actually it actually worked. And it worked in a unfavorable condition, and we got to see that happen in mainnet for the

04:21
Preston Van Loon

for the first time.

04:23
David

So, how would you summarize what actually happened? Uh, and so I I did my best to explain it in the intro. Uh how would you describe to the layman? Like, explain it like I'm five, what actually happened here?

04:34
Preston Van Loon

Sure.

04:35
Guest 1

How many blocks are there in an epoch, Preston? Most importantly.

04:38
Preston Van Loon

Yeah. There are 32 blocks in epoch,

04:41
Preston Van Loon

not 64. At least you got a power of two, so that's nice.

04:46
Preston Van Loon

But what happened was

04:47
Preston Van Loon

um

04:49
Preston Van Loon

multiple clients, Prism specifically, and Teku, had this problem where

04:54
Preston Van Loon

if it received these sort of old attestations, attestations being what the validators are producing to say this is what I think the head of the chain is.

05:03
Preston Van Loon

They received these old attestations, which

05:06
Preston Van Loon

caused

05:07
Preston Van Loon

Prism in particular to replay a bunch of states, right? It it had us to go back in time to evaluate whether or not this attestation was valid or

05:17
Preston Van Loon

how to count this vote.

05:20
Preston Van Loon

Ended up being a pretty expensive operation that

05:23
Preston Van Loon

somehow bypassed or filled the caches that we had. So

05:28
Preston Van Loon

we weren't able to, you know,

05:31
Preston Van Loon

keep that work in the client. I had to recompute it every time. So essentially it was.

05:37
Preston Van Loon

An accidental, I guess, like kind of denial of service where the clients were so busy doing these computations,

05:44
Preston Van Loon

they weren't able to respond. This is the beacon node part of the client. The beacon node was not able to respond to

05:51
Preston Van Loon

what the validators were asking to do. The validator said, here's the block I want to produce, here's the attestation I want to produce. These weren't getting out the door because the client was so bogged down with trying

06:02
Preston Van Loon

to process these

06:03
Preston Van Loon

valid but untimely attestations.

06:07
Preston Van Loon

That's the gist of it.

06:09
Guest 1

This happened to two clients, Preston.

06:11
Preston Van Loon

Yeah, well.

06:13
Preston Van Loon

Two clients have released updates specifically to handle this scenario.

06:17
Preston Van Loon

That's Prism and Teku. Lighthouse already does it really well. So

06:22
Preston Van Loon

a lot of us have

06:24
Preston Van Loon

sort of taken inspiration from their model of how they handle these old asset stations. In short, they they basically drop them to say

06:32
Preston Van Loon

this attestation is not going to be very valuable to how we're going to update the um fork choice.

06:40
Preston Van Loon

It's not worth recomputing all this all this effort. So we sort of copied their model of uh

06:47
Preston Van Loon

of just excluding that attestation from consideration, not doing all the work.

06:51
Guest 1

And so why did this happen so suddenly?

06:55
Preston Van Loon

Well,

06:56
Preston Van Loon

um, we're still trying to track down the exact

07:00
Preston Van Loon

you know trigger to the event. But what we think had happened is that some clients,

07:05
Preston Van Loon

namely Lighthouse,

07:07
Preston Van Loon

when

07:08
Preston Van Loon

they will when they lose a connection to the execution layer, the layer that

07:14
Preston Van Loon

The client that handles transactions and the state of Ethereum, as we think of from the application layer,

07:22
Preston Van Loon

that being like Go Ethereum or whatever you use for your execution client.

07:27
Preston Van Loon

When

07:28
Preston Van Loon

we lose access to that,

Ryan Sean Adams

1115 posts

Crypto investor going bankless.

No Responses