Cover photo

Understanding Ethereum Network Upgrades: Lecture 6

Devnets: How They Work and How to Participate

Lecture 6 is about devnets, networks spun up to test the implementation of changes, and are not made from an existing network state.

Index

  1. Lecture

  2. Office Hours

  3. Guest Speaker

  4. Supplemental Resources


Lecture

Lecture Transcript

The following transcript was auto-generated, and may content syntactical errors.


Office Hours

(embed office hours video here)

  • (office hours slideshow link here)

Office Hours Transcript

The following transcript was auto-generated, and may content syntactical errors.

00:00:07.000 --> 00:00:17.000

Alright, so we are in our final office hours. For understanding Ethereum network upgrades.

00:00:17.000 --> 00:00:30.000

Today is Wednesday, February seventh. It is about 6 h after the. Wholesome network underwent.

00:00:30.000 --> 00:00:40.000

A upgrade. Maybe closer to 5. And so at this point.

00:00:40.000 --> 00:01:10.000

In the course, we've talked to, pretty much how a upgrade works and we've talked about all of the sort of steps all the EIPs that are being included in the Den Coon upgrades specifically and we're at this like precipice point where we've had every single Test Net upgrade occur and at, this next week.

00:01:13.000 --> 00:01:22.000

Probably you'll be at the all core execution devs call. We'll actually like set the timeline based off of feedback.

00:01:22.000 --> 00:01:29.000

Of when the Dan Coon upgrade will occur. So.

00:01:29.000 --> 00:01:42.000

We've kind of seen now like the whole process that comes up to this point. And so today's office hours, we're just gonna have a conversation about really what we've seen out of Devnet 12.

00:01:42.000 --> 00:01:53.000

The Sepolia upgrade and the Holski upgrade and what those have revealed to us, the changes we need to make because of them.

00:01:53.000 --> 00:02:08.000

And kind of where we're at. So maybe we'll start with. Kind of the most pressing thing that I think would impact the, overall Dencon upgrade.

00:02:08.000 --> 00:02:12.000

And that is some of the behaviors that have been seen on Devnet 12 do you think that's a good spark part to sort of start contextually Matt

00:02:12.000 --> 00:02:21.000

Yeah, that'd be great.

00:02:21.000 --> 00:02:34.000

Okay, so just as a reminder, there's been 12 Dev Nets this week is all about Dev Nets and each Devnet doesn't necessarily seek to test the entirety of.

00:02:34.000 --> 00:02:49.000

The upgrade but it does attempt to get at pieces of it. And so, you know, with Devnet 12.

00:02:49.000 --> 00:02:57.000

We were Last week we kind of shared the specs, but I'm just pulling up the It's the, the, the, pendant dock specs here just to share with everyone.

00:02:57.000 --> 00:03:15.000

And it, it was very comprehensive in terms of the, you know, testing.

00:03:15.000 --> 00:03:34.000

A lot of of EIPs across all of the all the clients and this the intention. Was that this would start and then kind of run until the girly fork and my understanding is it's actually still running right now.

00:03:34.000 --> 00:03:35.000

Is that correct, Matt?

00:03:35.000 --> 00:03:43.000

Yes, the It's about to die. Cause we now have some test to look at, but we're keeping it around just a little while to.

00:03:43.000 --> 00:03:48.000

Continue to mess with more. We don't want to try to break Sapolia or Holkie.

00:03:48.000 --> 00:03:54.000

So we are kind of just Messing with girly a little bit still and messing with Devon at 12 by spamming things like blobs.

00:03:54.000 --> 00:04:03.000

There was some previous issues with clients not handling blobs spam correctly. So we have patched some of those things, there's some changes to behavior.

00:04:03.000 --> 00:04:13.000

We're also using the Dev Nets as a means to patch like to test client releases for things like.

00:04:13.000 --> 00:04:20.000

I don't know, we have, you know, look those bugs for example and you wanna still be able to test interoperability and be able to test the the setups between clients.

00:04:20.000 --> 00:04:23.000

So we keep the Debian around a little bit longer to test kind of notional releases before we put out official client releases.

00:04:23.000 --> 00:04:41.000

Because the next one kind of is the big one. If we if we set a main net timestamp at some point and we put out client releases, at some point when we put out client releases, then users will need to have those releases, then users will need to have those releases well in advance and they also will need to have those releases well in advance and they also won't necessarily be able to

00:04:41.000 --> 00:04:52.000

downgrade their clients. 2 prior versions. So we want to make sure that we have everything tested and we want to be also have a place where we can test notional upgrades before we start putting out client releases.

00:04:52.000 --> 00:04:59.000

You can do that on test nets, I suppose, since we have the forks there. But we don't wanna be spamming those test tents, right?

00:04:59.000 --> 00:05:10.000

With weird stuff. So we have that's why we keep kind of both around right now.

00:05:10.000 --> 00:05:30.000

And so just to kind of get into like. Just because the specs of the. The depth.

00:05:30.000 --> 00:05:45.000

Such if client teams like make an update to their to their client, they can go ahead and actually make those updates on the Devnet the same way that you'd make any updates to any existing network.

00:05:45.000 --> 00:05:50.000

So that's it's how we're able to like see those changes and things that are, needed to So.

00:05:50.000 --> 00:05:59.000

Let's so that kinda covers, you know, we've been seeing. The issue is related to.

00:05:59.000 --> 00:06:10.000

To blob spam trying to like, resolve those. S.

00:06:10.000 --> 00:06:11.000

2 weeks ago, 3 weeks ago, 2 weeks ago.

00:06:11.000 --> 00:06:23.000

Think it was on the either the it was the Wednesday before I think it was the 30 first. I think it was one week ago actually.

00:06:23.000 --> 00:06:31.000

One week ago. Goodness. Okay. Time is moving really weirdly for me.

00:06:31.000 --> 00:06:40.000

And. Largely had went. Went successfully.

00:06:40.000 --> 00:06:53.000

There were. And then, Holeski just occurred hours ago. Largely went.

00:06:53.000 --> 00:06:58.000

Successfully.

00:06:58.000 --> 00:07:20.000

