Skip to content

v0.0.1 — Initial Public Release

Pre-release
Pre-release

Choose a tag to compare

@BernardLowe BernardLowe released this 02 Jun 12:45

What is MALT

MALT is an authenticated mutable structure layer over immutable content-addressed storage. It introduces Explicit Arcs — verifiable bindings independent of immutable object content — with map and list semantic primitives for unified path traversal and range verification.

⚠️ Research prototype. This is an early release for the paper submission. APIs, storage formats, and proof schemas may change without notice until a stable version is tagged.

Highlights

  • Root-centric verification: Read(root, query) → result + ProofList — clients verify correctness against the root, not the server
  • Semantic mutation: ApplyMutation(baseRoot, delta) → newRoot + writeReceipt
  • UnixFS compatibility: add, resolve, and verify files/directories over the MALT structure layer
  • Local daemon: single-binary malt daemon with HTTP API on 127.0.0.1:4317
  • Evaluation CLI: malt-eval for benchmarking read latency, write amplification, and proof overhead across MALT-flat, IPLD UnixFS, and HAMT baselines

Quick Start

# Requires Go 1.25.7+
go build -buildvcs=false -o bin/malt ./cmd/malt
go build -buildvcs=false -o bin/malt-eval ./cmd/eval/malt-eval

# Start daemon
./bin/malt daemon start

# Add a file
./bin/malt add ./README.md

# Resolve and verify
./bin/malt resolve <root> README.md

Documentation

- Architecture (https://github.com/DeWebProtocol/malt/blob/main/ARCHITECTURE.md)
- Evaluation guide (https://github.com/DeWebProtocol/malt/blob/main/docs/evaluation.md)
- Design docs (https://dewebprotocol.github.io/malt-web/)

What's Included

┌───────────────────────────────────┬──────────────────────┐
│             Component             │         Path         │
├───────────────────────────────────┼──────────────────────┤
│ Data authentication core          │ auth/                │
├───────────────────────────────────┼──────────────────────┤
│ Graph resolver/writer             │ graph/               │
├───────────────────────────────────┼──────────────────────┤
│ Runtime (ArcTable, metrics, node) │ runtime/             │
├───────────────────────────────────┼──────────────────────┤
│ UnixFS layout                     │ layout/unixfs/       │
├───────────────────────────────────┼──────────────────────┤
│ Storage (CAS, KV)                 │ storage/             │
├───────────────────────────────────┼──────────────────────┤
│ Server + SDK                      │ server/, sdk/        │
├───────────────────────────────────┼──────────────────────┤
│ CLI tools                         │ cmd/malt/, cmd/eval/ │
└───────────────────────────────────┴──────────────────────┘

Known Limitations

- ProofList step schema is intentionally deferred (see MIP-1003)
- KZG commitment backend uses looped encoding pending upstream batch proof support
- No release workflow yet — this is a source-only tag