Preview: the CLI and API are not released yet.
Euthyne
Verification spec (draft)

Offline verification

Draft. Running the checks on your machine with euthyne verify.

Coming soon

euthyne verify is not released yet. This page describes the planned behavior.

euthyne verify runs the four checks on your machine. It does not ask Euthyne's servers for a verdict.

Usage

euthyne verify receipt.json --offline
euthyne verify --last
  • A file path verifies a saved receipt bundle.
  • --last verifies your most recent receipt.
  • --offline runs only the steps that need no network.
  • --anchor-node <url> checks the anchor against your own node.

The command exits with 0 when the checks pass and 1 when one fails.

What runs offline

StepOffline
SignatureYes
Key bindingYes, with a cached copy of Euthyne's DID log
Session chainYes
InclusionYes, from the proof in the bundle
ConsistencyNo, it needs the latest checkpoint from an independent copy of the log
AnchorOnly with --anchor-node. Otherwise reported as "header not checked"
CoverageYes

The receipt bundle

A bundle grows as proofs arrive:

  1. The signed envelope.
  2. The inclusion proof and the signed checkpoint.
  3. The anchored checkpoint, with its consistency proof and OpenTimestamps proof.

The bundle format is not specified yet.

Pinned keys

The CLI pins Euthyne's keys from its DID log. A key that is not in the pinned log fails key binding.

Your own verifier

This spec is meant to be enough to write another verifier. Test vectors are planned: a genuine receipt, a tampered one, a wrong key, a wrong log index and a forked checkpoint. An open source verifier package is planned too.

On this page