So at this point. There I think with with whole skies gonna run there's gonna be the observation of like blobs on, And there wasn't really like any.

00:07:20.000 --> 00:07:28.000

Anything thus far on, that's. That's happened in terms of being like particularly notably eventful.

00:07:28.000 --> 00:07:29.000

That from what I've seen.

00:07:29.000 --> 00:07:30.000

Yep. Yeah, we had a small drop in participation after the fork, but that's typical because it was like around 5% which is probably just 5% of people who didn't upgrade their notes.

00:07:30.000 --> 00:07:33.000

A lot of the times, used for testing like Gurley was to see if your validator setup is working correctly.

00:07:33.000 --> 00:07:44.000

So presumably folks had set up validators and they probably forgot to update them or they were comfortable with what they did and they applied it on main net and then they never looked back and then used their hardware for something else.

00:07:44.000 --> 00:07:50.000

So that's we had no finalization challenges. We had attestations at around 88% effectiveness.

00:07:50.000 --> 00:08:01.000

Proposals at around 96% full, and sync committee at about an 86% effectiveness, which is actually pretty good.

00:08:01.000 --> 00:08:12.000

It's lower than something like main net, but again, that's because people, if you mess those duties up on main net, you get penalized, whereas Horski, is free beyond free.

00:08:12.000 --> 00:08:38.000

So no one. People people are probably not as as careful there so that's those are well within normal ages and we were happy with the results

00:08:38.000 --> 00:08:51.000

Awesome. So I will just give a brief kind of like, here's what happens next overview and then we'll kind of open it up to questions about any of the of the of Devnet 12 any of the prior Dev Nets or the upgrades.

00:08:51.000 --> 00:09:04.000

So at this point, like Matt said, like we always expect there in any sort of.

00:09:04.000 --> 00:09:11.000

Upgrade there's gonna be some group. That does not. Properly update their their client like that is universally true.

00:09:11.000 --> 00:09:24.000

And ideally that number is like as low as possible. So there is kind of a range of.

00:09:24.000 --> 00:09:36.000

Of there's there's a range in terms which you want to hit and just to give you a sense like the The merge had an incredible like.

00:09:36.000 --> 00:09:44.000

Participation, everyone was like really prepared for it and part of that was like there's so much messaging that went into it.

00:09:44.000 --> 00:09:50.000

So at this point, once the date of the main net upgrade is set, and the final client changes.

00:09:50.000 --> 00:10:19.000

Are made. Interestingly, what's been a long process of testing and. You know, reporting out data, analyzing data, turns into like a, I would say typically like a 2 to 6 week time of like really pushing messaging about, hey, if you are a staker, you're a solo staker, like you have to upgrade.

00:10:19.000 --> 00:10:27.000

You have to be prepared for this upgrade because you want to get that participation number to be as high as possible.

00:10:27.000 --> 00:10:37.000

I know that there is some math around like what would be the, number of

00:10:37.000 --> 00:10:53.000

The number of like providers who or just like solo stickers that they didn't upgrade. What it would you know what would what would happen and that was all sort of many of those calculations were done in the run up to the merge because there was like this.

00:10:53.000 --> 00:11:03.000

Fear that if users weren't. Paying attention or even worse taking sort of malicious tack that they could you know fork a theorem in a way that would be really harmful to the overall Ethereum community.

00:11:03.000 --> 00:11:24.000

At this point in time, one of the reasons that we want, you know, high participation remains that, but it's also to make sure that, people are not finding themselves in a situation where they're.

00:11:24.000 --> 00:11:32.000

Falling into these cases of being like slashed. Awesome, unnecessarily, any sort of issue like that.

00:11:32.000 --> 00:11:41.000

The reality is that, you know, because we've decided to secure the network now by proof of stake after using proof of work as like sort of a mechanism to sufficiently distribute.

00:11:41.000 --> 00:11:52.000

The, the East supply to make it sufficiently decentralized. Now it's like really important to message and get people to a point where they're doing those upgrades.

00:11:52.000 --> 00:12:02.000

So while client teams are going to be at a point where they're, you know, making those final changes and observing.

00:12:02.000 --> 00:12:13.000

You'll often times at this point see them really start to have to do outreach to their user bases and make sure those folks are really informed.

00:12:13.000 --> 00:12:25.000

They understand what they're doing. Sometimes doing a lot of hand holding through upgrades. Matt, in the past you've recorded videos where you've actually like walked through.

00:12:25.000 --> 00:12:43.000

Yeah, I think base to take you set up and talking people through what they needed to do Yeah, so there is this shift and I think it's really interesting because now it's like full circle where we've gone through all this highly technical work, but because solo sticking, you know, it's become very accessible.

00:12:43.000 --> 00:13:01.000

Now we have to kind of simplify, simplify, simplify and get people to upgrade and get ready for, the upcoming upgrade while simultaneously already starting on the next upgrade, which has been already happening in process.

00:13:01.000 --> 00:13:10.000

So you kind of see it's like this. Constant circle that we're spinning round the wheel and at any given time multiple activities are happening.

00:13:10.000 --> 00:13:20.000

It really is impressive the amount of information that client teams are keeping in their heads and the amount of expertise that that is shared.

00:13:20.000 --> 00:13:32.000

I was just before this meeting watching, I think it was 6 days ago there was the execution layer meeting number 1 80 and, Matt is, is on that one.

00:13:32.000 --> 00:13:41.000

Right out the gate, but you know, we're already talking about in that meeting, there's a presentation.

00:13:41.000 --> 00:13:50.000

From Joshua about the like anatomy of Verkal trees and how that is gonna come to place.

00:13:50.000 --> 00:14:17.000

So it's like we haven't even that isn't even in this upgrade and we're already moving to that point and I think that is like really, really interesting and we'll add that as a as part of our video watching.

00:14:17.000 --> 00:14:25.000

The time stamp for when that happens and then this upgrade will occur. So. We'll open up to questions now.

00:14:25.000 --> 00:14:43.000

Any questions that folks have?

00:14:43.000 --> 00:14:53.000

Any questions? I'll do anything remotely related to chord development at this point.

00:14:53.000 --> 00:15:00.000

Or if you wanna ask about. Any of the products I manage like Basu or Web 3 signer.

