Recorded

Ethereum Classic Community Call #57

10 Years of Classic

Friday, July 24, 2026 at 02:00 UTC (Thursday, July 23 in Americas)
UTC 02:00
ESTNYC
21:00-1 THU
GMTLondon
02:00
CETBerlin
03:00
GSTDubai
06:00
ISTNew Delhi
07:30
ICTBangkok
09:00
CSTBeijing
10:00
JSTTokyo
11:00
AEDTSydney
13:00
Istora
Istora
Diego
Diego
Lunar
Lunar

Key Points Discussed

  • The call marked ten years of Ethereum Classic and the Fifthening: block 25,000,001 was mined on 22 July 2026, cutting the reward from 2.048 to 1.6384 ETC under ECIP-1017, two days after the 10-year anniversary of the DAO fork.
  • Diego presented his article The Timeline That Kept the Money: the DAO attacker is still the #7 ETC holder and has never moved the roughly 20% of stolen funds sitting on the ETC chain, while about 1.28 million ETC remains unclaimed in the White Hat Group’s refund contract.
  • Of the roughly 11 million ETH stolen in 2016, about 8.4 million (over 70%) was recovered; the group’s refund contract is governed by a five-key multisig with four signers still active in the past year, and almost 1,500 recipient addresses have never transacted on either chain.
  • Istora argued the DAO hard fork was unnecessary in hindsight, since a partial recovery plus the ongoing cat-and-mouse pursuit of the attacker would likely have returned most or all of the funds without splitting the chain, though the split did create ETC.
  • Diego shared a cross-client benchmark built on offline Era1 re-execution: Geth Classic validated the full chain fastest (about 1.5 days), ahead of core-geth (~2 days), Nethermind (~3 days), and Besu (~5 days), and he judged all four clients to be at a comparable level of maturity.
  • On post-quantum security, the group noted that ETC addresses are hashes of public keys, so only addresses that have already transacted (and thereby exposed a key) are exposed; a migration path is undecided, and Istora plans to focus on it at DEVCON Mumbai.

Full AI Summary and Transcript ↓


Preamble

Hello, and Welcome!

This community call is an open voice chat discussion about Ethereum Classic. Everyone is welcome.

The call will be published on YouTube. We kindly ask that discussion stays focused on ideas rather than individuals. Let’s keep it classy.

Find past episodes, transcripts, subscribe to calendar, and more at https://cc.ethereumclassic.org.

Introductions

Quick round of introductions for everyone on the call, and if there’s anything you want to talk about.

Announcements

The Fifthening has happened. At block 25,000,001, mined on 22 July 2026 at 17:13 UTC, the ETC block reward reduced by 20% from 2.048 ETC to 1.6384 ETC, per the 5M20 monetary policy set out in ECIP-1017. This is the fifth era reduction since the policy activated in 2017.

Today’s Agenda

This episode celebrates ten years of Ethereum Classic. On 20 July 2016, the DAO hard fork split the chain, and the network that kept the original ledger became ETC. A decade on, we look back at The DAO Hack that started it all.

  • 10 Years of Classic: reflecting on The DAO Hack
    • What actually happened in June and July 2016, and how do participants on the call remember it?
    • Was “code is law” a founding principle or a label applied after the fact? The founding documents bracket the fork itself:
    • What lessons from the fork still apply to how ETC handles contentious decisions today?
  • Article discussion: The Timeline That Kept the Money: A DAO Hack Field Trip on Ethereum Classic by Diego
    • The refund contract still holds roughly 1.28M unclaimed ETC, and the attacker’s addresses hold roughly 3.36M ETC, untouched for a decade
    • Should anything be done about the unclaimed refund pool, or is leaving it alone the point?
    • Why might the attacker’s funds have never moved? What would it mean for ETC if they did?
    • Does the frozen DAO money strengthen or complicate the immutability narrative ten years on?

AI Summary

Recorded on Ethereum Classic’s tenth anniversary week and two days after the Fifthening block-reward reduction, Call 57 brought Istora together with Diego and Lunar to reflect on the 2016 DAO hack that gave rise to ETC. The discussion centered on Diego’s new article about the DAO refund contract and the funds still sitting untouched on the ETC chain, then moved through ETC’s funding transition, a cross-client performance benchmark of the four ETC clients, and an exploration of how post-quantum cryptography might affect the chain. Lunar left partway through, and the second half was a wide-ranging conversation between Istora and Diego on client tooling, NixOS, and quantum resistance.

Welcome: 10 Years of ETC and the Fifthening

Istora opened by marking two milestones landing in the same week.

  • Details
    • Istora: The call fell ten years after Ethereum’s mainnet hard forked following the DAO incident, the moment the unforked chain continued as Ethereum Classic
    • Istora: The network also passed the Fifthening at block 25,000,001, mined on 22 July, reducing the block reward under the 5M20 schedule (ECIP-1017) and coinciding two days after the fork’s 10-year anniversary
    • Istora: Welcomed Lunar and Diego, framing the episode as a chance to reflect on what happened a decade ago
  • Conclusion
    • The anniversary and the Fifthening set up a retrospective on the DAO hack and the fork that created ETC

The DAO Refund Contract: Diego’s Article

Diego walked through the research behind his article on where the DAO funds ended up.

  • Details
    • Diego: He began after noticing that the #7 holder of ETC is the address that hacked the original DAO, then studied the contract set up to return tokens to the original DAO holders (The Timeline That Kept the Money)
    • Diego: Part of the funds were returned, but a substantial amount is still waiting to be claimed, and most non-claiming accounts are inactive on both ETC and Ethereum, raising the question of whether those holders will ever return
    • Diego: About 20% of the stolen funds remain in the attacker’s control on ETC and have never been moved, which is why that address is still the #7 holder
    • Istora: Of roughly 11 million ETH stolen in 2016, about 8.4 million (over 70%) was recovered, and roughly 1.28 million ETC remains unclaimed in the White Hat Group’s recovery contract
  • Conclusion
    • A decade on, both the attacker’s stake and a large unclaimed pool sit frozen on the ETC chain, controlled respectively by the attacker and the White Hat Group

