All Research Tracks
R13 · Consistency & Distribution

Causal Consistency via ETag Chains

SkeinDB's ETags currently reflect "has this data changed?" but could encode causal dependencies. In distributed deployments, clients need session consistency — results consistent with everything they've seen — without full serializability overhead. By extending ETags to encode causal dependencies, SkeinDB provides causal consistency guarantees using existing web infrastructure.

Research Proposal — Mapped to backlog in docs/RESEARCH_BACKLOG.md

🔬 What's Novel

🔧 Technical Approach

Phase 1 — Causal ETag Design

Evaluate encoding options: compressed vector clocks, dependency set hashes, and hybrid version-dependency encoding. Select format compatible with HTTP ETag header constraints.

Phase 2 — Consistency Protocol

Queries include "minimum causality" ETag; responses include "result causality" ETag. Clients propagate causality through operations automatically via HTTP headers.

Phase 3 — Cluster Integration

Replication protocol preserving causal ordering without requiring total order. Nodes track causal dependencies and serve reads consistent with client-observed history.

Phase 4 — Caching Interaction

Analyze interaction with HTTP caching layers. Design cache validation protocols that preserve causal guarantees even when responses are served from CDN or browser cache.

🧪 Hypotheses

H1

Causal ETags encoding vector clocks or similar structures propagate correctly through standard HTTP caching infrastructure.

H2

Causal consistency provides meaningfully lower latency than serializability for geo-distributed deployments.

H3

Incremental causal ETag updates based on query dependencies are more efficient than full vector clocks per response.

🔗 SkeinDB Integration

ETag Validators
Cluster Control-Plane
Dependency Tracking
HTTP Transport
Replication

📚 Key References