This is a general explanation of how gamers are stealing HNT on the network. This is not a “how to”. Most of us putting up Helium Hotspots have no idea how the system works. It can feel frustrating to be cheated and not understand it. Let’s go through a few of the more common methods. These methods are getting easier for Helium Inc (and the community at large) to detect, but are still very difficult to stop with a set of programmatic rules in the code.
Before you go howling that I’m “giving away the keys to the castle”, please know I have run this by various experts. There’s nothing in here that is top secret or will give gamers an advantage.
Let’s start with what cheaters target, which is Witness rewards. A Hotspot earns HNT based mostly (~75%) on how often it Witnesses Beacons. This is documented over on Helium’s blog, here.
The obvious incentive is to Witness as much as you can. Most of us do that by getting our antennas in the right location and up high to provide awesome coverage, often at considerable expense and effort. Some members of the community cheat. Here’s an example of a blacklisted Hotspot’s witness reward breakdown (courtesy of the Hotspotty app for the visual).
Now, to be clear, just because a Hotspot is earning a huge amount of rewards from Witnessing doesn’t automatically mean it’s cheating. It’s just one of a few warning signs.
In contrast, here’s a more normal breakdown of what rewards look like.
Gamers cheat in 3 main ways: Attenuation, Witness Stuffing, and Supplementary Witnessing. Those can also be split into Hardware and Software hacks. Hardware hacks are ones using hardware, like an attenuator, or antenna trickery. Software hacks exploit changing the communication (manipulating the metadata) between the packet forwarder and the miner.
Yep, I’ma explain all this. Let’s start with Attenuation, which is a hardware cheat.
The validity of a beacon is determined by comparing the strength of the beacon as received to what it should have been theoretically. If the output power of the radio is known, (the native radio power output minus the cable loss plus the antenna gain) it’s a straightforward equation to calculate what the signal strength should be on the receiving end.
So, how do you cheat that? One of the most common ways is to use hardware. You put multiple hotspots in a room and attach “attenuators” to their antennas. Attenuators decrease the signal by some known amount; say 1 dB, or 5 dB, or 10 dB etc. Gamers will falsely assert where the hotspots are, calculate what the received signal strength should be at that distance, and attach an attenuator to the antenna to produce that result.
It’s fairly simple to do at scale, and with a few technical bits of wizardry to cloak the location of the hotspot, difficult to stop. It’s not, however, difficult to SEE. In order for all the hotspots in the room to receive the “correctly altered” signals, they need to be placed at unusually regular distances from each other on the map. You’ve seen that if you’ve ever looked at Helium Explorer maps and seen “too perfect” deployments.
This was the biggest problem Helium Inc (NOT the Helium Community at large) had to solve when they moved unilaterally and in secret in order to deny thousands of Hotspots HNT who were clearly gaming with this technique. Helium Inc could see it, but they felt the community couldn’t move fast enough to stop it. The ethics of that are (and are being) hotly debated. For now, let’s just focus on the cheaters.
The second cheating method is known as Witness Stuffing. This is a software cheat. It’s where you take a group of Hotspots that are all in the same general area and share all of the Beacons any of them Witness between them. In essence, when any one of them Witnesses a Beacon, it turns around and “stuffs” that same beacon into the rest of the group of Hotspots. The rest of the group doesn’t have to actually Witness that beacon in order to earn from it.
That multiplies the power of one Witnessed Beacon.
Remember, if a Beacon is Witnessed by more than 18 hotspots, the rewards are randomly assigned to only 18 Hotspots out of that group. A Hotspot can only get rewarded one time per Beacon Witnessed. In this case, the cheater is increasing the chance that one of the Hotspots it’s connected to will be in that group of 18 winners.
A cheater can “juice this up” by placing extra packet forwarders, not Hotspots, to report even more beacons. A packet forwarder is the radio part of the hotspot (as opposed to the computer, or miner part) of the Hotspot. By using packet forwarders to share duplicated Witnessed Beacons, the gamer is running a variation of witness stuffing. It’s a very clever move, gives a clear advantage, and is completely dishonest.
As a point of clarification, just using multiple packet forwarders doesn’t make you a cheater. There’s not ultra clear direction yet on this from Helium. For now, I’d consider the following to be cheating:
1) Using packet forwarders to stuff copies of packets into miners
2) Using multiple hotspots per packet forwarder to stuff packets into miners.
That brings us to a similar grift, which is Supplementary Witnessing. In this case, you have multiple Hotspots hooked up to one well placed antenna. Through the use of radio geekery to manipulate the signal strength, you take any signal received from that antenna and “report it twice”, once to each Hotspot.
Remember that only 18 Hotspots can earn from a beaconed packet. If 50 hotspot Witness a packet, only 18 will get rewarded. If you can “supplement” your chances to witness that packet by adding an extra Hotspot into that potential winners group, you can cheat a true provider of coverage out of their rightful chance to earn HNT.
This method allows both (or all) Hotspots connected to the antenna the chance to earn rewards. This is sometimes referred to as “buying extra tickets to the raffle.” In addition to stealing by adding unfair probability to earning more HNT for a given antenna placement, it’s not useful to the Network. That’s because two Hotspots hooked to one antenna provide duplicate coverage.
Keep in mind, “duplicate” is not the same as “redundant”. Duplicate is an EXACT match. Redundancy is a backup. An example of redundancy is you and your neighbor a block away are both providing coverage. That coverage is slightly different, but overlapping. If one of you goes down, the other can cover, but you get rewarded for providing your own unique coverage.
Duplicate coverage is using two machines to do the job of one. It’s a waste of resources and sucks HNT unfairly out of the reward pool.
So, those are the big 3 ways gamers have been cheating. None of them are difficult for experts to see, but they can be very difficult for the community to stop. This is, in part what HIP 40 is about; making up a list of cheaters that the community agrees on, and stopping those cheaters from earning. It won’t be perfect, but it’ll be an excellent step in the right direction of a robust Network, able to properly reward good actors and punish bad ones.
There are other HIPs being developed to stop gaming, check out HIP 42 and HIP 44. The DeWi Foundation is extremely interested in combatting gaming and has enough money to buy several small countries AND pay you to fix gaming. If you’re an anti-gaming wizard, or a former crook who’s ready to put your skills towards useful construction, consider applying for a grant.
If you’d like to watch a video of gaming experts discussing the HIPs mentioned above, we recorded a live session here. Keep in mind this was recorded right before the existence of a denylist was made public, and that denylist had NOT been shared with these experts. Helium Inc kept it top secret, probably to the detriment of the efforts to stop gaming.
The attempt to stop gaming is one of cat & mouse. We’ll never hem ’em all up, but we can keep it to a tolerable level if we work together. If you’d like to report a suspected cheating hotspot, head over to suspots.com and keep the spotlight on ’em!