Skip to content

HIP 83: Restore First to Respond Witness Rewarding #632

@vincenzospaghetti

Description

@vincenzospaghetti

HIP 83: Restore First to Respond Witness Rewarding

Summary

Currently, the Proof-of-Coverage Oracles collect all the witnesses for a beacon and randomly reward a selection of 14 witnesses. This HIP proposes to revert to rewarding the first 14 Hotspots responding to a beacon, incentivizing the most useful Hotspots to sensor traffic by prioritizing the low latency connections that sensors need for uplinks, downlinks, and join requests to work correctly.

Motivation

Rewarding witnesses that are the first to respond will incentivize Hotspots to provide the low-latency connection that the sensors desperately need.

Sensors use uplinks to transfer their data over the Helium network. For a sensor to join the Helium network, it must perform a handshake that requires both an uplink and a downlink. As a power-saving measure, a sensor often has a limited time window to listen for the downlink.

Because the sensor only listens for the downlink for a limited time, the Helium LNS and the Hotspots must minimize latency to ensure the Hotspot can deliver downlinks to sensors within the narrow sensor listening window.

The Helium network originally rewarded the fastest witnesses and moved to a random selection for several technical reasons that no longer apply to the Oracle-based POC architecture introduced as part of HIP 70.

Technical limitations included, but are not limited to:

  • Regular retransmissions on the libp2p network left Hotspot unable to deliver witness reports.
  • Hotspots struggled to sync the Helium blockchain before Validators and needed more time to determine which challenger to deliver a witness to.

Rendered View

https://github.com/helium/HIP/blob/main/0083-restore-first-to-witness.md

Supporting Code

helium/oracles@main...mawdegroot:oracles:mg/first-to-respond-witnessing

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions