Skip to content
Sponsor trackVerdict ledger

How Zoro uses Hedera

Hedera is a public diary with time stamps nobody controls. Zoro writes every verdict into it, so anyone can see what was decided and when, and nobody, not even Zoro, can rewrite history.

Technically: Zoro writes every verdict, revocation and dispute to a Hedera consensus topic, mints a badge token for each sealed version and burns it on revoke, and anchors its own audit log there as Merkle roots.

Checking…
Explain it like I’m new

Think of it as a notary’s logbook that the whole world can read

Every entry gets a page number and an official time stamp. You can add new pages, but you can never tear one out or change an old one.

Without Hedera

Zoro keeps its own log. After an incident, how would you know it wasn’t edited?

With Hedera

Every verdict and revocation has a public, network-assigned time and order that anyone can check.

Words you’ll see, hover for meaning:

From first principles

Why Zoro needs Hedera at all.

Five short steps, from the problem to the answer. Each card has a plain version; open “technical version” for the details.

1

The problem

Knowing today’s verdict isn’t enough. You also need the history: when it was decided and whether anything was changed later.

Show the technical version
A registry shows the current state. But trust also needs history: when was this verdict issued, was it ever revoked, and did anyone, Zoro included, rewrite the audit log after an incident?
2

Why the obvious fix fails

A signature proves who wrote something, not when. And putting everything on an expensive blockchain would leak your private activity.

Show the technical version
Signing each log entry proves who wrote it, not when or in what order; a signer can re-sign a rewritten history. Writing every event to a general-purpose blockchain is slow, costly and would publish your private activity.
3

What is actually needed

A cheap, public, add-only log with time stamps nobody controls, that can vouch for private data without showing it.

Show the technical version
An append-only, ordered record with timestamps nobody controls (not even Zoro), cheap enough for every verdict, and able to commit to private data without revealing it.
4

Why Hedera provides exactly that

Hedera gives every message an official time and order within seconds, for a fraction of a cent, and anyone can read it.

Show the technical version
The Hedera Consensus Service gives every topic message a consensus timestamp and sequence number set by the network, with fast finality and low fees, readable by anyone through public mirror nodes. The Token Service adds NFTs that can be minted and burned.
5

So Zoro uses Hedera as

The public diary of every verdict, plus a badge per approved tool and a tamper-proof stamp on Zoro’s own log.

Show the technical version
The verdict ledger: the public, ordered history of every verdict and revocation, a badge per sealed version, and a timestamped commitment to Zoro’s own log.

Inside Zoro

What happens, step by step.

Step 1 of 401

Publish every verdict

Each new verdict becomes a public message with an official time stamp.

How exactly?
When a version is sealed, the outbox sends a verdict.issued message (or verdict.reissued) to the registry topic; Lab runs use a separate Lab topic. The network assigns its timestamp and sequence number.
Step 2 of 402

Link both ways

The ENS name points to the diary entry, so you can check the two agree.

How exactly?
The ENS record zoro.ledger stores hedera:<network>:<topic>:<sequence>, so a verifier can go from the name to the ledger message and check they agree.
Step 3 of 403

Badge on seal, burn on revoke

An approved tool gets a badge; if it is revoked, the badge is destroyed so it can’t be shown off any more.

How exactly?
Each sealed version gets one badge NFT whose metadata is its fingerprint. Revocation burns it, so a revoked version can never keep showing a valid badge, and publishes a seal.revoked message.
Step 4 of 404

Anchor Zoro’s own log

Zoro regularly stamps a summary of its private log in public, proving it was never edited, without revealing what is in it.

How exactly?
Zoro’s audit log is a hash chain. Unanchored entries are committed as one Merkle root on the organization topic. Only the root is published, never the events, so the anchor proves the log wasn’t edited without leaking what happened.

For developers

A verdict message on the topic (version 1, JSON)

You don’t need this to use Zoro. It is the exact data Zoro writes, so anyone can check it independently.

FieldWhat it holds
typeverdict.issued, verdict.reissued or seal.revoked (disputes have their own types)
fpVersion fingerprint
ensENS name of the version, when the registry is configured
server / toolWhich server and tool
verdict / risk / changeClassThe Sentinel result
verdictHash / sig / auditorHash of the verdict package, the auditor’s signature and address
tsZoro’s timestamp; the network adds its own consensus timestamp

Where you see it in Zoro

  • Verify page: reads the verdict back from the mirror node and checks the signature
  • Home page and registry counts, computed from the topic when it is configured
  • Revocations and disputes that every gateway can follow in order

What it does not do

  • By default Zoro uses the Hedera test network (HEDERA_NETWORK can switch it).
  • Verdict messages describe tools. Your own calls only ever appear as Merkle roots.
  • Hedera proves when and in what order; the auditor signature proves who.

The other tracks