How to Increase Reward Potential with PoET Servers
If someone asked me what I thought the coolest thing about Spacemesh was my answer would be PoET Servers. They keep track of time by performing Proof of Sequential Work (PoSW) and they are essential to the ‘Time’ part in Proof of Space Time. PoET Servers perform PoSW during PoET Cycles (also known as PoET Rounds), allowing them to prove that some amount of time has passed. During a predetermined time they stop performing PoSW during what is called a Cycle Gap. The PoET Cycle + Cycle Gap is always 2 weeks. During the Cycle Gap nodes will interact with the PoET Server twice:
First, they will query the PoET Servers to get a challenge that is used to generate a proof, allowing nodes to prove that they have the space they say they do.
Then during the registration window (typically the last hour of the Cycle Gap) the nodes will submit a challenge to the PoET Server. This essential starts the timer for the node so that it can prove next Cycle Gap it had its Space since the last Cycle Gap.
For most users, this is all done using the official Spacemesh PoET Servers, which run a 12 hour Cycle Gap and a Phase Shift of 240 hours. The Phase Shift is how far into an Epoch the Cycle Gap occurs. Since an Epoch is 336 hours (2 weeks), this means the official PoET Servers have a Cycle Gap 96 hours before the end of the Epoch.
You might be wondering why I’m explaining all of this. Well here in lies the magic of PoET Servers, both the Cycle Gap duration and the Phase Shift are configurable. Both of these come with huge benefits.
Cycle Gap Duration
The official PoET Servers run a 12 hour Cycle Gap. For most this means a limit of about ~6TB for their PoST data. Any longer and there is not enough time to read the data in 12 hours. Many Smeshers have gotten around this limit by running multiple HDDs. But this only goes so far as eventually your CPU will be the bottleneck, and once that happens you either need to upgrade your CPU, or run a second host. If you are willing to do that there is essentially no limit to how much PoST data you can run. However, if you ran a PoET server with a 24 hour Cycle Gap, you could run 12TB instead of just 6TB, essentially doubling the amount of PoST data you could run.
There are a few caveats to this. Since a PoET Server keeps track of time by doing PoSW, and the PoET Cycle + Cycle Gap is always 2 weeks, a PoET Server running a 24 hour Cycle Gap has 12 hours less time to measure time. During the PoET Cycle, when a PoET Server is performing PoSW, it is essentially counting (over simplification). Since a PoET Server with a 24 hour Cycle Gap has 12 hours less time to count, it has less ‘weight’. What this means for nodes using this PoET Server is that they will get slightly less rewards. We can calculate exactly how much less by dividing 12 by 336. This is 3.5%, which means if you use a PoET Server with a 24 hour Cycle Gap you will get 3.5% less rewards per TiB. Now this may seem like a raw deal, but consider this:
Let’s say with a 12 hour Cycle Gap you can proof 6TiB worth of PoST data. At the time of writing this, 1TiB earns about 20 SMH per Epoch, so the following would be true:
6TiB x 20 SMH x 1.00 rewards = 120 SMH
That is pretty good! But what if your HDD was actually 12TiB and you were only able to use half of it since that was all you could proof in time? Switching to a 24 hour Cycle Gap means you could use the entire drive, but you take a 3.5% hit to rewards. Let’s see how that plays out.
12TiB x 20 SMH x 0.965 rewards = 231.6 SMH.
As you can see, even with 3.5% hit to rewards, you are earning significantly more. This allows a home miner that wants to buy one large hard drive the ability to fully utilize it. There is one more caveat here, there are no official Spacemesh 24 hour Cycle Gap PoET Servers. You must use a community one. And since operating a PoET Server costs money, there is a fee to use a community PoET Server.
The concept of community run PoET Servers is still very new, and although there are plans to have in-protocol fees that will make paying for and using a PoET Server very easy, right now it’s a manual process for both operators and users. Furthermore, there is only one group of community run PoET Servers which is run by myself and another operator. However we are a friendly group and have a Discord you can join where we can help you onboard. The fees are also reasonable.
But wait! There’s more!
PoET Server Phase
What if you could have the best of both worlds? Use a 12 hour PoET Server AND use a 24 hour PoET Server? No you can’t get double the rewards by using the same PoST data on two PoET Servers (that is a quick way to get your PoST data invalidated and banned). But consider this, you have a 16TiB HDD and decide to use 12TiB of it to run on a 24 hour PoET. What do you do with the rest of the space? You could create another set of PoST data, but trying to proof two sets of PoST data on a single drive would be impossible since trying to read two sets of PoST data while proofing would be too slow. This is where the magic of Phases come in. As shown above, the official 12 hour PoET Servers run a Phase Shift of 240 hours, which means their Cycle Gap closes 96 hours before the end of the Epoch and runs for 12 hours. But a PoET Server can configure it’s own Phase Shift, so if the 24 hour PoET Server set their Phase Shift to say 288 hours, the Cycle Gap would start 48 hours AFTER the official PoET Servers running a 240 hour Phase Shift.
What this means is that if you have a 16TiB drive, you could partition it 75% (~12GiB) and 25% (~4GiB), then during the official PoET Server Cycle Gap, you proof the 25% and during the 24 hour Cycle Gap which would occur 48 hours after the official Cycle Gap, you proof the 75%. This might be a bit complicated so here is a visual:
The first line is the 2 week Epoch. I show only part of Epoch 1 just to represent that this is a continious cycle, but focus on the blue part. In the second row (orange) is the timeline for the official Spacemesh PoET servers using a 240 hour Phase Shift which means it completes its Cycle Gap 96 hours before the end of the Epoch and a 12 hour Cycle Gap represented by the green block. The third row (red) is a PoET Server with a 288 hour Phase Shift which means it completes its Cycle Gap 48 hours before the end of the Epoch and a 24 hour Cycle Gap represented by the purple block.
As you can see the 12 hour Cycle Gap does not overlap with the 24 hour Cycle Gap. So if you have a 16TiB drive with 2 partitions as explained above, you can run 2 nodes with each node using a different PoET Server. Your 25% partition uses the Official Spacemesh PoET Server and your 75% node uses a community PoET server with a 24 hour Cycle Gap and different Phase Shift than the official PoET Server.
Now you can fully use the 16TiBs significantly increasing your reward potential. Given enough PoET servers with different Phase Shifts you could run more disks and use more PoET Servers to further increase your rewards. This is the beauty of PoET Servers. Even with less rewards per TiB, and the fee for using a community PoET Server, the benefits for those that want to use large drives are significant. And the best part is you can start doing this now! One final shameless plug for Team24 PoET Servers, if you are looking to join or operate a 24 hour PoET Server join our discord: https://discord.gg/rwths9Xt