Skip to content

x/benchmark — Benchmark module

The x/benchmark module is the marketplace’s measurement layer. Standard performance tests run against an operator’s actual machines, and the results land as published benchmark records tied to the provider’s on-chain identity — so tenants compare providers on measured capability rather than marketing copy.

Measurement alone is not enough, so results are contestable on chain. A flag raised against a provider triggers a challenge the provider must respond to, and anomalies are resolved through the module’s own messages, keeping published benchmarks accountable after the fact.

The module stores hardware performance measurements tied to provider records — compute throughput, memory bandwidth, storage and network performance — so that tenants can compare providers on measured capability rather than marketing copy.

Published benchmarks make the marketplace’s abstract resource units concrete: the same “unit” of compute can be qualified by what the underlying hardware actually measures.

Benchmarks can also be contested. MsgFlagProvider raises a flag against a provider, which triggers a challenge the provider answers through MsgRequestChallenge and MsgRespondChallenge. Anomalies surfaced by a flag are resolved on chain with MsgResolveAnomalyFlag, and MsgUnflagProvider lifts a flag once it no longer stands.

Price-per-unit is meaningless if units hide wildly different hardware. Benchmarks are the marketplace’s answer to performance information asymmetry — the data that lets price competition operate on real value.

ConceptDefinition
Benchmark recordA published measurement of provider hardware performance, tied to its record.
  1. Run — Hardware is benchmarked. Standard performance tests run against the operator’s actual machines.
  2. Publish — Records go on-chain. Measurements attach to the provider’s on-chain identity, visible to every tenant.
  3. Qualify — Units gain meaning. Shared resource units are grounded in measured hardware — same unit, verifiable capability.
  4. Select — Bids compete on data. Tenants weigh benchmark records when choosing between competing offers.
MessagePurpose
MsgSubmitBenchmarksPublish hardware performance measurements against a provider record.
MsgFlagProviderRaise a flag against a provider’s benchmark results.
MsgUnflagProviderLift a previously raised flag.
MsgRequestChallengeOpen a challenge in response to a flag.
MsgRespondChallengeThe provider answers the open challenge.
MsgResolveAnomalyFlagResolve an anomaly surfaced by a flag, on chain.
QueryPurpose
BenchmarkA single benchmark record.
BenchmarksByProviderPublished benchmark records for one provider.
ParamsCurrent module parameters.
ModuleHow they interact
x/providerBenchmark records attach to the provider’s on-chain identity.
x/resourcesMeasurements ground the shared resource-unit vocabulary.
x/marketTenants weigh benchmark data when selecting bids.

A published measurement of provider hardware performance, tied to its on-chain record — the marketplace’s answer to performance information asymmetry.

Price-per-unit is meaningless if units hide wildly different hardware. Benchmarks let price competition operate on measured value instead of spec-sheet theater. See the x/resources module.

As a selection signal: when comparing bids, measured performance qualifies the abstract resource units each offer proposes. See How the marketplace works.