Stickybit.← TelemetryPortuguêsTelemetry · verifiers
Open verifiers · public code and data

Don't trust. Run.

Everything we claim about a compressed file or a sealed ledger can be checked by two small open programs, on your machine, offline and without an account. Below is what they catch and what they let through, measured.

Specimen · one package of 20,000 readings, five attempts

Real output of the v1.1 verifiers, run on 12 Oct 2026 on the sine-noise package from the public corpus. Only the file name was shortened to seno. The tools print Portuguese.

In everyday terms

The inspector brings their own weight.

When an inspector checks a market scale, they don't ask the vendor whether it is right. They bring a reference weight, put it on the pan and read the number. Then they check that the official seal is intact.

Same here. The verifier is the reference weight: a program you download, read and run without us. The public ledger is the seal: every package, and every version of the verifier itself, has its fingerprint written in a book that only grows, with the date proven on Bitcoin.

Together they close a chain. The file matches its seal, the seal is in the ledger, the ledger is signed by a key you kept beforehand, and the date is anchored somewhere we don't control.

package20,000 readings sealfingerprint ledgersigned, only grows public keykept beforehand Bitcointhe date, elsewhere tube-verifica verifica.py
Each link of the chain is checked by one of the two programs. One failing link is enough to reject the result.
What we measured

Three thousand one-bit forgeries. How many get through?

We took an honest package and flipped a single bit at a random position, 3,000 times. Each time we also rewrote the package seal, as whoever controls the file would. Then we ran the verifier without the original data, on the package alone.

Most flips give themselves away: the file stops making sense or the index stops matching. But 4.1% get through with the series changed. In one case, a bit in byte 330 changed 70 readings by up to 15.5, in a series that runs from −10 to 10. Without the originals, nothing in the package shows it.

That is where the ledger comes in. Flip the switch: checking the seal against the public ledger, all 3,000 forgeries are rejected, because no rewritten seal is in it.

caughtpasses, series changedpasses, same series (different bytes, same content)
2,861rejected
123pass with the series changed
16pass with the same series

Before release, the first version hung on some tampered files: a decoder loop had no upper bound. Every read is now bounded, and any forged byte becomes a rejection with a reason. Tested with the 3,000 flips and one minute of random inputs, about 10,000, with no hang.

Download and run

About 900 lines. Read before you trust.

The package holds both verifiers, a test corpus with public Mauna Loa CO₂ data (NOAA) and three synthetic series, and a script that checks everything end to end, including against the ledger published on this site. It needs Go 1.22 or newer and Python 3.

# download and check the fingerprint
curl -O https://stickybit.com.br/static/verificadores/verificadores-v1.2.tar.gz
shasum -a 256 verificadores-v1.2.tar.gz   # 72b85f15d5c75aad…
tar xzf verificadores-v1.2.tar.gz && cd verificadores-v1.2

# run the whole chain
pip install cryptography
./verifica-tudo.sh --site

Ledger public key (Ed25519): e49648c5f81df74928259a016d5459dd2ca9bd07c1196ece89ab01fecebaa3a8

The fingerprint of the verifier package itself is also sealed in the ledger: v1 at entry 7, v1.1 at entry 8, v1.2 at entry 9. Swapping the program you download is as visible as swapping a data point.

Limits

What a "verified" does not prove.

Without originals, only consistency

Without the original data and without checking the seal in the ledger, the verifier only proves the package agrees with itself. It says so in its output and shows the next command.

The file verifier is not independent

It is our own decoder, extracted. A bug shared by the encoder and the decoder would pass both. The ledger verifier was rewritten in another language; the file verifier has no second implementation yet.

The key must arrive another way

Whoever swaps the whole folder swaps the key with it. Keep the key above, compare it with the one in the script and use the option that pins it.

The ledger has no witness yet

Only we sign it. The Bitcoin date stops anyone rewriting the past unseen, but not keeping two ledgers. The ledger already speaks the public witness network's protocol, and the verifier already checks cosignatures; an outside witness still has to accept the ledger.

The tolerance is the one we declare

The verifier checks that the tolerance was met, not that it is the right one for your standard. That question stays yours.

To check the verifier, read it

Using the downloaded program to check itself is going in circles. The ledger verifier is about 130 lines of Python: readable in an afternoon, or rewritable.

See also
Talk to us

Want to run this on your data?

Tell us in two lines what you need to prove, and to whom. The first conversation is to see whether the verifier solves your case, and if it doesn't, we say so.

Chat on WhatsApp algorithms@stickybit.com.br Stickybit · Porto Alegre, since 2004

← Certified telemetry · stickybit.com.br