00:15:00.000 --> 00:15:07.000

Or taku I can be Hello, eloquent enough.

00:15:07.000 --> 00:15:14.000

Okay. Explain those.

00:15:14.000 --> 00:15:15.000

Yeah. Okay.

00:15:15.000 --> 00:15:22.000

God, what a question. For the recording, you should skip through this part. There are theory of clients and one of them is a remote signer.

00:15:22.000 --> 00:15:31.000

That's as specific as I'm going to be unless you want to be more specific.

00:15:31.000 --> 00:15:41.000

That's for signing transactions. When? And what sense remote?

00:15:41.000 --> 00:15:48.000

Yeah, so the remote signing basically keeps, it separates your signing key from the logical act of actually signing it and from the clients.

00:15:48.000 --> 00:15:55.000

So you expose your client to the broader internet so they can do things like peer. It can take part in gossip networks.

00:15:55.000 --> 00:16:08.000

And just general P twop layer stuff. But that also potentially means exposing your machine to the broader internet, which is not necessarily something that people want to do with private keys.

00:16:08.000 --> 00:16:30.000

So Web 3 signer provides capability to logically separate the clients from the keys themselves and also from something basically called a slashing database so not only does it protect the keys like that but it provides a backing data base that allows you to manage thousands of keys at the same time without signing duplicated messages.

00:16:30.000 --> 00:16:36.000

Oftentimes people get slashed not because they are maliciously running keys in multiple places, but because they screw up configs.

00:16:36.000 --> 00:16:50.000

So Web 3 signer keeps a log of all the messages signed by various keys and indices and it will lock validating keys and prevent you from getting slashed essentially by die doing equivocation or signing duplicated messages.

00:16:50.000 --> 00:16:56.000

So the real benefits are slashing protection and risk, and, key management and security best practice.

00:16:56.000 --> 00:17:05.000

It also does the cool thing of letting you really quickly switch. Consensus layer clients and execution layer clients.

00:17:05.000 --> 00:17:14.000

So if Web 3 signer manages your keys, you can swap out the CL almost. Like in flight, if you're willing to miss like an attestation, so.

00:17:14.000 --> 00:17:22.000

It helps people switch things. It's also used by a lot of companies that do things like Eat Docker and Dap Note, for example, where they provide out-of-the-box solutions that let you.

00:17:22.000 --> 00:17:31.000

Switch between clients and manage the clients yourself. They use web 3 signer to avoid slashing and to simplify the key management on behalf of users.

00:17:31.000 --> 00:17:38.000

And does anyone switch clients? Like, like, have multiple clients running on the same.

00:17:38.000 --> 00:17:39.000

Bye.

00:17:39.000 --> 00:17:49.000

Yeah, a lot of folks use back like fallback clients. It's not recommended to run more than one valid in client at the same time, but you can run more than one beacon node, for example, if your beacon node goes down, you can swap over to a fallback beak node.

00:17:49.000 --> 00:17:58.000

It's the same with an execution layer client, which is actually harder to run a fallback. It's more expensive, but if you have.

00:17:58.000 --> 00:18:02.000

A bug in one client or if it goes out of sync for some reason there are tons of kind of multiplex solutions that allow you to fall back to the next available client.

00:18:02.000 --> 00:18:22.000

That's why what through signer is crucial in that use case because If you store the validating client within the beacon node and you swap pika nodes you run the risk of slashing yourself by running the beacon node at the same point even for one slot.

00:18:22.000 --> 00:18:31.000

So while you hand over the failover, if you're doing it via web 3 signer, all that through signer does is basically connect to the new beacon node and it already locks that validator so you can't sign the same message twice regardless.

00:18:31.000 --> 00:18:49.000

And then, yeah. And now if you're in the recording, you can come back here.

00:18:49.000 --> 00:18:50.000

I guess just.

00:18:50.000 --> 00:18:51.000

And then, oh.

00:18:51.000 --> 00:18:58.000

Any questions about the upcoming hard forks? The other forks we have app for this one could be interesting to talk about Prague if anyone has questions on Prague.

00:18:58.000 --> 00:19:03.000

And how we might be scoping that sorry I see one you came off me go ahead

00:19:03.000 --> 00:19:16.000

Good afternoon, Tom and Matt. And I have a couple of questions. And. Some of them, most of them are regarding the 48 44.

00:19:16.000 --> 00:19:36.000

18 Now that, the, the, has been deployed. I would like to know if, all the roll ups or at least the main roll-ups I've already implemented everything to make use of.

00:19:36.000 --> 00:19:54.000

For functionalities like those in the in the 48 to 44. This is one question. The other question is, Regarding the blobs in the 48 to 44, EIP.

00:19:54.000 --> 00:20:00.000

Once the time is up, the weather time is the due date is. Is reached for each blob.

00:20:00.000 --> 00:20:18.000

What happens next with those blobs that are floating around? Is there some sort of like a garbage collector way of freeing that storage that was dedicated for those blobs that are scattered everywhere.

00:20:18.000 --> 00:20:27.000

Or how does it work, And my final question is regarding the final project. I'll be I'm interested in knowing what is next up to.

00:20:27.000 --> 00:20:36.000

After this, it has been really very interesting. This this course has been really interesting and I like to know what's next in terms of the project if I'm not proud.

00:20:36.000 --> 00:20:38.000

Thank you.

00:20:38.000 --> 00:20:42.000

Great. I'll answer those first 2 questions and then Tom, I'll let you discuss the last one.

00:20:42.000 --> 00:20:55.000

So the first question is the answer is some of the roll-ups have started to take advantage of 4 4 4 optimism has deployed, 4, 4 on their test net that runs on top of the girly network.

00:20:55.000 --> 00:20:59.000

And I believe they have one that runs on top of the Sapolia network as well.

00:20:59.000 --> 00:21:10.000

So they are starting to test those implementations. I think it's reflected in the token price of some of those because I know that Arbitron has deployed some on their testants as well.

00:21:10.000 --> 00:21:19.000

I think the ZK roll-ups are a little bit slower to adopt this technology primarily because there's a little bit more to adopt this technology primarily because there's a little bit more of an unknown of primarily because there's a little bit more of an unknown of what it means for a ZK compression.

