helium / hotspot-app

Helium hotspot app for iOS and Android
https://www.helium.com
Apache License 2.0
187 stars 139 forks source link

Enhancement - Show confirmation dialog when user tries to assert hotspot into location that will reduce their reward scale #1180

Open absolutebica opened 2 years ago

absolutebica commented 2 years ago

One of the biggest problems with the Helium network is over-saturation of a hex. Many hotspot owners simply assert their location without doing any research or homework into the effects or consequences to themselves or others. Based on current rules, a res_8 can have a max of 4 hotspots and still receive a scale of 1.0, if spaced correctly or within bounds of sibling hexes. There are too many examples where the number of hotspots in a res_8 hex far exceed this number. I propose that during the assertion process of their hotspot, a calculation will be done that can determine if the hotspot owner should consider placing their hotspot elsewhere if their scale will be harmed, as well as harming the scales of others. If it is determined their scale will be reduced, a confirmation message will be shown to them of the consequences of asserting and if they still would like to.

This is the people's network, so preventing them should not be allowed, but giving them a heads up I think is good.

So while it may be more applicable in a hex with more than 4 hotspots, if the calculation determines your scale will be reduced because you are too close to another hotspot, a message will be shown to the user prior to assertion so they can responsibly determine if asserting as their current location is in the best outcome for themselves, their neighbors, and the network.

A couple examples:

The user gets their new hotspot and wants to assert it at their home. Upon attempting to assert it, they see a message pop up with a message like

"You are asserting into a hex that has reached its maximum density of 4 hotspots. Your reward scale will be reduced to 0.67. This reward scale will also affect the other hotspots in this hex. Your hotspot earning potential will be reduced. Do you want to continue?"

or

"You are asserting into a hex too close to another hotspot. By doing this, your reward scale will be reduced to 0.5 as well as the other hotspot you are near. Your hotspot earning potential will be reduced. Do you want to continue?

I could see it being beneficial to show existing users when they sign into the application that their hotspot's reward scale is reduced due to being in hex with other hotspots. They may already be aware of this and in those cases they can dispose of the message, but other users may not realize how bad their reward scale has been affected and may consider re-asserting elsewhere to fix.

I think something like this could benefit the network by leaning on users to spread their hotspots out which produces better coverage, and of course benefit hotspot owners from an earnings perspective.

cokes518 commented 2 years ago

While I agree with the general sentiment and the well thought-out response of this request, a lower transmit scale does not affect earnings as radically as you'd expect.

It doesn't matter if a Hotspot is in a highly saturated location so long as it can witness Hotspots with a high transmit scale (in less dense locations). https://explorer.helium.com/hotspots/119ApNVisVbhew7txGXD5JeUzfJ5qS755j1Zqyn9JSybMbzSKty here is an example of a Hotspot with a lower transmit scale, but due to its antenna placement and ability to witness other, higher transmit scaled hotspots, it has higher average earnings.

absolutebica commented 2 years ago

@cokes518 yea, but isn't the point of the network to help expand it out. While it is nice to earn HNT selfishly, if I am fixing MY location or asserting in an appropriate spot rather than with 30 other hotspots, I'm helping those who witness me and if others did this correctly, everyone would be helping everyone from an earnings perspective.

It just seems narrow focused to only think about YOUR position vs how your position can help others in the network, and vice versa.