The Helium hotspot uses an ECC608 security chip which generates and stores private keys for the hotspot. The private keys generated by the ECC are not accessible outside of the secure confines of the ECC hardware.
The Helium miner uses the ECC to generate and store the private key for the hotspot, and uses it as a signing service for transactions, blocks, identified network sessions, and encrypted network communication, among other things.
We had a number of reports from hotspot users that their hotspot animal names were changing after they'd staked their hotspot. Normal operation is for the miner to request the ECC to generate the hotspot keys just once on startup.
On inspection it turns out there is a condition where the miner will get the ECC chip to re-generate a keypair under the any error condition which is too broad of a check.
Since the ECC does not allow access to the private keys there is no way to recover the keys to the hotspot once this happens and the hotspot has to be re-added and location re-asserted on the blockchain.
The fix we're deploying only generates a key in the ECC when there is not already a key there. This should avoid erroneous key generation from happening again.
If your mobile app states that you do not own your hotspot with an animal name that isn't the original one, please contact support and we'll try to help set things right for the new hotspot keys.
Content
- Fix for miner to only generate new keys when there are no keys present. PR205
Deployment Plan
We'll plan a quick beta roll-out to ensure the firmware build went right and then release the firmware to all hotspots to help safeguard them potentially resetting their keys on a restart.