Rulebook for Stratos Decentralized Storage Node Runners
Stratos Decentralized Storage (SDS) is one of the vital components of the Stratos network, which consists of hundreds of thousands of Resource nodes. These Resource nodes play a crucial role in securely and anonymously storing users’ original data across multiple nodes, operating independently of each other. Metanode is the leader of a cluster that manages and coordinates all the Resource Nodes in a region. Metanodes do not retain any of the users’ original data except for routing, task, verification and traffic data. Here, we’ll outline a few essential guidelines for Resource Node operators.
When a Resource node uploads a file to the network, you have the option to designate a specific tier, such as choosing storage on Tier 1, 2, or 3. Alternatively, you can opt for a flexible tier, allowing higher tiers to store your file as well.
When you specify Tier 1 and make it flexible, a partial of your file could be stored on tier 1, 2 or 3.
If you specify tier 2 and make it flexible, a partial of your file could be stored on tier 2 or 3.
If you specify tier 3, your file will exclusively be stored on tier 3 because tier 3 is already the highest tier.
Then, based on the file size, the Metanode will select a subset of the resource nodes to handle according to the rules.
The file is separated into 10 slices
There are 100 available Resource nodes managed by the Metanode to which your resource node is connected.
So there are 32 Resource nodes that will be added to the subset.
The metanode will then calculate the weight of each node in the subset.
Subsequently, the metanode will randomly select a node whose weight is higher than a random number. Thus, the higher the node’s weight, the higher the chance the node will be selected. This selection process continues until the target number of nodes is selected.
Weight is higher when the distance between the resource node IP and the uploader IP is larger
Weight is higher when the resource node score is higher
The same rules apply to file backup as file upload.
The download rule is very straightforward: when you request to access a file, the Metanode you are connected to will return you with a list of Resource nodes that stores the specific file slices you request.
Since your file slices might be stored across nodes in different tiers, there are weights for each tier for you to request the file slices.
If you request a small file which is only 1 slice, and this slice is stored on tier1, tier2 and tier3, 3 Resource nodes. So the possibility percentage from each tier you access the slice is approximately :
The higher tier has a much higher chance of being selected as the resource data provider and generating more traffic than lower-tier nodes.
The Resource node has a scoring mechanism to present its stability and work quality.
Each tier score range is 0~10000
The start score after registering for each tier
INIT_WEIGHT_SCORE_START = 2000
The start score after upgrading from lower tier to higher
UPGRADE_WEIGHT_SCORE_START = 2000
The start score after downgrading from higher tier to lower
DOWNGRADE_WEIGHT_SCORE_START = 8000
The initial activated tier is the highest tier for a node to upgrade to. Deposit more tokens will not increase this initial activated tier.
Status Report Score
Resource node earns 1 score for each successful report to Metanode every 5 minutes
DEFAULT_REPORT_SUCC_STEP = 1
Resource node loses 4 scores for not reporting to Metanode in 5 minutes
DEFAULT_REPORT_FAIL_STEP = 4
- After a new Resource node is registered, the score is 2000, but the threshold for accepting the upload task is 2030, so the new Resource node needs to wait 150 minutes (5 minutes X 30 score) to warm up (prove itself is stable enough to accept the tasks)
- This setup means a node is considered stable if they are online to report status upon 80% of the time.
Any successful task will increase the resource node score.
- Finishing uploading task as the destination
- Finishing backup task as the destination
- Finishing transfer task as source or destination
Any failed task will decrease the resource node score.
- Failing uploading task as the destination
- Failing backup task as the destination
- Failing transfer task as source or destination
Uploader/Downloader continuous failure will be blacklisted in Metanode and charge Ozone.
As an SDS node operator, keeping your node in good status is important not only for yourself but also for the entire Stratos network. We firmly believe only healthy SDS nodes can keep the entire network highly available and perform optimally. We hope the outlined guidelines for SDS nodes equip you with the knowledge to run your node effectively.