00:21:19.000 --> 00:21:30.000

Whereas the optimistic roll-ups are a little bit more it's a little bit easier to maintain compatibility with some of the The main net stuff, they kind of just say, okay, cool.

00:21:30.000 --> 00:21:37.000

But a lot of them have they have to update their smart contracts. So optimism, it seems, has, is testing their new smart contracts right now.

00:21:37.000 --> 00:21:53.000

Presumably Arbitur and all of the other layer twos are doing the same because if not they're missing out on Hey, ridiculously cheap like they're missing out on a huge reduction cost for themselves, which ultimately leads to revenue for the roll ups, right?

00:21:53.000 --> 00:21:57.000

So I know for a fact again that there are 2 probably more testing these right now. The linear network is getting ready to test them as well.

00:21:57.000 --> 00:22:05.000

There's others that are really close, but since they're live on Test Net people have been absolutely using the blob transactions to submit various things.

00:22:05.000 --> 00:22:15.000

To to Girlie into Sapolia. I have there's there's something called blob scan.

00:22:15.000 --> 00:22:23.000

So if you go and Google blob scanned, you might be able to find it's an ether scan like thing that just takes looks at blob data.

00:22:23.000 --> 00:22:25.000

A lot of it is very opaque because it's just straight up bytes, right? Because the blobs are arbitrary data.

00:22:25.000 --> 00:22:35.000

So it's just, it's usually just huge byte strings. But you can go check out what that looks like.

00:22:35.000 --> 00:22:43.000

That's I think your first question. The second question was what happens to the blobs when they are done with their useful life?

00:22:43.000 --> 00:22:48.000

So on the networks, we only enforce that you keep the blobs around for 30 days. This is enforced in your consensus layer node.

00:22:48.000 --> 00:22:57.000

So consensus layer nodes, I believe, I know for a fact that tech who does this but they often probably offer a mode to retain the blobs as long as you want.

00:22:57.000 --> 00:23:10.000

Teku's archive mode will basically just keep everything it sees around forever and not prune stuff, presuming you have enough disc.

00:23:10.000 --> 00:23:21.000

But the blobs that are on the network themselves. There like we said, we tie them to slots via the KCG commitments and a slot is just where a block goes in the Ethereum blockchain.

00:23:21.000 --> 00:23:31.000

The reason we call it a slot is because sometimes they're empty. Not every block. Exists but we still want to keep track of the slot for the purposes of proof of state.

00:23:31.000 --> 00:23:39.000

So slots are 12 s long. If you think about 30 days, it's, you know, 30 times 12 times 60 times 24.

00:23:39.000 --> 00:23:48.000

And then you have a certain number of slots in the 30 days. So those nodes will prune the blobs that are associated with slots older than 30 days.

00:23:48.000 --> 00:24:00.000

I'm not sure if they do it all at once. Like you mentioned, where we have kind of a garbage question or if they do it continuously, meaning, you know, I'm gonna every new block that comes in every new slot I'm going to prune the oldest blob.

00:24:00.000 --> 00:24:07.000

Maybe there's a mechanism where they wait. Some number of hours and then they prune them all at once that they don't have to do extra work on the node.

00:24:07.000 --> 00:24:11.000

I believe that's an implementation detail that's left up to the consensus layer clients and they probably all handle it actually a little bit differently which is the beauty of client diversity.

00:24:11.000 --> 00:24:22.000

But in the case of The nodes, they're only required to keep it around for 30 days.

00:24:22.000 --> 00:24:29.000

Websites like Blobscan that Tom put up will likely keep these blobs forever and an off chain capacity.

00:24:29.000 --> 00:24:37.000

So they're going to store the data that's stored in those blobs for access by anyone that wants it or anyone that's curious.

00:24:37.000 --> 00:24:43.000

But they they won't have that data available on chain which means it loses its liveness properties.

00:24:43.000 --> 00:24:53.000

But. The data is still relevant for stuff. It was a live on the network at 1 point. Not live now.

00:24:53.000 --> 00:25:05.000

So my guess is we'll see. Archival blobs pop up. But they won't be considered they won't be stored on the network on chain which means the nodes operating the network won't run them.

00:25:05.000 --> 00:25:12.000

Or won't retain them, but they will still be around kicking around for you to access in an archival off chain format.

00:25:12.000 --> 00:25:16.000

Think like an ether scan, right? Type type situation. So apps can make use of them, but they maybe don't have the same trust properties.

00:25:16.000 --> 00:25:26.000

As they do when they were on chain. Well, they definitely don't have the same trust properties.

00:25:26.000 --> 00:25:33.000

But they will still be around and note operators have the ability to prune them or not. It's up to them.

00:25:33.000 --> 00:25:37.000

Only have to retain 30 days worth of blobs

00:25:37.000 --> 00:25:40.000

Thank you so much.

00:25:40.000 --> 00:25:43.000

And then there was was there third question in there? Cause I was.

00:25:43.000 --> 00:25:44.000

Yeah, about the final project. Next steps.

00:25:44.000 --> 00:25:46.000

Yeah, it's a final project. Okay.

00:25:46.000 --> 00:25:57.000

Oh yeah, final project. Okay, yeah, so final project, we will, Friday kind of open up basically.

00:25:57.000 --> 00:26:05.000

A submission. Form where you can, basically put in.

00:26:05.000 --> 00:26:19.000

Any piece of content so it can be a It can be a,

00:26:19.000 --> 00:26:33.000

Twitter or ex post it can be anything on the forums. That we've mentioned Ethereum magicians, that you have like.

00:26:33.000 --> 00:26:43.000

Participated in. To, either help. Further along. Knowledge.

00:26:43.000 --> 00:26:45.000

In the upgrade space. So it's gonna have a really wide like definition of what's done.

00:26:45.000 --> 00:27:03.000

The main thing is that and we'll put the rules around this is that like. Properly site, that if there's any sort of use of AI you have to say exactly, you know, what that was.

00:27:03.000 --> 00:27:12.000

In that you certify that the work is your own. But will, just as the timing of this.

00:27:12.000 --> 00:27:25.000

