Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HIP draft – Validator Oracles #272

Merged
merged 2 commits into from
Sep 28, 2021
Merged

HIP draft – Validator Oracles #272

merged 2 commits into from
Sep 28, 2021

Conversation

cvolkernick
Copy link
Contributor

HIP proposing that staked validators be allowed to opt-in as price Oracles & submit price data.

HIP proposing that staked validators be allowed to opt-in as price Oracles & submit price data.
@cvolkernick cvolkernick changed the title Create 0038-validator-oracles.md HIP-XX : Validator Oracles Sep 6, 2021
@philltran
Copy link

Here is a link to the rich text view - https://github.com/cvolkernick/HIP/blob/94c86f987b2b898de1dccd134d271376aab18e24/0038-validator-oracles.md

@jamiew jamiew added the draft label Sep 9, 2021
@jamiew jamiew changed the title HIP-XX : Validator Oracles HIP draft – Validator Oracles Sep 9, 2021
@abhay
Copy link
Contributor

abhay commented Sep 10, 2021

I don't hate the idea because it does dramatically increase the size of the potential pool of oracle prices. Unfortunately, there's no limitations here on who the oracles are. In theory, the account with 300+ validators could take over price prediction very easily.

The current system, even though has flaws, at least protects against Sybil attacks.

@cvolkernick
Copy link
Contributor Author

cvolkernick commented Sep 11, 2021

In theory, the account with 300+ validators could take over price prediction very easily.

Are there measures that can be taken to prevent this...? E.g. limit to a certain # of submissions per period (blocks preferably), or attach a marginal cost of some kind? It seems inherently cost-prohibitive to stake 10K HNT 300x to manipulate the Oracle price, moreso when you can't even access your stake for 5 months.

Or perhaps there needs to be some minimum threshold in terms of submission diversity or number of submissions for the price to update (maybe in addition with the submission rate limiting or cost mentioned above)?

I don't necessarily question your point in and of itself, rather attempting to address the concerns you point out with creative solutions.

@abhay
Copy link
Contributor

abhay commented Sep 11, 2021

Open to being creative.

Adding a limit is possible but it doesn't solve the issue of a plurality of submissions coming from a single real entity. Splitting by account also causes similar issues so submission diversity isn't something that can be done on chain.

@cvolkernick
Copy link
Contributor Author

cvolkernick commented Sep 12, 2021

Understood; I suppose my outstanding question is, is it even plausible to do that to begin with if you are inherently required to stake 10K HNT (currently ~$215K) for one validator? You would have to spend $1M just to submit 4 data points. With a current pool size of 2K+ that seems impractical IMO (assuming that a significant enough % of staked validators are participating, of course).

As a related note, is there any particular reason why an oracle-based pricing was chosen as opposed to pulling in market price data from exchanges, etc? Pulling data from the market almost seems to be a more practical way of obtaining this information than attempting to derive it from a manual process.

@abhay
Copy link
Contributor

abhay commented Sep 13, 2021

Understood; I suppose my outstanding question is, is it even plausible to do that to begin with if you are inherently required to stake 10K HNT (currently ~$215K) for one validator? You would have to spend $1M just to submit 4 data points. With a current pool size of 2K+ that seems impractical IMO (assuming that a significant enough % of staked validators are participating, of course).

The monetary burden is an important one but why is the wallet with 300+ validators more important than the one with 1? Comes back to my earlier point about Sybil resistance.

As a related note, is there any particular reason why an oracle-based pricing was chosen as opposed to pulling in market price data from exchanges, etc? Pulling data from the market almost seems to be a more practical way of obtaining this information than attempting to derive it from a manual process.

Here's a decent primer on the Oracle problem. Not advocating that particular implementation.

@cvolkernick
Copy link
Contributor Author

Thank you @abhay for the background info will give it a read

@cvolkernick
Copy link
Contributor Author

Regarding the Sybil resistance point:

https://www.proofofhumanity.id/
https://github.com/Proof-Of-Humanity

Could potentially have other applications / implications elsewhere beyond the scope of this particular HIP, as well.

@jamiew jamiew mentioned this pull request Sep 28, 2021
@jamiew jamiew merged commit b585c3c into helium:master Sep 28, 2021
@jamiew
Copy link
Contributor

jamiew commented Sep 28, 2021

This draft HIP has been officially numbered and merged. Please direct future comments towards #282 and please tag #282 in any future PRs for automatic merging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants