Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Simulation: model validator gas costs to size ETH network fee for model trainers

Open
#78 5 comments 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
solidity

Research direction

The issue names the P3-5.2 simulation requirement and MECHANISM_DESIGN §5; start by reading those to find the existing validator income model and its assumptions. Model aggregation, evaluation, and worst-case dispute gas across the listed participation variables, using current Optimism gas prices. Report low, mid, and high scenario costs in ETH, the fee floor, sensitivity at 10× and 0.1× participation, and any unprofitable scenario.

Written by the indexing model from the issue text.

Description

Context

Discussed with @abrahamnash (Aug 2026). The resolved fee model is:

  • All protocol fees in ETH — DIN is staking/utility only, no fee denomination migration
  • Network fee (model trainer → validators, paid per-GI) must be sized from real gas data, not assumed
  • Current design has no hard numbers; this simulation is the prerequisite for setting the fee

The network fee is essentially gas recovery for validators: model trainers pay it upfront, validators get reimbursed for the on-chain work they do per GI. Getting this wrong in either direction (too low = validators lose money, too high = model owners won't participate) blocks the validator economics from being viable at scale.

Scope

Three scenarios to model, covering the full on-chain surface validators touch per GI:

1. Aggregation submissions
  • T1 sub-batch CID submission gas cost (per aggregator, per batch)
  • T2 combined CID submission gas cost
  • Baseline: aggregation logic is off-chain — only the final CID goes on-chain (per Abraham's design intent)
  • Variables: number of T1 batches, number of aggregators per batch
2. Evaluation submissions (batched vs per-round)
  • Gas cost of a single auditor submitting scores on-chain (setAuditScorenEligibility)
  • Batched final-round evaluation: all submissions in one round vs spread across rounds
  • Variables: number of clients per auditor, number of auditors per batch, pass/fail ratio
3. Dispute scenarios (worst-case)
  • Full dispute chain gas cost: dispute open → bond post → fresh subgroup reassignment → re-evaluation submissions → resolution
  • Disputes are rare by design (random assignment + >50% consensus threshold) — but worst-case must be bounded so it does not make the network fee unworkable
  • Variables: dispute window length, subgroup size

Expected output

  • Gas cost range (low/mid/high participation) for each scenario in ETH at current Optimism gas prices
  • Recommended ETH network fee floor that covers validator gas at target participation level
  • Sensitivity table: what happens to validator economics at 10× and 0.1× participation
  • Flag any scenario where gas costs alone make validator participation unprofitable at the proposed fee floor

Notes

  • Aligns with the existing P3-5.2 simulation requirement (validator income stability at target/10×/0.1× participation) — this scopes the gas input to that model
  • Builds on the mitigations already in the design: aggregation off-chain, evaluations batched to final round, disputes rare — the simulation should validate those mitigations hold under load
  • Reward split (clients/validators/treasury %) is a separate open item and out of scope here — see MECHANISM_DESIGN §5

cc @abrahamnash

Dominant language
Python
Stars
4
Forks
7
Avg merge
3d 5h
Merged PRs (30d)
34

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from InfiniteZeroFoundation/DevNet

All issues in InfiniteZeroFoundation/DevNet

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.