☁️
Zus Docs
  • About Züs
  • System
    • Providers and Services
      • Miner
      • Sharder
      • Blobber
      • Validator
      • Authorizer
      • Node Locator (0DNS)
    • Storage
      • Architecture and Data Management
      • Protocol
        • Allocations
        • Reference Objects
        • Challenges
        • Write Markers
          • Chain Hashing
          • Two Commit
        • Blobber Repair Protocol
      • ZS3 Server
        • Backup, Recovery and Replication
        • Encryption and Compression
        • S3FS Setup and Usage
        • Backup & Recovery with Restic on Blimp + ZS3 Server
        • Backup & Recovery with Veeam on Blimp + ZS3 Server
      • File Operations
        • Upload
        • Download
        • File Sharing
        • Partial Error Recovery
        • Streaming
        • Rent a Blobber
    • Smart Contracts
      • Storage S.C.
      • Miner S.C.
      • ZCN S.C.
      • ERC-20 S.C.s
      • Bridge Protocol
    • Blockchain & Consensus
      • Entities
    • User Authentication and Wallet Management System
      • OKTA Integration
      • Key Management System (KMS)
  • APIs
    • 0DNS API
    • JS API
    • Mobile API
  • CLIs
    • Storage CLI
      • Quickstart
      • Configuring the tool
    • Wallet CLI
      • Wallet Configuration
      • Quickstart
      • Configuring the tool
  • SDKs
    • Go SDK
      • GO SDK Microservices
    • JS SDK
  • Tokenomics
    • Staking
    • Reward & Penalty
  • ✨Züs Apps
    • 🗝️Vult
      • Getting Started
        • Web
        • Mobile
      • Vult AI
        • Batch Processing
        • Memory Retention
        • Technical Implementation
        • Architecture Overview
      • Login / Register
      • File Management Pages
      • File Sharing
      • Storage Management Dashboard
      • Storage Maintenance and Troubleshooting
      • Züs Subscription
      • Wallet Management
      • Refer a friend
      • Settings
    • 🏗️Blimp
      • Getting Started
      • Login / Register
      • Configure Storage
        • Create Standard Storage Allocation
        • Create Enterprise Allocation
        • Create S3 Server Allocation
        • Create Cloud Migration Allocation
        • Allocation Maintenance and Troubleshooting
      • File Management Pages
      • File Sharing
      • Manage Allocations
      • Upgrade Storage
      • Blimp Vault
      • Refer a friend
      • Settings
      • Launching ZS3 Server
      • Using CLI to backup files into Blimp + ZS3 Server
    • 🏠Chimney
      • Getting Started
      • Login / Register
      • Create New Deployment
      • Manage Your Deployments
      • Homepage
      • Staking Dashboard
      • Rank Dashboard
      • Monitor Dashboard
      • Stats Dashboard
      • Logs Dashboard
      • Wallet Dashboard
      • Operations on your Deployments
      • Restricted Blobbers
      • Settings
        • Manage Profile
        • Wallet Settings
        • Update Blobber Settings
        • Update Blobber Version
        • Refer a friend
        • Help
    • 🌐Atlus
      • Getting Started
      • Home page
      • Service Providers Page
      • Charts Page
        • Market Charts
        • Network Charts
        • Storage Charts
      • Blockchain Page
      • Server Map Page
      • Storage Explainer Page
      • Details Pages
        • Block Details Page
        • Transaction Details Page
        • Wallet Details Page
        • Miner Details Page
        • Sharder Details Page
        • Blobber Details Page
        • Validator Details Page
        • Authorizer Details Page
        • Allocation Details Page
      • Appendix: Common Components
    • ⚡Bolt
      • Getting Started
        • Web
        • Mobile
      • Login / Register
      • Sign In with external wallet
      • Staking Dashboard
      • Staking/Unstaking a provider
      • Claiming Rewards
      • Send/Receive ZCN tokens
      • Buy ZCN
      • Deposit/Withdraw ZCN tokens
      • Activity Dashboard
      • Refer a friend
      • Settings
  • Releases
    • Hardfork
Powered by GitBook
On this page
  1. System

Storage

Züs is a leading privacy and secure AI data platform that provides users full ownership and control of their data, with powerful AI agents on Vult.network to accelerate productivity. It is also ideal for on-prem, high speed S3 storage as well as backup and disaster recovery to prevent outage, breach, and ransomware issues.

It has an unparalleled data integrity layer on the blockchain and a zero knowledge network, with data and key distributed so that its almost impossible to breach. Another standout feature is that it allows users to share encrypted data easily, even on a public link.

This section introduces the key components, protocols, and operations that govern storage allocation, file management, and data validation within the Züs ecosystem.

Storage Structure

The storage system in Züs consists of three main areas:

Storage Protocol

Defines the core principles and mechanisms that govern how data is stored, accessed, and validated. It includes:

  • Allocations – Smart contracts that define storage agreements between users and the network.

  • Reference Objects – Metadata representation of files within the system.

  • Challenges – Validation mechanism ensuring that storage providers maintain data integrity.

  • Write Markers – Proof-of-storage records ensuring blobbers are compensated for data storage.

File Operations

Encompasses the key functionalities related to data handling, including:

  • Uploading and Downloading – Secure and optimized file transfer mechanisms.

  • File Sharing – Encrypted and permission-based access to stored data.

  • Data Recovery and Replication – Ensuring redundancy and fault tolerance.

  • Streaming and S3FS Support – Integrating Züs storage with cloud-native applications.

Storage Data Management

Covers the structural and operational aspects of Züs storage, ensuring scalability, performance, and security. Key areas include:

  • Write and Read Processes – Optimized storage and retrieval mechanisms.

  • Automatic Data Repair – Self-healing storage for uninterrupted availability.

  • Rollback Mechanisms – Ensuring consistency in case of failed operations.

  • Geolocation-Aware Storage – Performance-based blobber selection for optimized access speeds.

