There are two types of Invalid Witness errors in Helium Mining. In this post we describe how to solve this problem as it’s one that occurs often.
What is Helium?
Helium is a network that connects IoT devices. Examples of these devices are dog tags, environmental sensors, bike trackers and more. It consists of gateway devices, miners or hotspots (all refer to the same thing) connected to one another over the internet. Data from IoT devices is transmitted to hotspots and then across the Helium network.
How to mine Helium
In order to mine Helium you need dedicated hardware called a Helium hotspot or miner. When they were first introduced miners cost about $200. When the price of Helium exploded into the stratosphere so also did the cost of miners – some costing $8000. These days they cost between $100 and $200.
There are many hotspot vendors including Rak, Nebra and others. The hotspot is like a Wi-Fi access point that is used to communicate with sensors and other hotspots. It is also connected to the internet over Ethernet or Wi-Fi.
Helium devices and the network are very new. Furthermore, the network is growing very rapidly and often runs into technical issue. A quick fix for many problems is to power down the hotspot and then to power it back on. This action should not be confused with resetting the hotspot or miner.
What is RSSI?
RSSI stands for Received Signal Strength Indicator. It is a measure of received signal power in Radio Frequency systems.
The RSSI depends on the frequency of operation, distance between the two hotspots, antenna gains, transmitted power and a number of environmental factors such as obstructions and fading. This range calculator can be used to find the RSSI in Helium systems under ideal conditions.
In Wi-Fi systems the higher the RSSI the better the performance. In Helium systems, the RSSI has to be within a specified range. Otherwise it will result in errors. The RSSI range is designed to prevent spoofing and people gaming the system.
Invalid Witness Errors
Invalid Witness: Witness RSSI too high
Every time a hotspot witnesses a beacon from another, a Helium validator will examine both received signal strength (RSSI) and the distance between the two miners.
It will then use the following information:
- the distance between the two hotspots
- antenna gains of the two hotspots
to estimate the strength of the received signals using mathematical formulas.
If the RSSI is higher than the estimate, Helium validator will declare the transaction as invalid. The witness is invalid because RSSI was higher than a reasonable threshold value. No HNT is awarded.
The reason for this is the miner transaction didn’t follow the laws of physics.
Here’s an example of such a transaction.
In the above, Helium has determined that for a distance of 42 km, the RSSI level cannot be that high – it should be lower. Since it does not make sense mathematically, it’s an invalid transaction.
- The location of one of the miners is incorrectly asserted. If both the transmitting miner and the receiving miner are yours, you can easily correct the location in the Helium app.
- If you’re using a high gain antenna, swap it out for one with lower gain or dBi. You could use the stock antenna that the miner shipped with
Invalid Witness: Witness too close
If a miner witnesses another in the same Hex that’s too close (like in the same or neighboring house) the transaction is invalid. Helium determines this based on the RSSI – when it’s above a threshold. See the transaction record below.
Here’s another transaction between two miners in the same Hex but unlike the one above, this one is valid.
Move the miners further away from each other if possible.
In this post we have described two Invalid Witness Errors and how to solve this problem.