Off-Chain Proof-of-Coverage is Live!

Helium Foundation
Helium Foundation
Published in
6 min readFeb 3, 2023

--

The Helium Core Developers are excited to announce that Off-Chain IOT Proof-of-Coverage (PoC) is officially live! Activation took effect on February 2nd at 08:00 AM PST/4:00 PM UTC. The team extends heartfelt thanks to Validators for enabling Off-Chain Proof-of-Coverage.

Off-Chain PoC has been many months in the making and is an essential step in the implementation of HIP 70. Off-Chain PoC is also an important step in increasing the network’s usability and scalability and should have immediate benefits to Hotspot owners, who can expect more reliable Beacon events than ever before.

The Off-Chain PoC activation was largely successful, and there were no halts to the chain. A few issues were initially found and will be remedied by the Helium Core Developers over the next few days. The issues are explained in detail at the end of this blog.

What is Off-Chain Proof-of-Coverage?

Off-Chain Proof-of-Coverage is a new way for IOT Hotspots to participate in Proof-of-Coverage. Previously, Proof-of-Coverage challenges were created by Validators and then delivered to Hotspots as requests to Beacon. This process was random and unpredictable with small time scales. On average, a Hotspot could expect to receive a challenge once every couple of days.

Under Off-Chain PoC, Hotspots will automatically Beacon on their own. To start, they will Beacon every 6 hours.

What happens to Challenger Rewards?

Validators were previously awarded Challenger Rewards for creating Proof-of-Coverage challenges. Under Off-Chain PoC, these rewards are now redistributed to Hotspots as part of the Proof-of-Coverage pool. This means the 0.85% of overall HNT rewards that went to Validators will now go to Beaconing and Witnessing. This makes rewards more reliable, and day-to-day fluctuations should be smaller.

How is this “Off-Chain,” and what does that mean?

The initial request and processing of challenges are now entirely off-chain and handled by Oracles. Oracles are powerful machines that ingest completed challenges, verify challenges, witness validity, then inject the results back into the Helium L1 blockchain for rewards to be issued. Oracles interact with data and systems outside of a native blockchain environment, providing a solution to a fundamental limitation of smart contracts.

Why are Oracles better for the network?

Under On-chain PoC, Validators must validate all PoC events — a resource-intensive process — which prevents IOT Hotspots on the Helium Network from beaconing more than once every few days. Off-chain PoC moves this responsibility to dedicated services called Oracles, where the processing can be completed much more efficiently and at scale. By using Oracles to do the processing, the Helium Network can increase the Beacon rate.

How does this change Rewards?

Hotspot owners can expect their Hotspot to Beacon more often, but overall, daily HNT emissions for participating in Proof-of-Coverage will remain the same. As Proof-of-Coverage beacons will be more consistent, Hotspot earnings should also become more consistent. Rewards may go up, but only very slightly, due to the redistribution of Challenger rewards back into the Hotspot PoC pool.

It is also important to understand that Off-Chain PoC increases the rate of Hotspot Beacons dramatically, which decreases the rewards given to any single Beacon and its Witnesses but makes up for any overall difference in rewards by happening much more frequently. Off-Chain PoC is designed to deliver the same earnings as has been experienced with PoC thus far. You may notice some inconsistencies with earnings while Off-Chain PoC is implemented, but the developers will continue to fix any issues with it until the intended goal of Off-Chain PoC is reached.

Do Hotspot owners need to take any action for Off-Chain Poc?

The benefits and activation of Off-Chain PoC will require no action from Hotspot owners. Hotspots running miner version 2022.12.13.0 or later will transition to Off-Chain PoC automatically.

All Hotspot manufacturers have had advance notice of these upgrades and have issued updates accordingly.

Important Note about Minimum Hotspot Firmware Version

Each Hotspot manufacturer writes and maintains a base firmware for local dashboards, app communication, and other purposes.

The Helium Core Developers write and maintain the miner firmware (aka “Hotspot Firmware”), which routes packets from the radio and communicates with the Helium blockchain.

A miner firmware update was given to all Hotspot manufacturers on December 13, 2022, regarding the importance of pushing the update to their fleets in preparation for Off-Chain PoC.

The Helium Foundation informed all Hotspot manufacturers that failure to update the miner firmware would stop Hotspots from mining and participating in Proof-of-Coverage when Off-Chain PoC is activated.

If you see a Hotspot Firmware version older than 2022.12.13.0 and your Hotspot has stopped mining, reach out to your Hotspot Maker. Only they can push out firmware updates to your Hotspots.

No one in the Helium Community or the core developers will be able to help resolve this issue.

Implementation over the next few days

Over the next few days, and even up to a week, you can expect Core Developers to be working out any issues in the new code. This is normal in launches as significant as Off-Chain Proof-of-Coverage. Core Developers from across the ecosystem are working around the clock to ensure the chain continues producing blocks and that PoC is working as expected.

Known Issues as of February 2nd, 2023

Beaconing Spreading Factors (“SF”): At 5:00 PM UTC, during the deployment of Off-Chain Proof-of-Coverage, the Helium Core Developers noticed a bug within the code that chooses the parameters for PoC Beacons. Instead of dynamically choosing a Spreading Factor for the Beacon based on a Hotspot’s LoRaWAN region and Beacon packet size, the new code unintentionally hard-codes the Spreading Factor, moving this from a dynamic factor based on region to a static one. Moving forward, the Core Devs will maintain the PoC variable activated today and publish a new firmware update requiring Makers to act upon it. This will return the code to the dynamic Spreading Factor settings that were used prior. Makers will have a build they can deploy to fleets in 24 hours after testing on Dev Net.

Self Witnessing: At 6:00 PM UTC, reports started coming in from Hotspot owners who received invalidated witness receipts due to a “self-witness” error. Self-witnesses are an understandable artifact of the concentrator hardware and nothing new to the system. However, they were previously filtered at a higher level in the On-Chain scheme. The IOT Verifier appears not to be using the same filtering but should.

See the issue ticket: https://github.com/helium/oracles/issues/328.

Witness RSSI Too High: At 9:00 PM UTC, the IOT Verifier was not accounting for the Beaconer’s antenna gain in the same way that the On-Chain verification in blockchain-core was. This was found to cause some witness receipts to be marked invalid due to a “witness_rssi_too_high” when they should not be.

See the issue ticket: https://github.com/helium/oracles/issues/330.

All three of these issues were unintentional and will be addressed in two ways: the Beacon Spreading Factor error will be addressed in a Hotspot firmware update (coming soon), and the Invalid Witness errors will be addressed in an update to the IOT Verifier Oracle (also coming soon).

Updates about the status and resolution of issues relating to Off-Chain PoC can be found in #announcements and #blockchain-announcements in the Community Discord: https://discord.gg/helium.

Special Thanks to all Helium Community members that supported the immense development of Off-Chain Proof-of-Coverage. This especially includes Community Developer @groot, who contributed significantly to testing and was a key asset to this release.

Helium Documentation will always be the source of truth for information relating to Off-Chain PoC. Please reference the Docs for any additional information and details: https://docs.helium.com//blockchain/proof-of-coverage.

Can’t find what you’re looking for? Join the Community Discord for real-time questions and answers: https://discord.gg/helium.

--

--