The White Hat Group and the 2016 Fork

The conversation turned to the rescue group and whether the fork was the right call.

  • Details
    • Istora: The vast majority of recovered ETC sat in the White Hat Group recovery contract rather than being spent on Ethereum development, correcting a common assumption about Ethereum Foundation ETC sales
    • Istora: He argued the DAO hard fork was unnecessary in hindsight, since accepting a partial haircut still returned over 70%, and continuing to pursue the attacker would likely have recovered close to 100% as the attacker was eventually unmasked
    • Istora: The roughly 1.28 million ETC that was never fully claimed is controlled entirely by the White Hat Group, which could in principle sell it or use it to fund ETC development
    • Diego: Confirmed the analysis and noted the striking fact that the stolen funds on ETC simply never moved
  • Conclusion
    • Both saw the fork as a mistake for Ethereum that nonetheless created ETC, leaving two parties (the attacker and the White Hat Group) sitting on large, untouched holdings

ETC Funding and Organizations Sunsetting

Prompted by Lunar, the group discussed who funds ETC development now.

  • Details
    • Istora: There are funding solutions in the works to be announced this year, and ETC does not need to tax miners (as in Olympia) to pay for development
    • Istora: ETC is in a transition phase as the ETC Cooperative winds down, with something expected to replace it
    • Lunar: Offered to act as a financial backstop for continued development if nothing else materializes, and asked how many people work on the clients
    • Diego: Confirmed he is effectively the sole client developer at present, having not been contacted by many others, though he hopes more core developers will join
  • Conclusion
    • Funding is mid-transition with announcements expected this year, and Lunar volunteered to backstop client work that currently rests largely on Diego

Reflections: Could the Funds Be Reached?

Before leaving, Lunar pressed on the article’s thesis and whether the dormant funds could ever be recovered.

  • Details
    • Diego: The analysis used Blockscout for most of the on-chain work and an archive node only to check balances frozen at the time of the fork; almost 1,500 addresses have never sent a transaction on either chain, and about 80% of non-claimers have been dormant for five years or more
    • Diego: The White Hat Group is still active, holding the refund contract through a multisig whose four of five signers were active in the past year
    • Lunar: Said he had previously tried to reach the supposed DAO attacker without success, and raised the ethical and legal question of whether the funds could be used, to which Istora replied that under “code is law” the contract executed faithfully, though other jurisdictions might view the funds as stolen
    • Istora and Diego: Noted the attacker donated around 10,000 ETC to a Community Fund multisig near the fork that was never used, that exchanges have likely blacklisted the address, and that the White Hat Group took roughly 1% of recovered funds (around 89,000 ETC) as a reward
  • Conclusion
    • The dormant funds are visible and analyzable but likely unreachable, and even the White Hat Group’s willingness to use unclaimed ETC is uncertain

Client Benchmarks, Era1, and Diversity

Diego presented testing infrastructure he built to keep the ETC clients in consensus and compare them.

  • Details
    • Diego: He continuously uploads every block and transaction to an S3 bucket in the Era1 format, then re-executes the whole chain offline from disk to validate clients without syncing from scratch
    • Diego: Full-chain validation timings were about 1.5 days for Geth Classic (fastest), a bit over 2 days for core-geth, over 3 days for Nethermind, and over 5 days for Besu, largely reflecting Geth Classic’s default path-based database versus hash-based schemes
    • Diego: The work surfaced fixes fed back into the clients, including a flag to force proof-of-work verification on Nethermind’s Era1 import (which skips it by default, an optimization aimed at proof-of-stake), and a fix for the system allocator not returning RAM to the OS fast enough during long Nethermind runs
    • Diego: He judged all four clients to be at a comparable level of maturity, added ETH getWork and submitWork support across clients so miners could build blocks on any of them, and outlined next steps of scripted DevNets and transaction fuzzing (using Marius’s go-ethereum tool) for upcoming hard forks, all managed with NixOS
    • Istora and Diego: Praised Nix for reproducibility and composability, agreeing that LLMs remove much of its learning curve
  • Conclusion
    • The four ETC clients now benchmark and interoperate at a similar maturity level, with Geth Classic a standout on performance, and NixOS-based tooling positioned to support future fork testing

Post-Quantum Security for ETC

With a few minutes left, Istora raised how quantum computing might affect ETC.

  • Details
    • Diego: ETC addresses are hashes of public keys and cannot be attacked on a quantum computer by the address alone, but once an address has made a transaction it exposes its public key through the signature and becomes potentially vulnerable
    • Istora: Addresses that have never transacted are therefore safe, while those that have would need to migrate to a new scheme; a migration path is not yet decided
    • Diego: Ethereum has post-quantum working groups meeting weekly at pq.ethereum.org; NIST-standardized signature algorithms such as Falcon, Dilithium, and MAYO could be added as primitives to let users move funds behind quantum-safe multisigs ahead of any threat
    • Istora and Diego: Discussed whether migration could be automatic or piggyback on a normal transaction (as replay protection did at the ETC/Ethereum split), and Diego floated accounts that only accept transfers from post-quantum-secured senders to nudge migration; Istora said this would be his focus at DEVCON Mumbai and that ETC likely has more time than Bitcoin given its lower value as a target
  • Conclusion
    • Quantum resistance was framed as a challenge for ETC’s next decade that is less urgent than for Bitcoin but worth engaging early, with the Ethereum working groups as the natural starting point

Action Items

  • Community: Read Diego’s article The Timeline That Kept the Money and comment or share feedback
  • Community: Follow and engage with the Ethereum post-quantum working groups at pq.ethereum.org, relevant to ETC as well
  • Diego: Release the NixOS configs and Era1 re-execution scripts so others can reproduce the cross-client benchmarks, and set up scripted DevNets with transaction fuzzing for upcoming hard forks
  • Anyone interested in backstopping ETC development funding: reach out and join a future community call