Züs operates on a decentralized network of blobbers—storage providers responsible for holding data in a fault-tolerant, distributed manner. The network uses erasure coding to distribute file fragments across multiple nodes, ensuring redundancy and data integrity.

Storage Allocation

Storage allocation is the process by which users define the storage parameters for their data, including redundancy, pricing, and blobber selection. The key allocation components are:

  • Data Shards (dataShards) – The number of shards storing actual file data.

  • Parity Shards (parityShards) – Additional shards for error correction and redundancy.

  • Blobbers (blobbers) – Nodes responsible for storing distributed data.

  • Allocation Size (size) – The total storage allocated.

Allocations help optimize storage distribution, ensuring data availability even if some storage nodes go offline.

File Uploading

Züs employs a chunked upload system to optimize file uploads, enhancing speed, reducing failure rates, and supporting large file sizes.

Standard File Upload

Users can upload files to the Züs network through an allocation that defines where and how the data is stored.

err := allocation.UploadFile(workdir, "/local/file.txt", "/remote/file.txt", statusCallback)
  1. The file is split into fixed-size chunks.

  2. Each chunk is encoded using erasure coding into data and parity shards.

  3. The shards are distributed across multiple blobbers.

  4. Blockchain write markers validate the storage.

This process ensures high availability and durability of stored data.

Secure File Upload (Encryption)

Züs offers AES-256 encryption for securing data before it is uploaded.

err := allocation.EncryptAndUploadFile(workdir, "/local/secure.txt", "/remote/secure.txt", statusCallback)

Encrypted files ensure that no unauthorized entity, including storage providers, can access or modify the data.

File Downloading

Files stored in the Züs network can be retrieved using different download mechanisms.

Standard File Download

err := allocation.DownloadFile("/local/download.txt", "/remote/file.txt", true, statusCallback, true)

Block-Based Download

Users can download specific portions of a file, useful for streaming and large datasets.

err := allocation.DownloadFileByBlock("/local/download.txt", "/remote/file.txt", 10, 20, 5, true, statusCallback, true)

Thumbnail Download

Optimized for media previews and applications that require small-sized image representations.

err := allocation.DownloadThumbnail("/local/thumbnail.jpg", "/remote/file.jpg", true, statusCallback, true)

These download features allow users to optimize bandwidth usage while ensuring data integrity through blockchain validation.

File Metadata & Management

Metadata management enables users to retrieve file details, track storage usage, and manage access control.

Fetching File Metadata

fileMeta, err := allocation.GetFileMeta("/remote/file.txt")

Metadata includes:

  • File name, hash, type, and path

  • Size and number of blocks

  • Encryption key and collaborator details

Fetching File Metadata via Auth Ticket

fileMeta, err := allocation.GetFileMetaFromAuthTicket(authTicket, lookupHash)

This is useful for verifying file properties before access.

Fetching File Statistics

fileStats, err := allocation.GetFileStats("/remote/file.txt")

Users can analyze file usage patterns, including read/write activity and access history.

Secure File Sharing

Züs enables controlled file sharing using authentication tickets, allowing granular access management.

Generating a Shareable Auth Ticket

authTicket, err := allocation.GetAuthTicketForShare("/file.txt", "file.txt", "file", "recipientClientID")

Auth tickets ensure that only intended recipients can access shared files.

Revoking Shared Access

err := allocation.RevokeShare("/file.txt", "recipientClientID")

Revocation prevents further access to the shared file.

File Deletion & Cleanup

Users can remove files permanently from the decentralized network.

Deleting a File

err := allocation.DeleteFile("/remote/file.txt")

This action removes all copies of the file from the allocated blobbers.

Deleting a Directory

err := allocation.createDir("/remote/folder", allocation.consensusThreshold, allocation.fullconsensus, zboxutil.NewUint128(1))

Deleting a directory removes all associated files and metadata.

Storage Cost Estimation

Züs provides users with tools to estimate and optimize storage costs dynamically.

Retrieve Storage Costs

maxWrite, maxRead, err := allocation.GetMaxWriteRead()
minWrite, minRead, err := allocation.GetMinWriteRead()

These functions allow users to compare blobber pricing before allocating storage.

Estimate Storage Cost

maxCost, err := allocation.GetMaxStorageCost(10 * GB)
minCost, err := allocation.GetMinStorageCost(10 * GB)

Cost estimation ensures users can optimize spending while selecting suitable storage providers.

Data Integrity & Repairs

Züs incorporates verification and repair mechanisms to ensure data reliability.

Detecting Data Loss

found, deleteMask, needsRepair, fileRef, err := allocation.RepairRequired("/remote/path")

When inconsistencies arise, users can restore missing data.

Initiating a Full Repair

err := allocation.RepairAlloc(statusCallback)

Repairing ensures that corrupted or lost file fragments are reconstructed using parity shards.

Cancelling Uploads & Repairs

Züs allows users to cancel ongoing operations when necessary.

Cancel an Upload

err := allocation.CancelUpload("/remote/file.txt")

Canceling an upload prevents unnecessary resource usage.

Cancel an Ongoing Repair

err := allocation.CancelRepair()

This function halts the repair process if the issue has been resolved manually.

By integrating security mechanisms, dynamic pricing, and data integrity verification, Züs offers an advanced alternative to traditional cloud storage solutions.

Its decentralized approach ensures that users have greater control over their data, reducing reliance on centralized storage providers while enhancing privacy and availability.

PreviousNode Locator (0DNS)NextArchitecture and Data Management

Last updated 1 month ago