Document not found (404)
-This URL is invalid, sorry. Please use the navigation bar or search to continue.
- -diff --git a/pr-preview/pr-16/404.html b/pr-preview/pr-16/404.html deleted file mode 100644 index bf49f697..00000000 --- a/pr-preview/pr-16/404.html +++ /dev/null @@ -1,218 +0,0 @@ - - -
- - -This URL is invalid, sorry. Please use the navigation bar or search to continue.
- -The key actors in the Walrus architecture are the following:
-Walrus supports any additional number of optional infrastructure actors that can operate in a -permissionless way:
-Caches, publishers, and end-users are not considered trusted components of the system, and they may -deviate from the protocol arbitrarily. However, some of the security properties of Walrus only hold -for honest end-users that use honest intermediaries (caches and publishers). We provide means for -end-users to audit the correct operation of both caches and publishers.
- -The walrus
binary can be used to interact with Walrus as a client. To use it, you need a Walrus
-configuration and a Sui wallet.
-Detailed usage information is available through
walrus --help
-
-Storing and reading blobs from Walrus can be achieved through the following commands:
-CONFIG=working_dir/client_config.yaml # adjust for your configuration file
-walrus -c $CONFIG store <some file> # store a file
-walrus -c $CONFIG read <some blob ID> # read a blob
-
-
- We summarize here the basic encoding and cryptographic techniques used in Walrus.
-Each blob is also associated with some metadata including a blob ID to allow verification:
-In this document, we left out details of the following features:
-To make communication as clear and efficient as possible, we make sure to use a single term for -every Walrus entity/concept and do not use any synonyms. The following table lists various -concepts, their canonical name, how they relate to / differ from other terms.
-Italicized terms in the description indicate other specific Walrus terms contained in the table.
-Approved name | Description |
---|---|
storage node (SN) | entity storing data for Walrus; holds one or several shards |
blob | single unstructured data object stored on Walrus |
shard | (disjoint) subset of erasure-encoded data of all blobs; at every point in time, a shard is assigned to and stored on a single SN |
sliver | erasure-encoded data of one shard corresponding to a single blob for one of the two encodings; this contains several erasure-encoded symbols of that blob but not the blob metadata |
blob ID | cryptographic ID computed from a blob’s slivers |
blob metadata | metadata of one blob; in particular, this contains a hash per shard to enable the authentication of slivers and recovery symbols |
(end) user | any entity/person that wants to store or read blobs on/from Walrus; can act as a Walrus client itself or use the simple interface exposed by publishers and caches |
publisher | service interacting with Sui and the SNs to store blobs on Walrus; offers a simple HTTP POST endpoint to end users |
aggregator | service that reconstructs blobs by interacting with SNs and exposes a simple HTTP GET endpoint to end users |
cache | an aggregator with additional caching capabilities |
(Walrus) client | entity interacting directly with the SNs; this can be an aggregator/cache, a publisher, or an end user |
(blob) reconstruction | decoding of the primary slivers to obtain the blob; includes re-encoding the blob and checking the Merkle proofs |
(shard/sliver) recovery | process of an SN recovering a sliver or full shard by obtaining recovery symbols from other SNs |
storage attestation | process where SNs exchange challenges and responses to demonstrate that they are storing their currently assigned shards |
certificate of availability (CoA) | a blob ID with signatures of SNs holding at least $2f+1$ shards in a specific epoch |
point of availability (PoA) | point in time when a CoA is submitted to Sui and the corresponding blob is guaranteed to be available until its expiration |
inconsistency proof | set of several recovery symbols with their Merkle proofs such that the decoded sliver does not match the corresponding hash; this proves an incorrect/inconsistent encoding by the client |
inconsistency certificate | an aggregated signature from 2/3 of SNs (weighted by their number of shards) that they have seen and stored an inconsistency proof for a blob ID |
storage committee | the set of SNs for a storage epoch, including metadata about the shards they are responsible for and other metadata |
member | an SN that is part of a committee at some epoch |
storage epoch | the epoch for Walrus as distinct to the epoch for Sui |
availability period | the period specified in storage epochs for which a blob is certified to be available on Walrus |
Welcome to the developer documentation for Walrus, a decentralized storage and availability protocol -designed specifically for large binary files, or "blobs". Walrus focuses on providing a robust -solution for storing unstructured content on decentralized storage nodes while ensuring high -availability and reliability even in the presence of Byzantine faults.
-Storage and retrieval: Walrus supports storage operations to write and read blobs. It also -allows anyone to prove that a blob has been stored and is available for retrieval at a later -time.
-Cost efficiency: By utilizing advanced error correction coding, Walrus maintains storage -costs at approximately five times the size of the stored blobs and encoded parts of each blob -are stored on each storage node. This is significantly more cost-effective compared to -traditional full replication methods and much more robust against failures compared to -protocols that only store each blob on a subset of storage nodes.
-Integration with Sui blockchain: Walrus leverages the Sui -for coordination, attesting availability and payments. Storage space can be owned as a resource on -Sui, split, merged, and transferred. Blob storage is represented using storage objects on Sui, and -smart contracts can check whether a blob is available and for how long.
-Flexible access: Users can interact with Walrus through a command-line interface (CLI), -software development kits (SDKs), and web2 HTTP technologies. Walrus is designed to work well -with traditional caches and content distribution networks (CDNs), while ensuring all operations -can also be run using local tools to maximize decentralization.
-Walrus's architecture ensures that content remains accessible and retrievable even when many -storage nodes are unavailable or malicious. Under the hood it uses modern error correction -techniques based on fast linear fountain codes, augmented to ensure resilience against Byzantine -faults, and a dynamically changing set of storage nodes. The core of Walrus remains simple, and -storage node management and blob certification leverages Sui smart contracts.
-This documentation is split into several parts. The first part provides an overview of the -objectives, security properties, and architecture of the Walrus system. The second part contains -concrete documentation on the usage of Walrus. At the end, we provide a glossary, -which defines key terms used throughout the project.
-Walrus is architected to provide a reliable and cost-effective solution for large-scale blob -storage, making it an ideal choice for applications requiring decentralized, affordable, durable, -and accessible data storage.
-This documentation is built using mdBook from source files in -github.com/MystenLabs/walrus-docs/. Please report or -fix any errors you find in this documentation in that GitHub project.
- -