This course is hitting and we're kind of at the upgrade. Side, you know, basically any evidence that you can show of participating and help spreading knowledge of.

00:27:25.000 --> 00:27:30.000

The. Of this upgrade, that will count as a final project and we'll just give it a completion grade.

00:27:30.000 --> 00:27:44.000

We just wanna make sure that it's there and that it that will be like sort of the final sign off and if you complete that, you will have like successfully completed the course.

00:27:44.000 --> 00:28:01.000

You'll have to go through and just ensure that you Checked off all the lessons, but that then you complete the course and we will, let you know if there's something from like an education Dao standpoint.

00:28:01.000 --> 00:28:07.000

That will be

00:28:07.000 --> 00:28:21.000

Sent out just our platform naturally will give you like a a completion. Screen and in certificate, but we wanna make sure that we can get some.

00:28:21.000 --> 00:28:30.000

Confirmation from education down whether there's some special branding that we can deploy and so yeah that would be That's it.

00:28:30.000 --> 00:28:47.000

So pretty wide definition of what that is. You can be as creative as you want, or you can be as creative as you want, or you could be pretty straightforward and just, you know, showing, hey, this was me commenting on these EIPs and and you could be pretty straightforward and just, you know, showing, hey, this was me commenting on these EIPs and adding to it.

00:28:47.000 --> 00:28:56.000

It can be for this upgrade or for future upgrades. And if you've participated in other, network upgrades in some capacity.

00:28:56.000 --> 00:29:02.000

We're open to accepting that as well. So yeah, that would be the final project.

00:29:02.000 --> 00:29:15.000

You should be pretty straightforward. And attainable. But it does ask you to kind of put yourself out there and either participate in the process or invited others to participate.

00:29:15.000 --> 00:29:22.000

So. A summary thread of like, hey, I took this course. These are the like where the most interesting topics to me.

00:29:22.000 --> 00:29:28.000

Here's where you can learn more. Any sort of like, you know, pointing people in the right direction.

00:29:28.000 --> 00:29:36.000

Particularly as we're going into the upgrade now, it's really helpful. So, We are intending to essentially as you complete this project, enlist your help in getting people to be aware of the upgrade.

00:29:36.000 --> 00:29:48.000

And that it is happening.

00:29:48.000 --> 00:29:49.000

Yeah.

00:29:49.000 --> 00:29:50.000

Thank you, Tom.

00:29:50.000 --> 00:29:52.000

Maybe we'll run more courses. We don't know. We should.

00:29:52.000 --> 00:29:53.000

Hi.

00:29:53.000 --> 00:29:59.000

Yeah, we would love to run some more courses, but we would probably take a little break. After this one.

00:29:59.000 --> 00:30:07.000

Hi guys, and. So first of all, I wanted to thank you for this great course. It was really enjoyable and I learned a lot from that.

00:30:07.000 --> 00:30:20.000

And I had a question. You mentioned a lot of teams that belong to firms or work in some way or another are attached to the industry.

00:30:20.000 --> 00:30:44.000

How exactly does it work? I mean, they just, you know, if I work at a firm, I can kind of put together a team or you know is there any kind of formality here or a way to control for, you know, people you know pushing an agenda or I don't know where doing something that would not necessarily be I know benevolent I'm just too I would like to hear more

00:30:44.000 --> 00:30:46.000

about that if Okay.

00:30:46.000 --> 00:30:59.000

Such a good question. Yeah, I think also we can maybe get into just the general economics of like what incentivizes people to participate in this.

00:30:59.000 --> 00:31:00.000

Hmm.

00:31:00.000 --> 00:31:05.000

So all Matt, maybe we can. Ping pong back and forth on this. So

00:31:05.000 --> 00:31:17.000

When we showed you that overall slide of all the groups that participate and you know what i will actually pull that back up because I think that's a great way to.

00:31:17.000 --> 00:31:21.000

To end this

00:31:21.000 --> 00:31:38.000

This, this course. There is. Like actually very different. That go with each of those groups and honestly like very different ways.

00:31:38.000 --> 00:31:46.000

That they get paid. So that's what I mean when like there's different incentives in different ways that.

00:31:46.000 --> 00:32:00.000

That they get paid. And, so Not to be. This is not meant in a cynical way, but oftentimes, at this point in time on Ethereum, you can kind of think about it like.

00:32:00.000 --> 00:32:11.000

If you kinda wanna know. How people are aligned, like follow the money. Right? Follow the money is kind of the easiest way to think about it.

00:32:11.000 --> 00:32:12.000

Yeah.

00:32:12.000 --> 00:32:19.000

So. I'll just point out an example like layer 2 developers and bring that up. Juan was just kind of asking that question about like, you know, are the LT's ready and like they do need to be ready.

00:32:19.000 --> 00:32:35.000

They are preparing for that because you know there a lot of times their revenue streams come from The token, the what's the token price of the L 2?

00:32:35.000 --> 00:32:41.000

What is the,

00:32:41.000 --> 00:32:42.000

Okay.

00:32:42.000 --> 00:32:50.000

TLV on the L 2, cause that tends to be correlated with the token price. And then, how often that token is used transactionally because they can often make revenue running a sequencer, right?

00:32:50.000 --> 00:33:17.000

The sequencer that's rolling it up. So they want to, their incentive in being involved is not to decisions made that could adversely impact their L two's ability to settle on Ethereum as its security layer and

00:33:17.000 --> 00:33:33.000

Take a separate coffee there because of that. There is an understanding, a balancing act that oftentimes the project managers for Ethereum have to do and understanding what is the incentive.

00:33:33.000 --> 00:33:42.000

Of that team when they make suggestions and try to balance it out. We're still in a phase right now.

00:33:42.000 --> 00:34:00.000

At the Ethereum standpoint, even as big as we've grown. Even with sort of you know, we've really seen the global adoption of crypto and that When you look at the participants on these calls, on ACD, all core execution depths consensus.

00:34:00.000 --> 00:34:14.000

I are calls. It's still like. Small. It's still like relatively small and so there is sort of a natural even with pseudo anonymity.

00:34:14.000 --> 00:34:40.000

