πŸ™Œ

Witness

Federated Timestamping Protocol

Prove when something existedβ€”without trusting any single party, and without the bottlenecks of a blockchain.

The Problem

Proof of existence matters. Journalists need to verify when documents surfaced. Researchers need to establish priority. Human rights organizations need tamper-evident records. Artists need to prove original creation dates.

Current solutions all have the same flaw: single points of trust.

Trusted timestamping authorities? They're businesses. They get acquired, shut down, or compromised. Your proof dies with them.

Blockchain? Ethereum costs money. Bitcoin takes an hour. Both are permanent public recordsβ€”fine for some things, disastrous for others. And good luck explaining gas fees to a journalist on deadline.

What we need is something fast, free, private, and trust-minimized. Something that can survive the death of any single organization.

Witness's Answer

Witness is a federated threshold-signed timestamping service. Instead of trusting one authority or waiting for blockchain consensus, you get signatures from multiple independent witnesses.

The math is simple: if 3-of-5 independent witnesses sign your timestamp, all three would have to collude to forge one. Run witnesses in different jurisdictions, operated by different organizations, and collusion becomes coordination across borders and institutions.

This gives you:

Blockchains can still be usedβ€”as an optional settlement layer. Batch merkle roots hourly or daily to Ethereum, the Internet Archive, or Certificate Transparency logs. But the primary system works without them.

How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Client   β”‚  Submits: SHA-256 hash + optional metadata
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Gateway  β”‚  Routes to witnesses, aggregates signatures
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
      β”‚
      β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
      β–Ό              β–Ό              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Witness 1 β”‚  β”‚Witness 2 β”‚  β”‚Witness 3 β”‚
β”‚Frankfurt β”‚  β”‚Nuremberg β”‚  β”‚ Helsinki β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β”‚             β”‚             β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
                   β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚  Attestation  β”‚  Threshold signatures + timestamp
          β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
          β”‚External Anchorβ”‚  Optional: Internet Archive,
          β”‚    (batch)    β”‚  Trillian, DNS TXT, Ethereum
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Each witness independently signs an attestation containing the hash, timestamp, and network metadata. The gateway aggregates signatures until threshold is met, then returns the signed attestation.

Verification requires only the attestation and the network's public keysβ€”no need to query any server.

Comparison

Method Speed Cost Trust Model
Trusted Authority ~100ms $$ Single point of failure
Bitcoin ~60 min $$$ Decentralized
Ethereum ~15 sec $$ Decentralized
Witness ~100ms Free Threshold trust
[ Screenshot: CLI timestamping a document ]

Who Benefits

Journalists & Researchers

Timestamp leaked documents, interview recordings, and research data. Establish provenance without revealing content. Create chains of custody that survive organizational changes.

Human Rights Organizations

Create tamper-evident records of evidence. Prove when documentation was collected. Maintain archives that can be verified independently decades later.

Creative Professionals

Establish proof of original creation without publication. Protect drafts, demos, and works-in-progress. No registration fees, no bureaucracy.

Legal & Compliance

Timestamped audit trails for regulated industries. Evidence preservation that doesn't depend on proprietary vendors. Verifiable without specialized software.

Software Distribution

Timestamp releases and security advisories. Prove when patches were published. Build transparency logs without blockchain overhead.

Scientific Priority

Establish research priority before peer review. Timestamp preprints, datasets, and negative results. Create verifiable records of discovery timelines.

[ Screenshot: Verification output showing threshold signatures ]

Technical Features

Ed25519 or BLS12-381 signatures
Configurable threshold (m-of-n)
Merkle tree batching
Light client verification
Federation cross-anchoring
Internet Archive anchoring
Certificate Transparency logs
Ethereum settlement (optional)
DNS TXT anchoring
SQLite storage (portable)
Prometheus metrics
Freebird rate limiting

BLS Signature Aggregation

With BLS12-381, multiple signatures aggregate into a single 96-byte proofβ€”regardless of how many witnesses signed. This makes verification bandwidth-efficient for high-threshold deployments.

External Anchoring

Batch merkle roots can be periodically anchored to external services for additional security layers:

Try It

# Start the network (gateway + 3 witnesses)
docker compose up --build

# Timestamp a file
docker compose exec gateway witness-cli \
  --gateway http://localhost:8080 \
  timestamp --file document.pdf

# Verify an attestation
witness-cli verify --attestation attestation.json

Or build from source:

git clone https://github.com/flammafex/witness
cd witness
cargo build --release
./examples/setup.sh
./examples/start.sh

Seeking Funding For

Public Witness Network

Deploy and operate a free public timestamping service with witnesses distributed across jurisdictions. Target: 3 federated networks, 9+ independent witnesses.

Integration Libraries

Client libraries for Python, JavaScript, Go, and mobile platforms. Browser extension for one-click timestamping. Integration with journalism and research workflows.

Documentation & Education

Comprehensive documentation, deployment guides, and educational materials explaining trust models and verification procedures to non-technical users.

Security Audit

Independent security audit of cryptographic implementations and network protocol. Formal verification of threshold signature scheme.

Organizational Partnerships

Establish witness operators across press freedom organizations, universities, and civil society groups. Build governance structures for long-term sustainability.

Current Status

Why This Matters

Trust is fragmenting. Institutions that once served as neutral arbitersβ€”courts, archives, news organizationsβ€”are increasingly contested. The infrastructure for establishing what happened and when is either expensive, centralized, or opaque.

Witness provides a different model: trust through transparency and distribution. Anyone can verify an attestation. Anyone can run a witness. The protocol is open, the code is auditable, and no single organization controls the network.

This isn't about replacing institutions. It's about providing cryptographic bedrock they can build on. A journalist's timestamped document is still journalism. A court's evidence is still evidence. But now there's a verification layer that doesn't depend on any single point of failure.

The best time to timestamp something was before it mattered. The second best time is now.