Full Transcript

0:03Welcome: 10 years of ETC and the Fifthening
1:31The DAO refund contract: Diego's article
1:31IstoraSo, why don't we kick things off with an article that Diego wrote this week about what happened around the time of the downfall, and the subsequent trickling of funds to various places. Hmm… If you want to follow along with Diego's article, you can find a link in the show notes, but Diego, why don't you step us through what you wrote about this week? 1:59DiegoYeah, absolutely. Yeah, I started this, kind of research on… well, I kind of got surprised when I realized what's the number 7 holder of Ethereum Classic. And that's actually the… the hacker that hacked the original DAO. And after I realized that, well, I started to make my own research around the… all the events about… around the… that event, and what happened, after that. Yeah, I discovered a few interesting things. I analyzed the structure of the… of the contract that was, put in place for recovering or for returning the tokens to the original DAO holders. I think it was, like, a really interesting research, at least for me, it was really interesting to dig into that, because most of us, we are kind of aware of the history, but this was the first time for me, like, when I was actually looking to the contracts themselves. Yeah, I found a few interesting things. I made some research on what happened with the funds. Well, part of those were returned, but there is an interesting amount that is still sitting there, waiting for the original holders to claim their share, or, well, maybe the White Hat Group will decide to do something with those funds. Also, it was interesting to realize that most of the… The accounts that didn't claim their share of their return for the funds are mostly inactive in both chains, so that's also kind of surprising, and… at least personally, it raises the question if those people will ever return or not. I mean, it's, of course, it's impossible to say, but maybe it has happened enough time To think that, okay, maybe they didn't show up. Up until now, maybe we can do something, or not we, but maybe the White Hat Group. Could do something with those funds. But I don't know, I mean, that was, some… a few questions that came to my mind when I… when I dig into this. 4:32IstoraCool. 4:33LunarWell, don't they like selling?
4:36The White Hat Group and the 2016 fork
4:36DiegoSorry. 4:36LunarLike, what's… what's the history with the White Hat Group? Don't they… my understanding is, you know, ETC… basically, ETC sales sold, like, funded a lot of early Ethereum foundation development. 4:49IstoraCan'. 4:50DiegoYeah, go ahead, Simon. 4:53IstoraOkay, so… from… from… This was a while ago, but basically, I'm not sure that the Ethereum Foundation used its sales of ETC to fund much development, they probably sold some of it, but they also gave some of it to… I think… I think there were… there was some… usage of that through the Ethereum, like, friendship bridge or something that did go to some ETC development, but beyond that. not that much was spent. The vast majority of it was in this White Hat Group recovery contract, and I think this is what Diego was referring to on-chain. And… 5:40LunarI'm aware of that, yeah, I've seen that myself, yeah. 5:43IstoraSo… from reading the article, like, of the 8.4 million that was recovered. So, let's take a step back. Basically, I think around 11 million Ether was in the DAO hack. That was stolen. in 2016. And of that 11 million, 8.4 million was recovered. So, like, over 70% of the funds were able to be recovered. And it's likely, actually, that more of that would have eventually been recovered, had they not done the hard fork. So I think the main point… that I… keep coming back to with the DAO fork, and yes, it's a long time ago, but, like, it was completely unnecessary, because, like, a 20% or 30% haircut. Would not be completely… unreasonable. If you still get 70% of the funds back, that's… that's probably worth not forking the chain. And B, if they didn't fork the chain. it's likely they would have actually got 100% of the funds back by continuing with this cat-and-mouse game that the DAO hacker would eventually lose, because… They would eventually be unmasked. So… I think in hindsight, the DAO hard fork itself was a big mistake for Ethereum. But, thankfully they did it, because it created Ethereum Classic. Additionally, this… contract that, the DAO sorry, the White Hat Group maintained was… never fully claimed, and that 50%, roughly 1.28 million ETC is still sitting in there. And that contract is completely controlled by the White Hat Group. which basically currently controls that 1.28 million ETC, which is quite a substantial amount, and they could decide what they want to do with that. They could sell it, they could use it to fund ETC development, or something like that, but… I think… does that explain it? Diego? 7:44DiegoYes, yes, completely. Yeah, that's… that's on point. Yeah, and I agree. I mean, we are talking about, that 20% of the stolen funds, were still, or are still, in control of the… of the hacker. of the DAO, and interestingly, like, the… Majority of those funds have never been touched. On the ETC chain, and that's why the DAO hacker still has the number 7 account of holders. So that's also interesting. So even if, someone stole that money, that money never moved. So, yeah, that's also something interesting to notice. 8:31IstoraSo there's actually two parties that could potentially utilize those funds. 8:36DiegoYes, yeah. That's right. That's right. Tony, if you're listening. 8:44IstoraYeah, yeah, if either you are the DAO hacker, or you are, White Hat Group.
8:50ETC funding and organizations sunsetting
8:50Istorathere's a… there's currently a potential funding demand for ETC that might increase the value of that holding substantially, so… Just, why don't you join the next community call if you're interested in donating some of it? 9:04DiegoYeah. Yeah? We are an unfriendly. 9:07Lunaris ETC… So, ETC Labs is shutting down. What's… what needs funding? Is there… is there, like, a new… is, like, is there a new thing popping up, or is there… is it just independent now, or what's… What's, like, the state of that? 9:24IstoraThere are things behind the scenes that… are in the works? Nothing to announce yet. But… Yeah, as I've mentioned before, I think that there will be funding solutions announced this year. to continue development for ETC. That's not. 9:46LunarI mean, if… 9:46IstoraYeah. 9:47LunarIf nothing happens, you know, I'll pitch in, let's see what the responses are from the other guys, but I'll be the backstop if nothing happens. 9:56IstoraOh well, that's awesome. And… 10:00LunarYeah, let's see if… I don't know if White Hat Group or, you know, DAO hacker wants to do that first, but I don't know, maybe I ruined it by saying I'll put you. But we'll see if someone else pays for it. then I'm… then I'm fine. 10:18IstoraOkay. Yeah, let's, I think there's… there's definitely sources available that are not, Olympia. We don't need to tax miners to pay for development. It's just a case of organizing, and… Yeah, those… those things are happening behind the scenes, and… It's taking a bit longer than… originally hoped, but I guess that's the nature of… organizations? Things don't happen immediately, but… I believe that, 10:47LunarOkay. 10:48Istorathis year. 10:48LunarAnd my understanding is, you know, there's not… there's not that many, you know, Diego's working on it. How many other people are there on it? It's like Diego and… I'm like, who else? 11:00DiegoOn the client side, I'm not quite sure, I haven't been contacted by many people interested in helping on the client development. 11:12LunarSo it's just you, basically, that's working on it. 11:15DiegoYeah, I think so, yep. 11:17LunarOkay, alright, so that's very easy to sort of help in. If it's a bunch of people, then… then maybe that's more difficult. But yeah, that's… it's… 11:29DiegoYeah, hopefully there will be more core developers, but yeah. 11:35LunarYeah, so far. 11:36DiegoIt's… it's… it's me. 11:41IstoraYeah, I think if there's funding available, then it can be expanded. And we're in this transition phase where ETC Coop is shutting down, so… They… there'll be something to replace it, and… 11:53LunarLet's figure out… let's figure out exactly what happens, but, like, worst case scenario, you know, I'll put you in. 12:01IstoraCool, that's very much appreciated. And, hopefully that won't be necessary. I'm pretty sure that, if you do want to pitch in, there'll be means to do it. And, we can talk offline if you're interested in that. Back to this, contracts? So, there's a bunch of addresses that have never actually touched the chain, right? That are still credited with ETC, but have never made a transaction. They're basically dark addresses, is that… is that correct? 12:38DiegoYes, because basically what happened there is that, like, someone assigned DAO tokens to those addresses, but those addresses never use the chain, so they don't… I mean, basically, their balance is zero. So there are accounts that we don't know if those private keys are available or not, or who assigned those tokens to those addresses, but yes, there are, like, I don't know, I have the numbers in the article, but, Yeah, there are many… Many, many addresses that have never… had any movement in any chain. So that's also interesting. 13:24Istora80% have been dormant on both ETC and Ethereum for 5 years or more. 13:28DiegoHmm. Yeah. So she's on almost… Come back. Yes, I'm all… Almost 1,500 never have sent a transaction on either chain. 13:41IstoraHmm. 13:42DiegoSo, yeah. Yeah, it's interesting. So, all the numbers here are, of course, everything is something that you can check on-chain. Yeah, it's an interesting piece of research here. And also, something interesting is that the White Hat Group is kind of active, so they have been active, in last year, so they are still there, so they still have access to their… To their private keys, because, the White Hat Group has control over this, recovery contract, through, a multisig. So, there are four of the 5 signers. They have been active last year, so they are still there. So, yeah, are you going to put the link in the show notes, right? I think I really enjoy writing this, so… and making this research, so it… If anyone wants to comment or something, it's appreciated. 14:59IstoraHow did you actually do the analysis? 15:03DiegoHow did I work? 15:05IstoraHow did you, complete the analysis? Did you use, like, an archive node and scripting? Or just through… Yeah, like a doc explorer. 15:16DiegoYes, yes, no, mostly… yeah, mostly… most of this is accessible, through Blockscout or anything. You don't need to have a… Yeah, I think I use… yeah, I need, The, the, the thing that I needed for… an archive node was for… for checking the exit amounts that were held. By the time of a hard fork. Because, the tokens were assigned. by freezing a certain state of the original DAO hack. of the DAO contract for a particular time. So, for that, for making those, numbers, I… I needed to have access to an archive node. But just for that. For all the rest, it's just inspecting them… Yeah, inspecting the contract, and checking the addresses, and their movements, and all that. Yep.
16:22Reflections: could the funds be reached?
16:22LunarWhat was your sort of, thesis at the end? So I didn't… I didn't really understand, like, the thesis at the end. So you said… you said something like, like, the… you know, all the funds were there, sort of, like, frozen in time, like, what's… what sort of point were you trying to get across there? So I read through the article, and that sort of… 16:41DiegoYeah, no, I don't know, I just wanted to close it in a poetic way. But yeah, no, it's, just… for me, it was interesting to realize that there are, like. more than 1 million ETC just waiting there for many years, and there are many addresses that most likely will never claim those funds. And it will be interesting if those funds could be put into some better usage than just waiting there. Yeah, and the same for the DAO hacker, that never… he mostly never moved the funds. But yeah, that's the main point of the article, nothing else. 17:22LunarCould we… could we reach out? I actually… I've tried to reach out to that hacker before. You know, I think I emailed him or whatever, but, well, you know, the guy… the guy that's supposed to be him. But, does anyone have contact with him in, you know, on Discord or whatever? 17:41DiegoI don't know. Not me. I… yeah, I don't… I don't know anyone. 17:46IstoraDefinitely not under his, like… maybe pseudo-anonymously, he's involved in ETC, but I'm not aware of the… Anyone claiming to be the DAO hacker. And, he did… he did… Or they did… 18:03DiegoDave. 18:04IstoraThey, donated, like, 10,000 ETC around the time of the Hard Fork, 10 years ago, to the Community Fund. A multisig that has not been used at all as well, so… It's reasonable to, assume that, like. Like, if he's donated before, but it hasn't been used, why would he do it again? 18:32LunarBut, I mean, that takes, you know, that takes dedication, you know, hodling for 10 years. Because, like… But I guess, like, what else would you buy, you know? Like… 18:41IstoraIt also brings, like, an ethical question as to whether or not those funds would be able to be… used to fund anything. I mean, that goes for both the white hat and the DAO hacker side, because it's not clear legally. Whether or not those funds are considered stolen, or… 19:02LunarWell, I mean, code is law, I think legally, that was a legal act, you know, that was a foundational legal act. 19:09IstoraYeah, I think in the context of ETC law, then yes, absolutely. The contract. Was executed faithfully. 19:19LunarThat's through educational. Like, might differ, yeah. 19:23IstoraExactly, yeah, if you're in… If you're in a country that would like… consider that stolen, then… Like, are you willing to take those funds, basically? 19:36LunarYeah, most likely. 19:39DiegoMost likely, exchanges have blacklisted that address. 19:45IstoraYep. Yeah, probably. 19:47LunarBut there's, you know, there's… eventually there's enough cross-chain bridges. 19:54DiegoYeah. 19:55IstoraAnd I think probably the White Hat Group is a different story. Although, whether they'd be willing to utilize unclaimed funds is a different question, and I'm not sure they would be. Like, there's no guarantees, as far as I understand. 20:11LunarWell, that they could sell, yeah. Yeah, that's all. 20:15IstoraThere's also… I think, like, they've raised a… a lot of… ETC… sorry, Ether through donations during that. their redemption contract system had, like, an optional donation. 20:30DiegoYeah, they got, yeah, there are the numbers, but around 1% of the recovery went to the White Hat Group as a, like, a fee or reward. Or, yeah, like a thank you for what they… Right. …they put in place. So, yes, like, one percent. of the recovered funds, went to them. 20:54IstoraWhich is quite a substantial amount of… Would that be on the ETC side? Yeah. 21:01DiegoYeah, I think it was around 1 million? Wow, I'm sitting at that. I think so, I don't… I don't want to… yes, no. 21:10IstoraI think it was more like 80,000. 21:11DiegoYes, yeah, no, it's a scarce, yeah, 18… 89, 89,000. 21:17IstoraThat's still nothing to scoff at. 21:20LunarOne thing I was wondering about is Grayscale owns a lot. Do we know, like, what the Grayscale addresses are? Like, what they look like? Like, just out of curiosity. I was trying to find them myself, but I couldn't… 21:33DiegoWell, actually, Grayscale numbers are public, so if you, search… Their reports, yeah. Do you want the address? 21:42LunarLike, the addresses, I don't know, like, I tried to find them, but I couldn't. 21:47DiegoYeah, most likely they had it into an exchange. I… I don't… I don't know, I really don't know. But, yeah, maybe they… they… 21:56LunarYou think so. 21:56Diegohold it themselves. Yeah, I don't know. I don't know. But, I made, my check for… for who were the… the top holders, and that's when I realized that, the number 7 was the… the hacker of the DAO, but, I couldn't find any address that had the amount of… Ethereum Classics that were claimed in their reports, so I'm not quite sure where those are. 22:31IstoraThey're most likely split into multiple custodial ones. Yes. 22:36DiegoYeah. 22:39LunarBut they've also been holding for, like, you know, 10 years. 22:45DiegoYes. 22:56LunarOkay, cool, cool. Yeah, I enjoyed reading the article. I did go through some of these links, so… I mean, we'll see what happens with these things. If there is, you know, if there is funding issues, let's see what happens with… with ETC Co-op, you know, I'll step in as the backstop, you know, whatever happens there. So, yeah, we'll see. If you have any… Istora, do you have any other talks? Because I'm thinking of, like, you know, maybe going to bed a little bit earlier, so maybe I should leave here. May you guys continue to discuss. 23:30IstoraSure, I think we were just gonna talk… the only thing in the docket was the… 23:34LunarI'll see you. 23:35IstoraYeah, okay. Thanks, Lunar. Take care. 23:37DiegoThank you. 23:40LunarOkay, alright. 23:42DiegoBye. 23:44IstoraYeah, thanks for the article. It's a nice way to celebrate the 10 years, and to… Reflect back on what happened. 23:54DiegoYeah. Yeah, I didn't also… 24:03IstoraYeah, go ahead, go ahead.
24:05Client benchmarks, Era1, and diversity
24:05DiegoOkay, now I've also been writing some other stuff on… I don't know if you want to dig in to something else, or do you want to… Yeah, so for this… these past weeks, I've been… Setting up. some… like, I've been trying to improve our… our testing… infrastructure, and one of the things I wanted to check is that all of our clients are still in consensus without the need of all syncing from scratch. So… I… I set up like a… like an environment that it… it's constantly… uploading, into an, well, S3 bucket. A file with, this… it's not the state of the chain, it's every block. So, it uploads every block and every transaction into a format that is called Era1. So, it's constantly uploading that chain into… into an S3 bucket, and what I do is I have a set of scripts that will download those blocks and will execute the whole chain. Since Genesis, up until quite recently. But… like, offline, in an offline, so it's… it will not be syncing. It will be processing every block from the hard drive. And the idea with that is to find a way to… to validate the whole chain into the clients, in a faster way. And also, well, I used that process to run some numbers on how the different clients are behaving in terms of the performance. And the numbers were quite interesting. So… Geth Classic is the… is the one that, is the fastest one. It takes, like, a day and a half to… To validate the whole chain. On the second place, it comes core-geth, which is a bit more than 2 days. the Nethermind? with, a bit more than 3 days, and in the last… last place is BESU, which takes, a bit more than 5 days. So it's, really interesting for me to have these numbers, and that will allow us to… Well, to… to… check if there is some problems in the performance of the clients, but also it will allow us to, well, realize if we have messed up something in terms of consensus, which will be terrible, but with this tool, it will be, well, way easier to check that we are in the right track. So, yeah, it's, hopefully, sometime soon, I will release all this, the… all the… well, I've been using NixOS for setting up all this, which was a really good experience. So hopefully, yeah, sometime soon, I will release all this for anyone who… could run the same experiments, but I didn't want to wait up until having everything set up to share. this, because I thought that… I mean, the numbers were… were quite interesting, and also helped me to… To check different aspects of the clients, and to be sure that all the clients are at the same level of maturity in terms of execution and being able to basically run all these tests. So… Right now, I'm sure that all the four clients are… Yeah, I will say at the same level in this. This, something else I've been working on… well, I mean, from this experiment, a few things came out, like, for example, a few things that I had to tweak into the Nethermind plugin, a few things that I had to tweak into the Besu plugin. So the new versions, were fitted by this experience, and the… the performance, and… Yeah, the usability of those clients have been improved by this experience. So this was. 28:40Istorajust to… The changes you made to the clients, were these just to make the testing system compatible and fair between them. 28:52DiegoYes, exactly. Mostly about fairness. At first, for example, Nethermind. By design, doesn't… Check the proof-of-work for every block. So that's an optimization they've made for full syncing. And for when they are importing the Era1 files, they completely skipped the check, because Era1 files were mostly… target for proof-of-stake, where they don't have this check, so I have to add this check explicitly. into… into the plugin, for example. But yeah, that was also interesting, because I wanted to, yeah, to be fair, to… Yeah, to… have the same… features on every client, so that's something… so I didn't touch the… all the optimizations that Nethermind made, but I added in the plugin a flag for forcing the execution of the proof-of-work for every block. 29:57IstoraOkay. 29:57DiegoSo, that's something optional. 29:59IstoraDoes this change the security properties of the plugin as a default setting? 30:06DiegoNo, no, no. No, no, I think it's better just for testing. This is useful for testing. Yeah, yeah, it was that. But, yeah, also I wrote some other article, because when I was running this, also in terms of how I was fitting. the blocks into each client. I wanted… I wanted that to be fair, also. So, there are some clients, like, for example, those that are based on Go, that, are… like… better… Or… For processing files through pipes, for example. So that was really, helpful, because, it was easier for me, because I didn't want to… to load the… to download the full… the full blocks, I mean, the… all the… all the blockchain. I didn't want to download it from the S3 buckets, and I wanted to… to execute the blocks, like, sequentially, without the need of downloading the whole thing. So, for that, the usage of pipes was really useful, but Nevermind, I couldn't do that for Nethermind. What I did at first was to download the Era1 files, one by one, but then I realized that that will affect the way it treats the RAM consumption. Because, every time I was, taking down the client and starting it again, it was like I was flushing out the RAM. So that was not fair for the others that were running constantly. So, when I kept running a single process of Nethermind for processing everything, then I realized there were some issues regarding RAM consumption. And I wrote another article about that, because there was not exactly a problem on Nethermind, nor was a problem on RocksDB, which is the underlying database that is used in most of these clients. But the problem was, the loader. Basically, the kernel was not… releasing… the RAM to the system. at the pace that was needed for the client, by the client. So, what I had to do was to replace the logger with another one. Which will release the… the, the, the claim. space. Way faster, and that will… yes, that made things a bit fairer, for… for the whole run. For Nethermind, in this case. But, yeah, all of that came out from all these experiments, and yeah, I tried to document those, so I have another post for… for all the Nethermind experience itself, which was also quite interesting. So yes, so the next steps for… for all this is that right now, based on all these things that I wrote on NixOS, then the things that I want to test is, starting DevNets, so I want to… to set up like, scripts, or, like, simpler ways to start new chains for testing things, hopefully for the upcoming hard forks. So, we could have something, like, more friendly for the users to test and to run their own, yeah, tests. I want to add fuzzing testing there. There is a really good tool from Marius, from the go-ethereum team. He has this tool for… for fuzzing transactions, so I want to… to use that for creating traffic for DevNets, so we can… yeah, I'm… yeah, for… for having traffic that will… execute every path for the… for the upcoming forks, so we will be in a better shape. 34:23IstoraYeah. 34:24DiegoYeah, yeah, that was… that's been really interesting, yeah. 34:28IstoraAnd it seems these, the clients you've been working on are… are just becoming, I guess, battle-hardened now? Now that you're finding all the edges? And, 34:37DiegoDamn. 34:39IstoraReally putting them… 34:40DiegoYes. 34:41Istorato action. The only. 34:43DiegoYeah. 34:43IstoraThe step is, like, the, like, real deployments over the… 34:48DiegoYeah. 34:50IstoraThe net, unless… unless there are some additional… staging… I mean, there's Mordor, you've got these DevNets. But until it's on the… The real world, and ideally with lots of different… Node operators actually adopting. That would be the best time. 35:12DiegoYes, absolutely. Yeah, something else I tested, and I didn't publish it yet, is that, right now, I have, 4. mortar miners, mining blocks being built by each of these clients. So, for me, that was also interesting, because, yes, that's… that's also something else that would be really interesting, that miners could use any of these clients for… for building the blocks for… For the mining operations. And that's something, like, yeah, really interesting for me to… to check. I added support for the ETH getWork and ETH submitWork for every client now. So, yeah, that was also something interesting that I really have in place. So yes, that's… that's something, I think, really positive for the network now. 36:09IstoraYeah, for sure. And it seems like the Geth Classic is really shaping up to be very surprisingly performant. And… 36:20DiegoYes. Yes, I'm pretty happy. 36:23IstoraThe outlier. 36:25DiegoYeah. Yes, I think part of it is that, by default, they change the… the schema for their database, so they use now, path-based databases instead of hash-based databases. So core-geth, actually, they have support for both. By default, they use this hash-based. and Geth Classic, following what go-ethereum does these days. They have, by default, path-based schemas for their… for their database, and I think that… that probably… That… that explains part of the… this difference. I didn't want to… because I didn't want to run these tests without the default settings. That's why these are the results. I could try to compare, Geth Classic with core-geth using, path-based schemas, but yeah, maybe that's something I will do in the future. But for this test, I wanted to use all the default settings, or as much default as I could. 37:36IstoraCool. 37:38DiegoYes, but yeah, I think the… I think the current status of CoEthereum Classic is getting better and better. Constantly, for the DevNets, I found a few things that I would like to… to improve, but that's something that will not affect the day-to-day user. There are a few tweaks that I want to put in place, but yeah, nothing. Yeah, nothing that will prevent anyone from running it for their daily operations. 38:10IstoraExcellent. And these Nix configs, they'll be published as well at some point? 38:15DiegoYes, yes, that's what I'm looking for. So far, I've been hacky, but I want to, yeah, polish those, so it will be, yeah, more suitable for anyone to take a look at those. But, yes, it's… yeah, it's just a matter of time, but I will put some time on shaping this in a better way. But yeah, I will release it, because I think it's really good for people to start running these experiments, and also maybe they could use the same flags I've been using for running this on their own systems. So yes. Yeah, or maybe this is, like, a starting point for having, like, flags just for each of these clients, so we could have, like, many repositories, maybe one repository for… For this testing, some other repository for end users. So, yeah, it's just a starting point, but this has a lot of potential for end users. 39:16IstoraYeah, and for listeners not familiar with Nix, I think it's, It's important to understand the kind of power that having this type of config provides in terms of reproducibility and composability. And building more complicated systems on top of this. Having these Nix configs really allows a lot of potential in those domains. And I think it's basically a pattern that, going forward, is going to be really common in the future. 39:54DiegoYes, and for me, it was, like, an incredible experience, because I was sure every time that I rerun these experiments, I was sure that I was standing over the… the state that I… I… I knew that I wanted to be. So, for me, that was really, really interesting, and really important, because for this, I have machines that are kind of ephemeral, because I wanted to start new boxes, run these tests, and then shut those down. like, being able to reproduce those, it's… it's incredible. It's… it's really… it's… it's way, way beyond any other experience I had in the past, like, for example, using Ansible. or any other, like, Terraform, or any of those languages. This… this is something else. I can tell. It's… the experience is quite pleasant. That's just. 40:51IstoraYeah. Yeah, I'm also a Nix user, as you know, and I'm loving it. I'm using it for everything now, so… Yeah. the future is Nix, and it's nice that these configs exist that people can use. It's like, once you capture and encapsulate this configuration. It never goes away, and you can use it again, and it's just, like, a pure value add. So, yeah, it's an awesome way to approach it. 41:21DiegoYeah. Yeah, yeah, no, for me, it was a really great exercise running all this. And of course, LLMs helps a lot with… 41:29IstoraYeah, of course. 41:30DiegoYeah, everything, yeah. 41:32IstoraRight, that is the core reason that I got interested in Nix, because it was a bit of a learning curve in terms of new languages, but if you're using LLMs, then it removes that barrier entirely, so… You get all the benefits without the drawbacks, really. 41:49DiegoYeah, and, like, for a programmer, it's also interesting, because you don't actually need to write all the flags, but you could understand those and apply the same patterns that you would use in a regular programming, like, for example, abstractions and all of that, and you can instruct your LLM to say, yeah, you know, I think this looks a bit coupled. Could we decouple all this, and could we extract this, because I want to, I don't know, scale these flakes into this way, or I want to compose this into this way, and you could apply the very same concept that you are used to, like, best practices for everything, into all this. Yeah, it works really well. 42:31IstoraYeah, I really like how it gives you this powerful, like, API abstraction that you can encapsulate and just, like, bubble up only the values that people care about, and then it plugs into the rest of the config. And you can, yeah, just expose only the parts that people care about, and then it sort of… It blurs the boundary between your config, your application, your deployment. It's just one file, or a modular pattern, and that's… That's the system in a function, which is kind of mind-blowing. 43:08DiegoYeah, yeah. So, yeah, overall, a great experience, and I think it was a really great tool for running all this, and yeah, all the things that I'm doing now for the DevNets and all that are also based on Nix, with the same pattern. It's really simple. 43:24IstoraCool.
43:25Post-quantum security for ETC
43:25IstoraI wanted to… We have a few minutes left, and I just wanted to… Talk briefly about quantum. Because we were talking about this, in… In Prague, and… Given that you have a bit of experience writing about quantum in the past, I wanted to reiterate like, how this problem will potentially affect ETC in terms of there being a subset of addresses that are affected. in Bitcoin. Like, only those with the public key exposed, as far as I understand. And a similar pattern exists for ETC. So, like, only the addresses that have made a transaction are potentially exposed. And… 44:19DiegoWhoa. 44:20IstoraYep. 44:21DiegoFor ETC… for Ethereum or Ethereum Classic, I think it's different, because the addresses itself are a hash. From a public key, so… That's something that you cannot attack on a quantum. System, at least so far. So, you cannot… Undo the entropy for the… for a hashing function. So hashing functions are quite safe. Now, even… I mean, the hashing functions that we are using for Ethereum. So, in that matter, we are quite safe. But if you got exposed your public key, yes, now you may be in a problem, in a trouble. But just for exposing your address, you are safe. Does it clear the difference? 45:17IstoraYes. 45:17DiegoBecause they… 45:18IstoraJust the address. But when you make a transaction, right, When you make a transaction. You're signing it with. 45:25DiegoOh, yes. 45:25IstoraSee? 45:26DiegoI don't reveal. Yep. Yes, yes, in that case, yes, yes, you're right, yeah. 45:33IstoraSo, essentially, like, if Ethereum Classic… If there is a need to somehow migrate to a new system, like, the transactions… The addresses that have never made a transaction are safe, because. 45:48Diegoin a cup. 45:48Istorakey exposure. But those that have ever made a transaction would potentially need to migrate to a new scheme. 45:55DiegoYes. Potentially, yes. Yes, for now, it's not clear what will be the path, or… for this. It's, I mean, the Ethereum… Ethereum has, working groups for this. I think they… They have, weekly calls, Tuesdays, I think? And yeah, they are basically deciding all these things. I haven't catch up with them. Honestly. But I… I know they… they have these, these daily… these weekly meetings. Which, yeah, will be interesting to follow up. 46:39IstoraYeah, yeah, for sure. It's one of the things that… will be my focus at, DEVCON, Mumbai. And I'd like to really understand the problem and get to grips with potential solutions. for Ethereum Classic. It seems like it's probably less of an issue of a concern than it would be for Bitcoin, given the… The large number of addresses. Compared to just having Satoshi's keys, which is a huge… honeypot, honeypot, I guess. So… And ETC is just generally less high-value attack, so I think we have more time than chains like Bitcoin. But, it's definitely something to… Not be, like, willfully avoidant of And… If we are able to solve it, it will require us thinking ahead of time and solving it before it happens, kind of thing. 47:34DiegoYeah, and also, I think… On Ethereum, there will appear like, mechanisms to be protected up front any problem. Like, for example, when… when or if they add the primitives for, I don't know, like, the… their… the latest, post-quantum algorithms that were standardized by NIST, like, for example, Falcon, or this other now, I think it's… well, Dilithium was also… I think, part of the things that they wanted to include. But also, there's another one called Mayo. But, if they add those as primitives, they will be quite, simpler. to set up schemes that will protect users, even if the threat is not there yet. So you could take your… your tokens and put those behind a multisig that will only… yeah, will use any of these algorithms, and you will be safe forever. So, yes, it's something that could… could happen gradually. If you really care of your… of this thing. 48:47IstoraAnd do you think it would be… is it theoretically possible to have an automatic migration? Or is it something that requires manual? 48:57DiegoIt's… it's hard to say, I cannot imagine. this for… to be, like, a way for doing this automatically, but I think there are, like. A lot of people thinking about a way of doing this in a way that is friendlier for the user. So, even if it's not automatic, it will be something probably, like, transparent for the user, some way or another. But, yeah, I think it's… it's not as… it's… It's not reasonable to… it's not reasonable to think that everyone will make an… an action for being protected, and either way, you have to protect your users, so there should be a way, and I'm sure that this way will… will appear. 49:49IstoraRight, right. And I guess, like, the most transparent way possible, if it has to be manual, would be somehow piggybacking on, like, a normal transaction. like, similar to, I guess, how the replay protection happened before, when the. 50:05DiegoHmm. 50:06IstoraWhen ETC split with Ethereum Mainnet, they had the same chain ID. Well, they didn't have a chain ID, and the protection was to, like, do a transaction with the chain ID. And it may be a similar. 50:18DiegoYeah. 50:18Istorawould be happening for quantum. So, this threat is always potential. Around, replay attacks being less damaging, but… it's kind of an expectation, I guess, that maybe, people would need to do some action at some point in order to protect 50:41DiegoYeah, maybe I… 50:42Istorathe protocol from, yeah. 50:43DiegoI'm thinking that… I don't know… Yeah, I don't… I don't… I'm just thinking out loud. Maybe you will… You could set that you will only accept transfers from Accounts that have made this transformation for being secure, that way we'll… Force the people that wants to transfer to you, that you are using, like, a secure or post-quantum secure account. That will force them to secure their own funds before sending those to you. So that was… that will be a way to, like, kind of force them… force for users. to… to migrate. But I don't know, I'm just thinking out loud, yeah, on something that I… yeah, I have. Not that much knowledge yet. 51:36IstoraIt's definitely one of those things that it's good to have in the back of your mind for… 51:41DiegoYeah. 51:41Istorasubconscious processing, share our thoughts, etc. And I encourage everyone in ETC to… Think about it, at least, because… Yeah, and also… 51:54Diegoalso engage… engage on the… on the research and the conversations, and I think all these post-quantum working groups, are probably great, and you will be in touch with the people that are actually working on all this. And people that have a lot of experience, and they're, like, really open for collaboration. And all that will help, any chain, basically, not only Ethereum or Ethereum Classic, so… anyone that… wanted to collaborate or research into this topic, I think that's the… that's the best way to start. 52:32IstoraYep, yeah, and this will be one of the challenges… within the next decade, I think, and… 52:38DiegoYeah. 52:38IstoraETC has made it 10 years. And… Let's do everything we can to make it survive another 10. And… That will include solving the quantum issue. So having that problem on the horizon is a challenge and an opportunity, so… I think, with a… a positive… mindset and engagement, I think we can definitely solve it, and when we do, it'll be a great moment. 53:09DiegoYes, yes, it is. Actually, while I was checking, the working group is pq.ethereum.org, so that's the main… Domain entry point for every… Yeah, every research on the topic. For the Ethereum ecosystem. 53:28IstoraGood to note, and I'll put that in the show notes as well. 53:34DiegoYeah, and yeah, I'm just looking at this site, but it's well structured, and yeah, it talks about the execution layer, which is the one that bothers us the most. So, yeah, it's really complete. 53:50IstoraAwesome. Yeah, I'll have to digest this. Thanks for sharing. And, yeah, let's look forward to the next decade of ETC, because it's been a… A crazy decade so far. And I'm sure the next one will also be having its moments of ups and downs. But, for everyone that's still on the ride. Let's keep on it, and let's keep going. It's a… it's a fun ride. 54:18DiegoAbsolutely. Yeah, it is. It's been a really fun ride. 54:24IstoraYeah. Okay, so on that note, we're coming up to the hour, and I'd like to thank you, Diego, for joining, and Lunar earlier. Let's say cheers to the next 10 years. 54:38DiegoAbsolutely. Yeah, cheers for that. 54:41IstoraCheers, Diego, and to everyone listening. 54:43DiegoOkay. 54:45IstoraSee you again in two weeks, same time, same place. For an Ethereum Classic Community Call, number… 58. Till then, take care. Thanks for joining. See you next time. Bye-bye. 54:57DiegoBye, bye.