A vetting process of kind of knowing it's still possible to know all the actors. And I think what you've brought up will become the essential alignment will become more challenging in the vetting more challenging and will rely more on people's past, like his, like basically the history that they're bringing with them and the things that they've worked on to sort of get a sense

00:34:40.000 --> 00:34:50.000

of is this a team that's actually showing up with a opinion that is going to be additive and help and expand.

00:34:50.000 --> 00:35:01.000

You know interest in in the space or is this a team that might be coming in being like extractive and trying to.

00:35:01.000 --> 00:35:13.000

Potentially, maliciously impact the community. So. I think right now it's kind of a balance it like in some ways.

00:35:13.000 --> 00:35:17.000

The

00:35:17.000 --> 00:35:21.000

All the

00:35:21.000 --> 00:35:35.000

Complexity. Of the process of participating. In core development. Is a sort of unintentional screening mechanism.

00:35:35.000 --> 00:35:40.000

To.

00:35:40.000 --> 00:35:52.000

Essentially see who gets through the process and participates because it provides a way of like essentially vetting people and seeing like what they're working on, what their intentions are.

00:35:52.000 --> 00:36:03.000

Now, The EF has been very good about recognizing like, hey, we actually do need to make programs that are more accessible and not make this unintentionally gatekeeping.

00:36:03.000 --> 00:36:10.000

So there's things like a summer of protocols is a program that was run. There's Ethereum Fellowships.

00:36:10.000 --> 00:36:19.000

And in that way, they're actually able to sort of reach out and bring in new voices. Researchers R&D folks.

00:36:19.000 --> 00:36:21.000

But in a way that also gives them a specific onboarding process, right? They're going through this with the cohort.

00:36:21.000 --> 00:36:40.000

They're working on a specific project. They potentially been given a grant to do that. So that is kind of how, Those are 2 ways that people are able to be brought in and be brought in in a way that sets them up.

00:36:40.000 --> 00:36:48.000

To be successful and be a productive, contributors. I'll hand it over, Matt.

00:36:48.000 --> 00:37:01.000

If there's more nuance or more examples that you want to sort of give around. Ensuring that, you know, the teams that are participating are doing so with good intent.

00:37:01.000 --> 00:37:06.000

Yeah, I mean, there's the simple one of like, if it smells. Like a duck and it quacks like a duck, it's a duck.

00:37:06.000 --> 00:37:16.000

And if people, we, we can kind of sniff out when folks are being intentionally malicious or intentionally pervasive.

00:37:16.000 --> 00:37:25.000

And that's why the client teams are held incredibly neutral for the most part because thankfully in part due to the client sensitive program So the client teams are paid to exist.

00:37:25.000 --> 00:37:43.000

They're also often paid by the protocol guilds. So there are incentives that are run by the EF that allow these clients teams to not be captured by corporate interests with the goal of you know, basically having a revenue stream that is not relying upon selling out or being bribes or other things.

00:37:43.000 --> 00:37:52.000

So it's very easy for I think in these open forums, especially for these to be sniffed out.

00:37:52.000 --> 00:38:07.000

The Ethereum Foundation itself is also pretty good at this because They have no interest in being really captured by any of these interests and they also represent the GET team, which has a very outsized voice on the execution layer because they represent.

00:38:07.000 --> 00:38:15.000

You know, thankfully now around 70% of steak. But yeah, it's we're It's very much so a sniff test.

00:38:15.000 --> 00:38:20.000

And I think that the EF has done a good job of providing incentives to keep these teams neutral.

00:38:20.000 --> 00:38:32.000

It's also much like, you know, I think the layer two's add a new element to this where there they are taking part in protocol development in the very real way.

00:38:32.000 --> 00:38:44.000

And Ethereum itself, Ethereum layer one is also relying on the layer 2 to scale the network of networks, which means that we have a symbiotic relationship.

00:38:44.000 --> 00:38:58.000

So I think it's. A little bit of a give and take it's a little bit of we you know we're allowed to also be cat like you're allowed to express the interests of some corporation on these calls because there's typically in there's typically a reason why they want to do something, right?

00:38:58.000 --> 00:39:22.000

They want to enable a new use case. They want to enable Ex set of users or they want to bring capital on chain and I think that the ethos is still very much closely held within the client teams and in order to become a relevant participant in core development you have to kind of show credible neutrality if you Tom had that clip of the person being like I wanna be a Cordev and you know.

00:39:22.000 --> 00:39:30.000

I wanna do all this like yes, you're more than welcome to come in and try, but if, if you haven't been a credible neutral source of improvement and.

00:39:30.000 --> 00:39:35.000

XYZ, you. Probably not be given this much of the time of day. But yeah, there's a variety of mechanisms in place.

00:39:35.000 --> 00:39:45.000

And I think that, you know, people get their salaries paid one way or another. Whether they are able to impart their will on to core development.

00:39:45.000 --> 00:39:55.000

You kind of have to convince everybody in this chart. Which is a lot harder than you think. And that's, I think that's all I have to.

00:39:55.000 --> 00:39:56.000

Cool.

00:39:56.000 --> 00:40:11.000

I think the final thing I'll add is like One part that maybe we don't talk about as much as like how is maybe flipping the question and saying it like I want to be involved but I need a you know and maybe long term.

00:40:11.000 --> 00:40:30.000

Wanna do this full time. How do I get paid? How do I sort of, you know, pay the bills, keep the lights on, and get to do that, that this work that interests me and fortunately there's a lot of different ways to do this.

00:40:30.000 --> 00:40:36.000

I think this mirrors a lot what you see in other open source communities, but being web 3.

00:40:36.000 --> 00:40:37.000

Okay.

00:40:37.000 --> 00:40:54.000

We do have a unique flavor to it. So, like I mentioned, there are really great grants programs that the EF sponsors that have focused on bringing in researchers people who've worked on.

00:40:54.000 --> 00:41:08.000

Who who are working on interesting research areas and they give them the money to do that work to make that the thing that they're working on part or full time.

00:41:08.000 --> 00:41:22.000

Other companies including consensus historically have followed right because you know, Matt and I, we work for consensus, like, you know, there's, there's an interest.

00:41:22.000 --> 00:41:31.000

