Simulates Algorithm 1 of Worst-Case Two-Delay Implementation of the Timestamp Object Using Digital
Signatures. Each next() invocation is issued by a randomly chosen idle process; messages are
delivered asynchronously with independent random delays. All processes are correct — no Byzantine behaviour is
simulated. The charts show the timestamp triple τ = (N(F), min{r_i,r_o}, 1{r_i>r_o}) from line 27
and the integer t = enc(τ) returned on line 31.
Max concurrent caps how many invocations are outstanding at once (the model allows a correct
process at most one), so 1 gives the strictly sequential case. Delay spread draws
each message delay from [1, 1+spread]; think time is how long a process waits after
returning before the next invocation is issued. Click any point, trace line or table row to select an operation.
t = enc(τ) = s² + 2m + δ (lines 28, 31)τ = (s, m, δ) (line 27)First two components share a scale — both count operations. The third component δ is binary, so it gets its own strip.
r_i = rank(F[i]) is the invoker's own rank (= rank of ℓγ, Prop. 14);
r_o = rank(F[o]) belongs to the one process whose acknowledgment was not awaited. m is the lower
of the two, and δ = 1 exactly where blue sits above orange.
Invariants re-checked on every run: frontier well-formedness (Def. 5), certificate shape (Def. 4),
rank(Fγ[i]) = rank(ℓγ) (Prop. 14), N(F)² ≤ enc(τ) < (N(F)+1)²
(Prop. 8), and tβ > tα for every non-overlapping pair (Thm. 22).