How independent Xudanu servers form a connected literature — the tumbler address space, content sharing, transclusion across boundaries, server operator responsibilities, and inherent risks.
Ted Nelson's original Xanadu vision, conceived in 1960, was of a docuverse — a universe of documents where every quotation maintains its bond to the original, every reference is permanent, and every reuse carries its full provenance. This is not the web, where links break and copies diverge. In the docuverse, connections are unbreakable and attribution is cryptographic.
Xudanu implements this vision as a network of independent servers, each owning its own content, each signing its own provenance, connected by tumbler addresses — a global hierarchical addressing scheme that lets any server reference any other server's content without replicating it.
The docuverse: independent servers connected by tumbler references. Each server stores only its own content plus small cached excerpts of what it references.
Yes. Every Xudanu server runs the same Rust binary (xudanu-server).
There is no "master" or "worker" role. There is no "coordinator" or "follower." Every
server is an equal peer.
However, each server operator configures their instance independently:
| Configuration | Who decides | Example |
|---|---|---|
| Server ID (tumbler namespace) | Operator | Server 1, Server 2, Server 42 |
| Display name & description | Operator | "Alice's Literature Server" |
| Ed25519 signing key | Generated at init | Unique per server, used for provenance |
| Which servers to trust | Operator | Per-server toggle in server directory |
| Storage limits | Operator | Max blob size, cache policy, quotas |
| Access policies | Operator | Who can create accounts, edit content |
Every piece of content in the docuverse has a globally unique address called a tumbler. The tumbler is hierarchical:
server . work . edition . position . element 2 . 5 . 3 . 10 . 7
| Level | Meaning | Example | Who assigns |
|---|---|---|---|
server | Which server hosts the content | 2 = bob.example.com | Self-assigned or derived from verifying key |
work | Which document on that server | 5 = "Moby Dick Analysis" | The host server (local BeId) |
edition | Which revision of the work | 3 = third revision | The host server |
position | Character position within the edition | 10 = starting at char 10 | The O-tree CRDT |
element | Element within a position | 7 = 7th element | The O-tree CRDT |
The tumbler namespace. Each level is owned by the level above. Server 2 owns all 2.* addresses. Work 5 owns all 2.5.* addresses.
2.5.3.2.7 is unique across the entire
docuverse because no other server uses server-id 2.
Content is never replicated across servers. Instead, servers reference each other's content. There are three mechanisms:
When Alice on Server 1 wants to quote a passage from Bob's work on Server 2:
2.5.3.10.7)Server 1 stores a few hundred bytes of metadata + the excerpt text. It does not store Bob's entire library.
When Alice's document is opened and the transclusion needs to render, the resolution order is:
Three-tier resolution: cache → fetch → excerpt fallback. Content is always available at some level.
Binary content uses the same tumbler + hash reference model, but with caching policies:
| Content type | Default policy | Storage cost on referencing server |
|---|---|---|
| Text excerpt | Always cached (permanent) | ~100 bytes - 2 KB |
| Small image (< 1 MB) | Cache on demand | ~1 MB (if rendered) |
| Large image / PDF (> 10 MB) | Reference only | ~200 bytes (metadata) |
| Video | Reference only (never cached) | ~200 bytes (metadata) |
| Dataset (CSV/JSON) | Cache on demand | Varies |
When Alice on Server 1 quotes Bob's content on Server 2, three independent layers of verification apply:
Three independent layers of verification. Removing or changing any one layer is detectable.
These three layers compose to provide end-to-end provenance:
Running a Xudanu server is like running a website — you are responsible for your own content, your own users, and your own uptime. But unlike a website, your content can be referenced by other servers even when you're offline.
| Responsibility | What it means | What happens if you don't |
|---|---|---|
| Keep the server running | Server must be reachable for live content fetches | References fall back to cached excerpts (still readable) |
| Maintain the signing key | The Ed25519 key is your server's identity | If lost, old signatures still verify; new content can't be signed with the same identity |
| Manage user accounts | Clubs (users), credentials, passwords | Unauthorized access; no accountability for edits |
| Configure access policies | read_club, edit_club per work | Private content might be accidentally published |
| Monitor storage | Disk space for works, blobs, and cache | Server may fail to checkpoint or accept new content |
| Curate server directory | Decide which other servers to trust | Untrusted content displays with warnings |
| Keep backups | The data directory contains everything | Data loss; cached excerpts on other servers are not full backups |
# Start a personal server for $5/month xudanu-server run 0.0.0.0:8080 /data --server-name "My Server" # That's it. Other servers can now reference your public content. # You can also reference theirs by adding them to your directory.
A server's storage is proportional to its own users' activity, not to the total size of the network:
| Content type | How much | Why |
|---|---|---|
| Own works (documents) | Everything your users create | You own and host them |
| Excerpts from other servers | Only specific passages your users transcluded | Permanent cache in link metadata |
| Cached full content | Only content actually fetched and rendered | Blob store, garbage-collectible |
| Server directory | Servers you know about (~200 bytes each) | Local lookup table |
| Attribution log | One entry per revision (~300 bytes each) | Tamper-evident audit trail |
Storage is proportional to your own activity, not the network size. The cluster model (bottom) replicates everything everywhere.
Every reference in the docuverse carries three cryptographic properties:
Every piece of content is fingerprinted with BLAKE3. If anyone modifies a single byte, the hash changes completely. This means:
Every span of text is signed with the author's Ed25519 key. The signature covers the content hash + timestamp + server identity. This means:
Every attribution event is appended to a chained log where each entry's hash incorporates the previous entry's hash. This means:
xudanu-cli verify-report| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Server goes offline permanently | Medium | Cached excerpts survive on referencing servers; full content is lost if no other server cached it | Keep backups; content-addressed chunks survive in other servers' caches |
| Signing key compromised | Low | Attacker can sign fake content as the server | Key is encrypted at rest; operator can rotate keys; old signatures still verify with old key |
| Malicious server joins network | Medium | Serves fake or low-quality content | BLAKE3 hash mismatch rejects modified content; Ed25519 verification rejects forged signatures; each operator curates their own trusted server list |
| Man-in-the-middle attack | Low | Attacker intercepts content fetch | TLS (WSS) for transport; Ed25519 signatures for content; BLAKE3 for integrity |
| Content drift (origin server changes content) | Medium | Referenced content doesn't match what was originally quoted | BLAKE3 hash in reference manifest always points to the original; cached excerpt is permanent proof |
| Sybil attack (many fake servers) | Low | Network flooded with low-quality servers | Each operator curates their own directory; no broadcast mechanism; reputation is organic |
| Disk space exhaustion | Medium | Server can't accept new content | Operator configures storage quotas; GC cleans unreferenced cache; blob policy limits binary caching |
| Aspect | Xudanu Linked (FR-6) | Xudanu Cluster (FR-3) | The Web |
|---|---|---|---|
| Servers share data? | No — references only | Yes — full replication | No — links only |
| Links break? | No — cached excerpts survive | No — all data replicated | Yes — link rot |
| Attribution? | Cryptographic (Ed25519) | Cryptographic (Ed25519) | Manual (copy-paste) |
| Content verification? | BLAKE3 hash + signature | BLAKE3 hash + signature | None |
| Trust model | Per-server, independent | All-or-nothing cluster | CA-based (TLS) |
| Min servers needed | 1 | 3-4 (Byzantine tolerance) | 1 |
| Joining | Start server + publish identity | PBFT membership vote | Register domain + host |
| Leaving | Go offline (cached refs survive) | Membership removal protocol | Site disappears (404) |
| Cost | $5/month VPS | $30+/month (3+ servers) | $5/month hosting |
| Standards compliant? | W3C PROV-JSON | W3C PROV-JSON | No |
Each server only knows about servers it has referenced or been referred by. No server needs a global view.
2.5.3.10.7, BLAKE3 hash, excerpt text, Bob's public key, Server 2's signaturexudanu-cli verify-report. The Ed25519 signature still checks out. The BLAKE3 hash still matches the excerpt. The tumbler address still resolves (or the cached excerpt is permanent proof).