CurrentRound
Ask AI
CurrentRound is the drand round that exists NOW, computed from the BLOCK's own clock rather than extrapolated from whatever a relayer last chose to deliver.
WHY IT IS BETTER THAN EstimatedLatestRound, WHICH IT IS INTENDED TO REPLACE. The estimate's input is the last RELAYED round, and this realm's own TestKnownWeaknessRelayingTheRoundJustAboveTheEstimateBuysTheWholeStalenessBudgetBack shows that relaying the round just above it resets the staleness clock for ~0.017 GNOT while advancing the estimate by one round. No arithmetic over relayed rounds can fix that: what a caller needs is an UPPER bound on drand's head ("round R is not signed yet"), a signature only ever proves a LOWER bound, and the ABSENCE of a signature is not provable on chain at all because withholding is free and invisible.
A CLOCK HAS NO SUCH ASYMMETRY. drand round r is signed at genesis + period*(r-1), so the round that exists at time t is pure arithmetic over t. No relayer is involved, so there is nothing to withhold and nothing to poison.
WHAT IT COSTS, SAID PLAINLY RATHER THAN DISCOVERED LATER: it trusts the chain's block time. Under Tendermint that is the voting-power-weighted median of the validators' own timestamps, so moving it requires colluding validators rather than a tenth of a cent. That is a WEAKER assumption than cryptography and a far STRONGER one than "no relayer withheld anything". For a caller that previously trusted the estimate it is an improvement on both axes; for one that trusted nothing, it is a new assumption and should be chosen deliberately.
Command
gnokey query vm/qeval -remote "https://rpc.onyx.testnets.gno.land" -data "gno.land/r/g1r4aw43kagaaquhegxw6xr346h9f2qu2ezf0jar/beacon/v2.CurrentRound()"
Result