Cluster Rewarding Node Setup
We are pleased to announce the release of the cluster rewarding system. Cluster rewarding is our side project to help reward IPFS storage before PoA rolls out on mainnet. Don't underestimate the power of it though! Cluster rewarding distributes votes out to participating node operators every day. This means liquid HIVE rewards being generated no different than any other blog post.
If you are just interested in setting up a node, please scroll down to the section labeled "the guide"
Why should I run a node?
Operating a node helps store more 3Speak videos redundantly
By operating a cluster rewarding node, participants contribute to the redundant storage of 3Speak videos, helping to ensure their availability even if 3Speak goes down. This helps to increase the resilience and reliability of the 3Speak network.
The cluster rewarding nodes contribute to the availability and redundancy of 3Speak videos by storing redundant copies of videos. This ensures that even if some nodes go offline or experience technical issues, there are multiple copies of the videos distributed across the network, increasing the overall availability and reliability of the content for users.
Helps desktop app users pin videos:
Cluster rewarding nodes play a crucial role in helping desktop app users to pin videos. When users pin a video, it ensures that the video is stored locally on their device, making it readily available for playback even when offline. Cluster rewarding nodes contribute to the availability of videos by storing redundant copies of videos, increasing the chances of videos being successfully pinned by desktop app users. This is especially important for 3rd world countries where the closeness of storage nodes makes a huge difference in performance.
Paving the way for the rollout of PoA mainnet
The cluster rewarding nodes contribute to the preparation for the rollout of the PoA mainnet by allowing people to predownload all of 3Speak IPFS content. IPFS is a distributed file system that allows content to be stored and retrieved in a decentralized manner. By predownloading 3Speak IPFS content, cluster rewarding nodes help in creating a distributed and redundant network of content storage, which plays an important role when PoA mainnet goes live.
Decentralization & Scaling
Cluster rewarding nodes play a vital role in supporting the decentralization and censorship resistance of the 3Speak network. By storing redundant copies of videos and contributing to the distribution of content across multiple nodes, cluster rewarding nodes reduce the risk of single points of failure and increase the resistance to censorship attempts.
The operation of cluster rewarding nodes contributes to the growth and scalability of 3Speak's infrastructure. By providing additional storage capacity, redundancy, and content distribution, cluster rewarding nodes help in accommodating the increasing demand for IPFS storage. This contributes to the network's ability to scale and handle larger volumes of content and users, ensuring its sustainability and long-term success.
Daily reports & Rewarding
Each cluster rewarding node generates daily a daily report that includes some basic stats about the storage nodes. Each report serves as a transparency measure, allowing network participants to monitor the performance of their nodes and ensure the integrity of the network. Our verification node will verify that report and distribute HIVE upvotes accordingly.
Rewards will take a period of time to be accurate. This is due to the rapidly changing statistics calculation during the days following initial node setup. After about 5-7 days rewards should start to stabilize. This does not mean rewards will stay constant, rewards are subject to external and internal factors such as competition, plus total node storage and uptime.
At present there are 3 100% upvote slots available. Meaning we will give out 3 upvotes with 100% reach. However, those 3 slots are competed for by other nodes. If a node only stores a small percentage of the network or fails verification checks, then smaller votes will be given out to the lower performing node. This is designed to force nodes to compete for network dominance by storing the most amount of data. Keep in mind this is subject to change as we make adjustments to the rewarding process.
As part of the verification process, a DHT (Distributed Hash Table) search verification check is performed by our verification node. If 25% of the expected records are found, the node receives a 100% score. If the number of records found falls below 25%, the node's score is cut off by totalPercent / 25%. This verification check helps ensure the accuracy and integrity of the data stored by the nodes in the network.
The guide
Now that you know a bit about why this exists in the first place + more technical details, we will go into details on how to setup a node.
Requirements
This is fairly important as running a node on non optimal hardware will result in little to no rewarding taking place.
Recommended storage of at least 1TB, ideally 8TB+
To effectively participate in the cluster rewarding system, it is recommended to have a minimum of 1TB of storage capacity. Ideally, a storage capacity of 8TB or more is preferred to maximize the node's contribution to the network and increase the potential rewards.
Minimum requirements:
- CPU: i3-4370 or better
- RAM: 16gb or better
- Storage: read above
Home internet connections can be used, but they must be fast and stable. It is recommended to have a connection that is either fiber or coaxial cable, to ensure smooth operation and reliable performance of the node. Please note on some residential ISP equipment IPFS can cause major problems. Deactivate the node if you experience internet instability shortly after startup.
Installation
apt update
apt install -y git docker docker-compose
git clone https://github.com/spknetwork/cluster-rewarding
cd cluster-rewarding;
Now you need to create a file named .env in the cluster-rewarding folder with the following values:
HIVE_ACCOUNT=insert your username without
HIVE_ACCOUNT_POSTING=insert your posting key
# Don't change
PARENT_REPORT_ACCOUNT=threespeak.beta
Note: Incorrect .env file will lead to improper setup.
docker-compose up -d
For turning off the node only
docker-compose down
Docker will automatically build and start the container. From there your node will start pinning videos automatically from 3Speak. Rewards should start to be distributed after about 1-2 days of operation.
Note: this is beta software. If you run into issues please contact us on discord. Any feedback is much appreciated to help us improve the cluster rewarding software.
In conclusion, cluster rewarding nodes enable quick and efficient distribution of content, provide redundancy in case of platform downtime, and empower the community to participate in the storage process. Operating a cluster rewarding node not only contributes to the robustness of the platform but also offers rewards to the node operators. With the potential for predownloading all of 3Speak IPFS content, cluster rewarding nodes also pave the way for the future rollout of PoA mainnet.
~~~ embed:1649690991589302274 twitter metadata:Mjc3MDY0MzZ8fGh0dHBzOi8vdHdpdHRlci5jb20vMjc3MDY0MzYvc3RhdHVzLzE2NDk2OTA5OTE1ODkzMDIyNzR8 ~~~
~~~ embed:1650007189862645761 twitter metadata:MTY0NzcwMTAwMTg3OTgzMDUyOHx8aHR0cHM6Ly90d2l0dGVyLmNvbS8xNjQ3NzAxMDAxODc5ODMwNTI4L3N0YXR1cy8xNjUwMDA3MTg5ODYyNjQ1NzYxfA== ~~~
~~~ embed:1650477146480193536 twitter metadata:MTY0NzI5MzE1NDMyMjc3NjA2Nnx8aHR0cHM6Ly90d2l0dGVyLmNvbS8xNjQ3MjkzMTU0MzIyNzc2MDY2L3N0YXR1cy8xNjUwNDc3MTQ2NDgwMTkzNTM2fA== ~~~
The rewards earned on this comment will go directly to the people( @threespeak, @seckorama, @muneeb66, @hiro-hive, @zeshan120, @technologix ) sharing the post on Twitter as long as they are registered with @poshtoken. Sign up at https://hiveposh.com.
https://leofinance.io/threads/@seckorama/re-leothreads-35lcqs6v2
https://leofinance.io/threads/rmsadkri/re-leothreads-2xvxtpxro
The rewards earned on this comment will go directly to the people ( seckorama, rmsadkri ) sharing the post on LeoThreads,LikeTu,dBuzz.
Is there a non dockerized version as well?
So upload speeds of around 40mbps will work? That's what I generally see on coax. Will users be directly streaming content off our nodes, or do we just host another copy that can be pulled into the main 3speak node for viewing?
Yes, we don't have a guide for that yet, but I've personally been running it non dockerized for now. Though, make sure that nothing else is using the non dockerized IPFS's IPNS address. Otherwise we cannot lookup your nodeID --> Hive account
Upload speeds of 40mbps will be fine. This is mainly for longterm redundant storage. We will handle all the "hot" storage & streaming to end users.
Cool, might look into running this at home or in the DC. Is all content distributed or only a subset of users? I'm in the US(as are the DCs I primarily use) and so storing content illegal in the US would be pretty bad, especially if it happens multiple times.
It's everything that's on the cluster and automatically starts pinning. However, anything that is illegal in the US/EU will get unpinned from our cluster by us. Though, that is an important topic for us to discuss
I assume I'd be able to unpin from just my node in the cluster and not affect the rest, correct?
Somewhat correct. If you manually unpin it'll get removed but ipfs-cluster software can go in and attempt to repin if it detects it's gone. Though, I'm not actually sure how often the checks are done if at all.
(I'm operating my node in the US so I am in the same position as you here)
How much bandwidth have you used with your node so far(and what's its capacity)?
Right now pulling about 500GB/day but a lot of that is P2P overhead. Total capacity of my machine is 20TB. I intend to only let IPFS use 6-8TBs of it. We will see though. The total amount of data on the cluster is around 8TBs iirc.
Ohhh, that's quite a bit. Running at home is out then lol. Xfinity will kill me if I pull in 15 TB/month. Very resonable amount for a machine at the DC tho.
Arguments for running a cluster rewarding node:
Redundant storage of 3Speak videos: By operating a cluster rewarding node, participants contribute to the redundant storage of 3Speak videos, ensuring their availability even if 3Speak goes down. This helps increase the resilience and reliability of the 3Speak network.
Helps desktop app users pin videos: Cluster rewarding nodes play a crucial role in helping desktop app users to pin videos. Storing redundant copies of videos increases the chances of successful pinning by desktop app users, ensuring that the videos are readily available for playback even when offline.
Preparing for the rollout of PoA mainnet: Cluster rewarding nodes allow people to predownload all of 3Speak IPFS content, creating a distributed and redundant network of content storage. This is important for the future rollout of PoA mainnet, which relies on a decentralized storage system.
Decentralization and scaling: Cluster rewarding nodes support the decentralization and censorship resistance of the 3Speak network. By storing redundant copies of videos and distributing content across multiple nodes, they reduce the risk of single points of failure and increase resistance to censorship attempts. Additionally, cluster rewarding nodes contribute to the growth and scalability of 3Speak's infrastructure by providing additional storage capacity, redundancy, and content distribution.
Daily reports and rewarding: Each cluster rewarding node generates a daily report that serves as a transparency measure, allowing network participants to monitor the performance of their nodes and ensure the integrity of the network. Rewards are distributed based on the verification of these reports, incentivizing node operators to maintain and improve their performance.
Arguments against running a cluster rewarding node:
Hardware requirements: Running a cluster rewarding node requires optimal hardware, including a recommended storage capacity of at least 1TB (ideally 8TB+), CPU, and RAM. This may be a barrier for individuals who do not have access to or cannot afford such hardware.
Internet connection stability: Stable and fast internet connections, preferably fiber or coaxial cable, are recommended for smooth operation and reliable performance of the node. Some residential ISP equipment may experience problems with IPFS, causing internet instability shortly after startup.
Uncertain rewards: While rewards are distributed to node operators, the accuracy and stability of rewards may take time to stabilize and are subject to external and internal factors such as competition, total node storage, and uptime. This uncertainty may discourage some individuals from running a cluster rewarding node.
Competition for upvote slots: Only 3 upvote slots with 100% reach are available, and these slots are competed for by other nodes. Smaller votes may be given to lower-performing nodes, incentivizing nodes to compete for network dominance by storing the most amount of data. However, this process may change as adjustments are made to the rewarding process, leading to potential changes in rewards.
Verification process and potential score cuts: The verification node performs a Distributed Hash Table (DHT) search verification check on the expected records stored by the nodes. If the number of records found falls below 25%, the node's score is cut off by a certain percentage. While this check ensures the accuracy and integrity of the data stored, it may also impact the rewards and performance of nodes.
Congratulations @threespeak! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 2500 replies.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out our last posts:
Support the HiveBuzz project. Vote for our proposal!
I've also got a question for rewards. Since they are distributed via upvotes, how is that handled for users who don't post(ex me, I sometimes comment but that's it) at all?
The software auto makes a comment everyday under the parent post we create. After the validation checks are done, the comments get upvoted by our account.
Any plans for liquid rewards in the future?
SPK Network PoA mainnet. For now hive rewards will suffice
Could be done via reward.app delegation for liquid payout? a setting in the .env like: liquid-rewards, yes or no
Regarding the Storage - Is it ok to have just HDD Storage on a Server or does it need to be SSD Storage which would be then a solution for a custom pc / work server at home.
Good idea! Will make note of it!
HDD server is fine. For larger setups with multiple drives I'd suggest using ZFS with SSD caching. The more IOPS the better typically, but you can get away with lower end setups since this is all backup storage anyway.
Great! Let's get going full speed ahead. I'll auction a dedicated server and set it up. Hetzer has some 40TB server slots opening up all the time.
I'd hope not everyone goes Hetzner so that way the content is actually distributed. It's one of my biggest dislikes of Hive/Hive-Engine nodes, how concentrated they are at Hetzner(though, their pricing makes it hard for people to choose others).
Really? That means there are a lot of nodes in central Europe, I don't think they are that prominent outside of this region.
I'd pulled the list of peers that my Hive node was connected to in the past and here is where they were hosted at:
Hetzner Online GmbH 71 OVH SAS 14 Privex Inc. 13 Contabo GmbH 7 SK Broadband Co Ltd 4 CLOUDFLARENET 2 AMAZON-02 2 Linode, LLC 2 Online S.a.s. 2 CONTABO 1 ULTRADDOS 1 xneelo 1 Proximus NV 1 CLOUDSINGULARITY 1 V tal 1 TIER-NET 1 DIGITALOCEAN-ASN 1 Cityfibre Limited 1 HURRICANE 1
And 14 out of the top 20 Hive-Engine witnesses are hosted at hetzner as well. Definitely need to diversify it a bit.
Wow, that is wild, but they are good with dedicated Hardware for sure. My first priority was to get a system and not only a cloud performance and then storage size. Costs for the same system can range from 100$-500$ Dollars a month.
Yea, Hetzner is cheap(other than adding disk space, that gets real expensive at hetzner) and has performant machines.
Having tons of problems running the Software on Hetzner so far, should really turn my back on it.
But you're right, that is Head heavy, I need to reconsider.
We (3Speak) use Hetzner for one of our storage nodes. Please less Hetzner & privex to be honest.
I just started a test node with 2tb in azure, how can I check if it is working and if I configured it well?
Hey, are you in the spk network discord server?
yeah, IF-Chocolatoso#3218