Skip to content

Randomized Repetition and Error Amplification

Statistical method — instantiates Generate-and-Verify Separation

Runs a probabilistic verifier many independent times and combines the verdicts, driving a merely-likely-correct check down to any chosen, arbitrarily small error probability.

Some verifiers are fast but only probably right — a single run has a real chance of the wrong verdict. Randomized Repetition and Error Amplification turns such a check into a dependable one without making the check itself smarter: run it k times with fresh, independent randomness and combine the outcomes (for one-sided error, a single failure convicts; for two-sided error, take the majority). Because the runs are independent, the probability that they all mislead falls off exponentially in k, so a coin-flip-grade test becomes astronomically reliable after a few dozen rounds. Its defining idea, distinct from siblings that build a better checker, is that reliability is bought with repetition of a cheap check, and the exponent — how fast the error shrinks — is a dial you set.

Example

A cryptographic library needs to certify that a freshly generated large number is prime before using it. A full deterministic proof of primality is expensive, so the library instead uses a single-round randomized test: for a composite number, a random base has at least a 3-in-4 chance of exposing it, but any one base might be fooled. Amplification does the rest. The test is rerun with many independent random bases; a true prime passes every round, while a composite survives all k rounds only if every random base happened to be a non-witness — a probability below (¼)ᵏ. Choosing k so that (¼)ᵏ drops under the library's error budget — a chance far smaller than a hardware fault — turns a fallible one-shot into a check the system can treat as certain. (Illustrative — real implementations tune rounds to key size.)

How it works

  • Start from a check with bounded error. The base verifier must be wrong with probability at most some p < 1 in the direction that matters.
  • Draw fresh, independent randomness each run. The whole method rests on independence; the k verdicts must not share coin flips, or the correlated failure survives.
  • Combine by the error's shape. One-sided error (only a false "accept" is possible) is killed by requiring unanimity; two-sided error is suppressed by majority vote.
  • Pick k from the budget. Solve pᵏ (or a tail bound for the majority case) against the target error probability, and run exactly that many rounds.

Tuning parameters

  • Repetition count k the master dial: more rounds shrink error exponentially but cost linearly, so reliability is cheap to buy yet never free.
  • Combining rule — unanimity vs. majority vs. weighted vote, matched to whether the base error is one- or two-sided. The wrong rule wastes rounds or fails to amplify at all.
  • Independence source — how the per-round randomness is generated; a weak or shared source silently correlates runs and voids the exponential guarantee.
  • Target error budget — the probability you are willing to accept, which fixes k. Set it against real competing risks (hardware faults) rather than chasing zero.

When it helps, and when it misleads

Its strength is that it makes reliability a tunable quantity — you name an error budget and the method tells you how many cheap rounds buy it — and it works on any verifier with bounded error, converting heuristic or Monte-Carlo checks into dependable gates. This is amplification in the sense of the Chernoff bound and BPP.[1]

Its failure modes all trace to a hidden assumption. The exponential guarantee requires independent runs; if the rounds share a seed, a bias, or a systematic blind spot, repetition amplifies confidence without amplifying correctness — you get a very sure wrong answer. It also only shrinks the modeled error: a verifier wrong for reasons outside its probabilistic model (a coding bug, an adversary who picks the one input it cannot see) is not helped by rerunning it. The classic misuse is quoting a tiny post-amplification error while the runs are quietly correlated. The discipline is to verify independence and to remember that amplification tightens a bound — it does not create a guarantee the single run never had.

How it implements the components

  • probabilistic_error_budget — the method exists to hit an explicit target error probability; that budget is its input and sets the round count.
  • verification_redundancy_rule — "repeat the check k independent times and combine by this rule" is precisely the redundancy policy it defines.
  • soundness_boundary — amplification's effect is to push the false-accept probability below the budget, sharpening the soundness guarantee quantitatively.

It does not shrink per-run cost, define a certificate, or hide inputs (generation_verification_cost_model, witness_or_certificate_contract, privacy_and_disclosure_boundary) — that is Succinct Cryptographic Proof Verifier — and it presupposes rather than defines a base checker (checkable_acceptance_predicate), supplied by e.g. Untrusted Solver with Trusted Checker.

References

[1] Independent repetition of a bounded-error randomized test drives its failure probability down exponentially in the number of trials — the Chernoff-bound view behind probability amplification for the class BPP. The exponential decay is a property of independent trials; correlated repetition does not amplify.