Methodology

This page documents how MineOdds builds and interprets solo-mining probability outputs. The goal is auditability: clear inputs, clear formulas, and clear assumptions.

Difficulty and Network Data Pipeline (API Layer)

MineOdds consumes chain/network metrics through a worker-side adapter and not directly from browsers. This reduces client complexity, allows normalization across heterogeneous upstream sources, and supports consistent caching behavior.

Inputs are validated and normalized before being used in probability calculations. Typical fields include network hashrate estimates, observed/derived difficulty, and block cadence assumptions by chain. The adapter layer exists to keep calculation logic stable even when individual upstream endpoints differ in format or response behavior.

Data quality controls are practical rather than theoretical: stale-value checks, unit normalization, and fail-safe handling for missing fields. If an input cannot be validated, conservative handling is preferred over optimistic imputation. This limits false precision in downstream outputs.

Probability Model

The baseline model starts with effective hashrate share. In simplified terms:

share ≈ effective_miner_hashrate / network_hashrate

From this share, expected blocks in a time window are estimated by multiplying expected network blocks in that window by share. Equivalent forms can be expressed from difficulty and hashrate relationships where applicable:

expected_time ≈ difficulty * 2^32 / effective_miner_hashrate

Outputs are shown as both expectation and probability framing because each answers a different decision question. Expectation helps compare strategy over long horizons. Probability framing helps evaluate short-horizon risk, including no-hit windows that are common for small solo miners.

Poisson Assumption and Timing Interpretation

Block discovery timing is modeled as a stochastic arrival process. A standard approximation is the Poisson process for independent rare events at an average rate lambda. Under this approximation, the probability of at least one event by time t is:

P(at least one by t) = 1 - exp(-lambda * t)

This is the reason short windows often show low success probability even when annual expectation is positive. It also explains why long dry periods do not automatically indicate model failure. Timing variance is expected behavior in low-rate event systems.

MineOdds uses this framework for interpretation clarity, not deterministic forecasting. Expected values are statistical centers, not payout guarantees.

Model Limits and Practical Use

All outputs depend on assumption quality. If effective hashrate is overstated, reject/stale rates are ignored, or network inputs are stale, precision in presentation can still hide directional error. For that reason, MineOdds should be used as a decision-support system with scenario ranges, not as a promise engine.

Recommended practice is to run conservative, base, and optimistic cases, then verify operational survivability under conservative outcomes. Probability quality improves when assumptions are refreshed on a fixed cadence and linked to real uptime/quality metrics.

Related Reading