I call it pragmatic decentralization as someone who's working on a a decentralized protocol.

00:41:31.000 --> 00:41:57.000

That's my day job. You can't do everything and sometimes it's easier to just pay people smart people who are interested in the problem to do it, then try to bite it off yourself or find someone who's who's aligned so there are ways to, get grants from, companies, from foundations of L twos and other networks.

00:41:57.000 --> 00:42:08.000

And then there are. Also. Like, like, Matt said, like, there's the protocol, guild.

00:42:08.000 --> 00:42:23.000

There are funds that are specifically made for client teams to get paid there are Dows that will often times, provide payment for being like that representative.

00:42:23.000 --> 00:42:33.000

So there is ways to. Month Each as each month goes by, there is more ways it seems to like.

00:42:33.000 --> 00:42:44.000

If you want to make a living doing this. And you want to do it in a way that maybe it's with a company maybe it's on your own that there's more and more avenues.

00:42:44.000 --> 00:43:09.000

I do think at the outset when, Ethereum started it was very much like, hey, hopefully, you're participating your, you know, bought in and your, you know, basically using the protocol and that is your way of like, creating the for yourself.

00:43:09.000 --> 00:43:21.000

The way to to sort of make that a living. But at this point, That is very much diversified in terms of the different ways that you can.

00:43:21.000 --> 00:43:32.000

Can participate. It's a great question. I mean, in some ways, it's like, That's our answer, but I think for each of these different roles.

00:43:32.000 --> 00:43:53.000

You could have a completely different answer. For how they see themselves aligned and that is kind of the beauty of of this course and that it's like in the end Maybe one of the conclusions is like, this is a great example of like a very like just enough structure, just enough anarchy to get.

00:43:53.000 --> 00:44:09.000

The nice sort of middle path of Getting still getting things done but having there be enough enough you know Okay, chaos in sort of the chaos theory way that things move forward and that there's innovation that there's challenges to what we think.

00:44:09.000 --> 00:44:16.000

Yeah.

00:44:16.000 --> 00:44:32.000

Cool guys, thank you for your answer. And another question. And maybe someone aligned, there's a lot of research going around, you know, some of it from the, foundation and some of it, you know, from other sources.

00:44:32.000 --> 00:44:59.000

And a lot of it comes from you know people in via you know in academic world that they publish and interview but there's a lot of other things that are you know just appear as a post or something like that is there I wasn't clear is there some kind of peer review process or something that you know at least you know things coming out of the Hey, you know, that are results that are actually kind of a verified and, you

00:44:59.000 --> 00:45:03.000

know, read through, that are actually kind of, a verified and, you know, read through, verified and, you know, read through such.

00:45:03.000 --> 00:45:18.000

Is there any kind of a process here that will, and such is there any kind of process here that will kind of a process here that will kind of establish the credibility of the you know research that is a tied to the

00:45:18.000 --> 00:45:19.000

Hmm.

00:45:19.000 --> 00:45:28.000

There is at this time not like a formal, peer review process in terms of like a journal based like that a journal would have.

00:45:28.000 --> 00:45:32.000

But our peer review. I think in this space looks a lot more like a code review to be perfectly honest at this point.

00:45:32.000 --> 00:45:49.000

It's more like, like, in almost Like as we think about this. So maybe to talk more about like the upgrade and the testing process, right?

00:45:49.000 --> 00:45:57.000

If someone wrote a blog post saying like, here are the things that I think will be done by the CIP, the peer review process.

00:45:57.000 --> 00:46:15.000

Is almost the EIP going through the different phases in being accepted and then implemented into a client. And then test it on the Dev Nets and the test nets like that becomes our peer review process in terms of pure writing and ideas.

00:46:15.000 --> 00:46:30.000

I think we've, our community has indirectly taken the approach that has been pioneered by Vitalik and Vitalik has actually taken this from other influences where Hill.

00:46:30.000 --> 00:46:40.000

If he writes something, he typically is distributing a draft of that to other people and then we'll cite it in his writings of saying like this was reviewed by these people.

00:46:40.000 --> 00:47:08.000

Thank you for your comments and in feedback. And so when we think more on like the research in Dertical side, that's done in week.

00:47:08.000 --> 00:47:12.000

Yeah.

00:47:12.000 --> 00:47:13.000

Yeah.

00:47:13.000 --> 00:47:17.000

4 though. In week 5, I think we, you know, it was week 5. We pointed out some writing that was done by a combination of the T it was like researchers, R&D researchers from consensus in the Ethereum Foundation and they were actually doing like formal verification and so they actually did go through more of a.

00:47:17.000 --> 00:47:24.000

Similar to a peer review process that I've seen that math mathematics journals use.

00:47:24.000 --> 00:47:30.000

So like, We don't really have, I think short answer is we don't really have the like.

00:47:30.000 --> 00:47:34.000

Science.

00:47:34.000 --> 00:47:54.000

Like, nature, journal, peer review process. Ours looks like a hybrid version of a combination of like code reviews that happen in software tech companies and open source communities combined with sort of like how mathematicians are doing like proofs in showing each other.

00:47:54.000 --> 00:48:04.000

Rob, you. Might have some insight on like, I mean, maybe just. You can talk about like how you think about like.

00:48:04.000 --> 00:48:27.000

Peer review with regards to tooling i would assume it's more focus from from the EF side on like sort of the code review side right code review and any open user feedback.

00:48:27.000 --> 00:48:33.000

You mean like if someone submits a ER to remix, do we accept it?

00:48:33.000 --> 00:48:41.000

Right, like how do you, handle that more like a PR to remix this almost more like a code review process than like a.

00:48:41.000 --> 00:48:55.000

Going through their citation like Oh, they cited this going through it. It looks more like a like it is a code review rather than like a looking at their sighted sources potentially.

00:48:55.000 --> 00:49:09.000

Yeah, I mean recently like, There was a someone wanting to add some chains to remix and It was discussion like, do we want to add this chain?

00:49:09.000 --> 00:49:17.000

Or it was actually as a plug in so. If so, we first we thought, no, we don't want to add it.

00:49:17.000 --> 00:49:25.000

Because if we had this, then everyone's going to want something similar. And then we realized, oh, actually, someone actually has to enable this to.

