Ethereum Classic Community Call #54
Prague
Time change for this call. Our usual 0200 UTC slot has been shifted to 1500 UTC for this episode due to travel. No green room this time. Regular timing will resume on the call after.
Key Points Discussed
- GitHub governance: w1g0 raised the unclear, centralized ownership and permissions across ETC’s repos; Istora walked through the website-maintainer team and its two-approval quorum, and the Olympia/no-Olympia schism that has effectively deadlocked merges
- ETC Co-op winding down: with the Cooperative stepping back and another party stepping up, the maintainer structure and neutrality are in flux; both sides of the Olympia debate struggle to get PRs approved
- eth/69 on a PoW network: Diego explained why eth/69 is a poor fit — it drops total difficulty from the status message, which ETC needs for heaviest-chain selection and 51%-attack defense
- Recommended path: rather than chase the eth/6x line, define an ETC-native protocol (the ECIP-1120 / “etc1” framing) that keeps total difficulty and cherry-picks the useful pieces; clients can coexist behind a feature flag (as Besu does) without a hard fork
- Attack vector: adopting eth/69 naively risks a chain split on network partition (a node following the longest rather than heaviest chain); snap sync is largely orthogonal and safe
- Where protocol decisions belong: Cody’s point that the community call is not the forum for deciding technical changes; revive a developer call, and keep the community call for direction and education
- Website redesign: migrate off Gatsby and visualize how the protocol actually works — a 3Blue1Brown-style explainer and a MESS visualization to make (de)centralization legible
- AI in development: split views — w1g0 cautious, weder arguing it is now table stakes — converging on AI being fine for ideation and tooling with a human in the loop, while core-client code needs human review (Diego: AI-generated client PRs were mostly garbage)
- Show notes: Diego’s article, eth/69 on a Proof-of-Work Network
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.
Today’s Agenda
- New Website
- Video Pipeline
- Clients
- eth/69 on a Proof-of-Work Network
- Protocol Technical Discussion: Where Should It Happen?
Introductions
Quick round of introductions for everyone on the call, and if there’s anything you want to talk about.
Agenda
New Website
Continuing from call 53. Quick takes on:
- Progress since last call?
- Design competition: brief, judges, timeline?
- Wiki-style content with multiple viewpoints, or single voice?
- Who owns content, and how do contributions land?
- How should AI be used?
- AI-facing surface: assistant, MCP server, llms.txt?
- Link-checking bot for the site, ECIPs, and docs?
- Open contributor slots and rewards?
Video Pipeline
Zoom recordings going straight to YouTube. Production quality could be better. Quick takes on:
- Worth setting up a proper post-production pipeline?
- Anyone want to help with graphics or editing? Reach out.
Clients
Quick takes on:
- Why does client diversity (and the trust that comes with it) matter for ETC?
- Classic Geth: state of play, roadmap?
- Nethermind: status, ETC integration?
eth/69 on a Proof-of-Work Network
Diego’s recent post: eth/69 on a Proof-of-Work Network.
When two Ethereum nodes meet, they swap a quick “hello” that says where each one is in the chain. eth/69 is a new version of that hello. It drops “total difficulty” (a running tally of all the proof-of-work mined into the chain) and uses block number instead. On Ethereum mainnet that’s fine, because total difficulty stopped changing when the network switched to proof-of-stake.
On a proof-of-work network like ETC, total difficulty is exactly how nodes pick the canonical chain: heaviest wins, not longest. If the handshake doesn’t carry it, an attacker can mine a long chain of cheap, low-difficulty blocks that looks ahead on block count but is lighter than the honest chain, a vector that was closed in 2015. Diego argues against adopting eth/69 wholesale and proposes an ETC-native etc/1 that keeps total difficulty in the wire protocol while pulling in the genuinely useful pieces of eth/69 (like dropping redundant receipt bloom filters).
Protocol Technical Discussion: Where Should It Happen?
A recent comment from the community:
depth first vs breadth first tre search during healing of snap sync impacts everyone too. or eth/69+ behavior during handshake. or dns vs discovery for peer discovery. on somethings i do not care about other people’s opinion, on some things i do. The community call proved not to be the place to have conversations
So, let’s talk about:
- Depth-first vs breadth-first tree search during snap sync healing
- eth/69+ behaviour during handshake
- DNS vs discovery for peer discovery
AI Summary
Website Maintainers and the GitHub Deadlock
w1g0 opened the rounds by raising the centralized, opaque governance of ETC’s GitHub repositories.
- Details
- w1g0: Each repo has its own purpose and governance, but it is unclear who maintains which; permissions should be transparent, and more signers added so progress does not stagnate
- Istora: On the website repo he is an administrator who sets the maintainer team; the merge quorum is two approvals, historically tied to the number of active contributors
- Istora: Most of the listed maintainers are inactive (named Kimmy, Cody, Keith Hall Barnett, Christopher Mercer); above them, Cody, Elaine and Mikey O are GitHub org admins who can move people between teams and reassign repo access
- w1g0: On the Olympia debate, PRs sit unapproved because two neutral signatures are hard to get; even non-Olympia changes stall
- weder: Questioned whether a genuinely neutral participant is even possible in such a schism
- Istora: Is intentionally not approving Olympia-adjacent changes to avoid taking sides; with the ETC Co-op winding down and another party stepping up, the maintainer structure is in flux, and a returning long-term contributor like w1g0 could help as a neutral party
- Conclusion
- Repo ownership and permissions need a clear, published structure (an org diagram)
- The two-approval quorum plus the Olympia schism has deadlocked merges
- More active, neutral maintainers are needed to move past the deadlock
eth/69 and the Case for an ETC-Native Upgrade
Diego, who researched and wrote on the topic, explained why adopting Ethereum’s eth/69 wire protocol is a poor fit for a proof-of-work chain.
- Details
- Diego: eth/69 drops total difficulty from the status message; post-merge Ethereum no longer needs it, so to them it was noise
- Diego: ETC needs total difficulty for heaviest-chain selection; without it a node could follow the longest rather than the heaviest chain. Total difficulty predates snap sync and was used for node bootstrapping
- Diego: A change like this should be decided as a coordinated network upgrade across clients, not by one client or person
- Diego: Naively following the longest chain enables a chain-split attack on network partition — an attacker mines a long, low-difficulty chain that looks ahead on block count but is lighter than the honest chain. Snap sync is largely orthogonal and safe, since you still complete syncing against the heaviest chain
- Diego: Some eth/69 pieces are positive (e.g. dropping redundant receipt data); those could be cherry-picked
- Diego / Istora: Rather than fight a protocol designed for a different network, define an ETC-native protocol (“etc1”, the ECIP-1120 framing) that keeps total difficulty; multiple protocols can coexist behind a feature flag (as Besu does), requiring no hard fork and enabling safer opt-in upgrades. This is the same protocol that has served the network for over ten years, so changes warrant caution
- w1g0: Asked whether starting fresh affects existing smart contracts — Diego: no, the network layer and the contract/state layer are orthogonal
- Conclusion
- eth/69 as-is is unsuitable: dropping total difficulty undermines heaviest-chain selection and opens a partition / chain-split attack vector
- The recommended path is an ETC-native protocol that preserves total difficulty and cherry-picks the useful parts, coexisting behind a feature flag without a hard fork
- Background reading: Diego’s article, eth/69 on a Proof-of-Work Network
Where Protocol Discussion Should Happen
Prompted by Cody’s view that the community call is not the venue for deciding technical changes, the group discussed the right forum.
- Details
- Istora: Cody flagged that some decisions (e.g. DNS versus discovery for peer discovery) should not be made on the community call
- w1g0: Agreed Cody is right — the community call is not a good forum for making binding technical decisions, though it is fine for higher-level direction
- Istora: Would happily join a dedicated developer call; in its absence the community call has absorbed that role
- w1g0: Historically there were separate venues for core-protocol versus Layer 2 / app questions; documentation matters
- Conclusion
- Decisions on protocol changes belong in a (to-be-revived) developer call, not the community call
- The community call is for direction and education, not binding technical decisions
Website Redesign and Visualizing the Protocol
The website thread focused on migrating the stack and making the protocol legible to newcomers.
- Details
- Istora: Wants a landing page with dynamic, visually appealing explainers of how the protocol works
- w1g0: His main interest is a smooth migration off the Gatsby site; supports the redesign and offers to help
- Istora / Diego: A 3Blue1Brown-style explainer video and a visualization of MESS (and how 51%-attack defense worked) would help
- Diego: MESS is currently deactivated and disabled by default but kept in the codebase out of respect for the community; it diverged a lot from upstream
- Diego / w1g0: During past 51% attacks a person had to coordinate stakeholders to enable defenses — human “infrastructure” that should be made visible, showing where the network is and is not decentralized
- Conclusion
- Migrate off Gatsby; prioritize visual, dynamic explainers of the protocol
- Visualize MESS and the human coordination behind attack response to make (de)centralization legible
AI in Development and Content
The group debated where AI fits in ETC development and content.
- Details
- Istora: In the age of AI there are uncontroversial uses (idea generation, tooling); a human should always sign off
- w1g0: Cautious about AI, especially which agent or tooling is used; sees limited but real usefulness, such as drafting low-importance posts
- weder: Disagrees with blanket caution — AI is becoming table stakes, not adapting is a disadvantage, and it can lessen the volunteer burden without compromising ETC’s principled values
- Diego: For core clients, curation matters and depends on codebase size; his diff-based work isolated exactly the PoW-relevant changes so anyone can verify what changed. AI-generated client PRs he received were mostly garbage; experience reviewing the codebase and protocol is essential, and the human eye and criteria must remain
- Istora: AI can produce valid code but not necessarily the right architectural judgment, especially for critical, low-level software
- Conclusion
- Consensus: AI is acceptable for ideation and tooling with a human in the loop
- Core-client code requires human review and protocol experience; unsupervised AI-generated PRs are not trustworthy
- The methodical, human-based approach remains essential for critical software
Action Items
- Publish a clear org / permissions diagram for the ETC GitHub repos
- Add active, neutral maintainers to break the merge deadlock
- Revive a developer call as the venue for protocol decisions
- Progress the website migration off Gatsby and commission protocol-explainer visuals (including a MESS visualization)
- Add show-notes links: Diego’s article (eth/69 on a Proof-of-Work Network) and ECIP-1120