Walrus Overview
This article presents basic info about Walrus and its major entities.
Walrus is a decentralized storage and data availability protocol developed by Mysten Labs. It is designed to handle large binary files and unstructured data, such as media files or datasets, using a network of storage nodes. Integrated with the Sui blockchain, Walrus ensures high availability and fault tolerance through erasure coding, making it a cost-effective and reliable solution for decentralized storage needs. It also supports hosting decentralized websites and applications, enhancing the Web3 ecosystem.
Consensus
The Walrus protocol uses a delegated proof-of-stake (DPoS) consensus mechanism. In this system, WAL token holders delegate their tokens to trusted validators who are responsible for maintaining the network and validating transactions. This approach ensures efficient and secure consensus while allowing for scalability and high throughput. Additionally, the Sui blockchain acts as a coordination layer, managing the global state and metadata to support Walrus’s operations. FROST is the minimal coin unit in Walrus.
Epoch
Like with Sui, the Walrus protocol operation is broken down into epochs, and likewise they last 24 hours. Epochs play a crucial role in managing the decentralized storage network:
- Reconfiguration of Storage Nodes: during each epoch, the protocol reconfigures storage nodes to ensure that data remains available and secure over long periods,
- Staking and Rewards: the WAL token is used for staking, and rewards are distributed based on the performance and reliability of storage nodes during each epoch,
- Governance: key system parameters, including pricing and payments for storage, are governed and adjusted at the beginning of each epoch.
Blobs
Transactions that run on Sui (or potentially any other L1 or L2 chain) end up in objects stored in Walrus in the form of blobs. Each blob on Walrus is associated with the corresponding object on Sui. Each blob is further broken down into slivers. Each sliver is distributed across different storage nodes in the network, which is called sharding. To reconstruct the original blob, only a subset of the slivers is needed.
Users and dApps can write blobs to store data. Writing transaction takes two operations: registration and certification. Blobs are stored for 2 years, and within this period, the data they contain can be read at all times. At any time or when it expires, a blob can be deleted from the storage.
Events
Each operation ends up in an event. Events are namely the result of running a transaction or part of it. They notify of the fact that something important happened on-chain, for instance, a data blob has been registered, certified, or deleted. This can be useful for building dApps, using web-hooks, sockets, and notifications.
Nodes
The Walrus protocol, a decentralized storage system, utilizes different types of nodes to ensure efficient and reliable data storage. Here are the main types of nodes involved:
- Storage Nodes: these nodes are responsible for storing blobs. They ensure high availability and reliability of the stored data, even in the presence of faults.
- Publisher Nodes: these nodes handle the initial upload and distribution of data across the network. They ensure that data is properly replicated and distributed to storage nodes.
- Aggregator Nodes: these nodes collect and organize data from various storage nodes, making it easier to retrieve and manage large datasets.
- Content Delivery Nodes: these nodes focus on delivering data to end-users efficiently. They optimize the retrieval process to ensure quick and reliable access to stored content.
Staking
Staking on Walrus is essential for the network’s operation and governance. For operators, staking WAL is a way to earn on Walrus. Participants who stake their WAL tokens can earn rewards. To become a storage node operator, one must stake WAL tokens. The Walrus protocol uses a delegated proof-of-stake (DPoS) consensus mechanism. In this system, WAL token holders delegate their tokens to trusted validators who are responsible for maintaining the network and validating transactions. This approach ensures efficient and secure consensus while allowing for scalability and high throughput. Staking WAL tokens also grants holders voting rights in the network’s governance. Besides, staking helps secure the network by incentivizing fair play and discouraging malicious behaviorю
Governance
WAL token holders can participate in governance by voting on proposals that affect the network. These proposals can include changes to protocol parameters, upgrades, or other significant decisions. The voting power of each participant is proportional to its stake.
An independent Walrus foundation supports the advancement and adoption of the protocol. This foundation plays a role in governance by fostering community participation and ensuring that the network evolves in a way that benefits all stakeholders. The governance model of the Walrus protocol is designed to be inclusive and decentralized, allowing for broad participation and ensuring that the network can evolve in a way that meets the needs of its users and stakeholders
Glossary
Below are some critical terms and definitions used in the Walrus protocol:
Glossary
Aggregator - a service that reconstructs blobs by interacting with storage nodes and exposes a simple HTTP GET endpoint to end users,
Blob - a single unstructured data object stored on Walrus,
Cache - an aggregator with additional caching capabilities,
Certificate of Availability (CoA) - a blob ID with signatures of SNs holding at least (2f+1) shards in a specific epoch,
Expiry - the end epoch at which a blob is no longer available and can be deleted,
Point of Availability (PoA) - a point in time when a CoA is submitted to Sui and the corresponding blob is guaranteed to be available until its expiration,
Publisher - a service interacting with Sui and storage nodes to store blobs on Walrus offering a simple HTTP POST endpoint to end users,
Storage Node (SN) - an entity storing data for Walrus that holds one or several shards,
Shard (disjoint)- a subset of erasure-encoded data of all blobs; at every point in time, a shard is assigned to and stored on a single storage node,
Sliver - an erasure-encoded data of one shard corresponding to a single blob for one of the two encodings containing several erasure-encoded symbols of that blob but not the blob metadata,
Storage Epoch - an 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.
Updated about 2 months ago