00:49:25.000 --> 00:49:32.000

To use it. So. You only gonna see it if you wanna use it.

00:49:32.000 --> 00:49:41.000

Anyway, so it's this balance of, making the tool usable, but this is not really, This is just the tool itself, so.

00:49:41.000 --> 00:49:49.000

I think it's, I mean, but maybe like in terms of, and the IP is.

00:49:49.000 --> 00:50:06.000

You know, it's with the, is this functionality gonna be useful for everyone and rallying support around that and and since the remix team is so small, it doesn't, it's just a discussion, but.

00:50:06.000 --> 00:50:23.000

Maybe we could actually, have some formal. Process to go through that we were. To make it more inclusive as the project grows.

00:50:23.000 --> 00:50:24.000

Yeah.

00:50:24.000 --> 00:50:27.000

The EIP itself is probably the closest thing, the EIP, ERC process, given how it's structured.

00:50:27.000 --> 00:50:28.000

Yeah.

00:50:28.000 --> 00:50:34.000

It is effectively Ethereum's version of peer reviewed research.

00:50:34.000 --> 00:50:42.000

Yeah. So yeah, that's a good example. Here's an example I was thinking of.

00:50:42.000 --> 00:50:50.000

I mean, suppose the you know from time to time people kind of public put out these the potential vulnerabilities.

00:50:50.000 --> 00:50:59.000

That could happen And I'm thinking, I mean, okay, does anybody, if I'm kind of trying to catalog and trace all the vulnerabilities.

00:50:59.000 --> 00:51:09.000

Is anybody looking at you know this post about this vulnerability is just really a vulnerability or just, you know, something that something.

00:51:09.000 --> 00:51:26.000

You know, someone who hypothesizes about what could happen, but you know, No, like, Yeah, that's kind of, I was thinking in that direction.

00:51:26.000 --> 00:51:27.000

Okay.

00:51:27.000 --> 00:51:28.000

I do have a really Good example of that. So there is like a disclosure. There is like an ethical disclosure program.

00:51:28.000 --> 00:51:39.000

And so you do, it actually becomes, you do have to like show. That the owner built like so the one that I'm most familiar with.

00:51:39.000 --> 00:51:54.000

Was like a implementation of the protocol such that like. Honest actors could be slashed in these edge cases where they weren't able, where like they were following the protocol, but they could still be slashed.

00:51:54.000 --> 00:52:07.000

And so that was. Disclosed and there was a bat like They were paid for that, but they had to show that it was like mathematically, they had to show that it was possible.

00:52:07.000 --> 00:52:20.000

So that does. Exist. And I believe there is a burden of proof. Like you can definitely hypothesize about it.

00:52:20.000 --> 00:52:21.000

Yeah.

00:52:21.000 --> 00:52:28.000

There is a lot of hypothesizing that happens on. Social media channels, but to actually get this sort of, compensation for it that goes with ethical disclosure.

00:52:28.000 --> 00:52:45.000

There is a system towards doing that and let me just find that really quick so I can drop that in so it persists for us.

00:52:45.000 --> 00:52:57.000

Because that, yes, so that is like, that's, that is a real thing.

00:52:57.000 --> 00:53:00.000

And that's proving it through formal verification.

00:53:00.000 --> 00:53:17.000

I think formal verification is a very If efficient way to do that.

00:53:17.000 --> 00:53:20.000

So.

00:53:20.000 --> 00:53:28.000

There is. Let me show you the bug bounty program.

00:53:28.000 --> 00:53:34.000

In this covers. I believe this covers the entire scope. Of bugs for Ethereum.

00:53:34.000 --> 00:53:45.000

So it for, Ethereum. Not for. .

00:53:45.000 --> 00:53:52.000

So it's protocol client per solidity bugs and there is actually a leader board that you can follow along and.

00:53:52.000 --> 00:53:54.000

Okay.

00:53:54.000 --> 00:54:06.000

These are the clients that are featured in it. And here is like. How you do it and.

00:54:06.000 --> 00:54:20.000

You it says what sort of out of scope and how to submit. And here it is. What you can get paid.

00:54:20.000 --> 00:54:24.000

Okay.

00:54:24.000 --> 00:54:25.000

Okay, great.

00:54:25.000 --> 00:54:30.000

Yeah, so I will paste this in the chat.

00:54:30.000 --> 00:54:33.000

So the likely leaders are in the lead.

00:54:33.000 --> 00:54:38.000

Yes, yes.

00:54:38.000 --> 00:54:46.000

Cool. Well, that brings us to the end of our session today.

00:54:46.000 --> 00:54:56.000

And so what we'll do is we'll get everything up. By Friday so we can do submissions and then we will have a few more communications that will come out.

00:54:56.000 --> 00:55:23.000

As we get into the finalized date of the upgrade because we'd love to do just like a watch party and then we'll also publish out a couple of dates of potential, maybe informal in person meet ups if people are going to be at there in events over the next 3 months or so where we will be there and always grab good to just like grab a coffee.

00:55:23.000 --> 00:55:27.000

No. Not now, not now.

00:55:27.000 --> 00:55:32.000

So, yeah, that's it for today. Thank you, everyone, for attending.

00:55:32.000 --> 00:55:33.000

Yes.

00:55:33.000 --> 00:55:40.000

And, we will have everything up. In terms of final project submission for Friday.

00:55:40.000 --> 00:55:41.000

Thank you so much.

00:55:41.000 --> 00:55:42.000

Thank you.

00:55:42.000 --> 00:55:43.000

Okay, thank you very much for your time. And for your efforts. Okay. IA good one.

00:55:43.000 --> 00:55:44.000

Thanks all.

00:55:44.000 --> 00:55:47.000

Okay, bye bye


Supplemental Resources

Proceeds from collectibles editions of this post will be distributed as follows:

100% to Education DAO Optimism Treasury (0xbB2aC298f247e1FB5Fc3c4Fa40A92462a7FAAB85)

Loading...
highlight
Collect this post to permanently own it.
Wiki of Web3 logo
Subscribe to Wiki of Web3 and never miss a post.
#ethereum#lectures/seminars#courses