What is Walrus?
Walrus is a decentralized blob storage protocol that uses erasure coding to distribute data across a network of independent storage nodes. Unlike traditional cloud storage, no single entity controls your data — it is split, encoded, and distributed across the network so that it can be reconstructed even if a significant fraction of nodes go offline.Walrus is developed by Mysten Labs, the team behind the Sui blockchain. Learn more at walrus.xyz.
Key Concepts
Blobs
A blob is the fundamental storage unit in Walrus — a raw binary object identified by a globally unique blob ID. When you upload a file to Tusky, it is ultimately stored as one or more blobs on the Walrus network.Blob IDs
Every blob on Walrus has a unique blob ID derived from its content. This ID is deterministic — the same content always produces the same blob ID, enabling deduplication and content verification.Quilts
A quilt is a composite blob that bundles multiple small files into a single Walrus blob. Quilts optimize for cost and throughput by reducing the number of individual on-chain transactions. Each file within a quilt is tracked by a quilt patch — a reference that maps a specific byte range within the quilt blob back to the original file.Quilt Patch IDs
A quilt patch ID identifies a specific file within a quilt. When you access a file through your Tusky aggregator using/{quiltPatchId}, the system locates the parent quilt blob, extracts the relevant byte range, and returns the file.
Epochs
Walrus uses epochs as its unit of storage duration. Each epoch represents a fixed time period on the Walrus network. When you upload a file, you specify how many epochs to store it for.| Concept | Description |
|---|---|
| Epoch | A time period in the Walrus network (length determined by network governance). |
| Storage duration | The number of epochs your blob will be stored. More epochs = longer storage = higher cost. |
| Expiry | After the purchased epochs elapse, the blob is no longer guaranteed to be available on the network. |
Storage Duration
You control how long your data lives on the Walrus network by specifying the number of epochs at upload time. Tusky provides sensible defaults and an auto-extend feature to prevent accidental data loss.- Fixed Duration
- Auto-Extend
Specify a fixed number of epochs. The data is available for exactly that duration.
How Tusky Interacts with Walrus
Publishing
When you upload a file, Tusky’s queue workers:- Encrypt the file (if the environment is encrypted)
- Batch small files into quilts for efficiency
- Encode the data using Walrus’s erasure coding scheme
- Submit a storage transaction to the Walrus network using your managed wallet
- Record the blob ID and quilt patch IDs in Tusky’s database
Extending
When a file’s storage is approaching expiry (and auto-extend is enabled), Tusky:- Detects the upcoming expiry from the stored metadata
- Submits an extension transaction to the Walrus network
- Deducts the extension cost from your managed wallet balance
- Updates the stored expiry metadata
Reading
When a file is requested through your aggregator, Tusky’s aggregators:- Look up the blob ID (or quilt patch ID) from the database
- Contact Walrus storage nodes to retrieve the encoded fragments
- Reconstruct the original blob using erasure decoding
- Extract the relevant patch (if it’s a quilt) and return the file
Walrus Architecture
- Sui blockchain — Stores metadata, storage certificates, and manages epoch governance. Does not store the actual blob data.
- Storage nodes — Independent operators that store erasure-coded fragments of blobs. Data can be reconstructed from any sufficient subset of nodes.
Self-Custody and Ejection
One of Walrus’s key properties is that your data is never locked in. Because blobs are stored on a decentralized network with open access:- You can read your blobs directly from Walrus without Tusky.
- You can manage blob extensions from your own wallet.
- If you choose to leave Tusky, your data remains available on the network for the duration of its purchased epochs.
Tusky is designed as an infrastructure convenience layer — it never creates vendor lock-in. Your blobs, your keys, your control.