{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"files","path":"files","contentType":"directory"},{"name":".markdownlint.json","path":".markdownlint.json","contentType":"file"},{"name":".prettierrc","path":".prettierrc","contentType":"file"},{"name":"0000-template.md","path":"0000-template.md","contentType":"file"},{"name":"0001-longfi-and-lorawan.md","path":"0001-longfi-and-lorawan.md","contentType":"file"},{"name":"0002-sign-miner.md","path":"0002-sign-miner.md","contentType":"file"},{"name":"0003-miner-update.md","path":"0003-miner-update.md","contentType":"file"},{"name":"0004-expensing-data-credits-for-lorawan.md","path":"0004-expensing-data-credits-for-lorawan.md","contentType":"file"},{"name":"0005-poc-fairness.md","path":"0005-poc-fairness.md","contentType":"file"},{"name":"0006-reward-ramp-for-packets.md","path":"0006-reward-ramp-for-packets.md","contentType":"file"},{"name":"0007-managing-hip-process.md","path":"0007-managing-hip-process.md","contentType":"file"},{"name":"0008-lorawan-routing.md","path":"0008-lorawan-routing.md","contentType":"file"},{"name":"0009-non-helium-hotspots.md","path":"0009-non-helium-hotspots.md","contentType":"file"},{"name":"0010-usage-based-data-transfer-rewards.md","path":"0010-usage-based-data-transfer-rewards.md","contentType":"file"},{"name":"0011-usage-based-rewards-structure.md","path":"0011-usage-based-rewards-structure.md","contentType":"file"},{"name":"0012-remote-location-assert.md","path":"0012-remote-location-assert.md","contentType":"file"},{"name":"0013-transfer-hotspot.md","path":"0013-transfer-hotspot.md","contentType":"file"},{"name":"0014-poc-ripple-method.md","path":"0014-poc-ripple-method.md","contentType":"file"},{"name":"0015-beaconing-rewards.md","path":"0015-beaconing-rewards.md","contentType":"file"},{"name":"0016-random-consensus-group-election.md","path":"0016-random-consensus-group-election.md","contentType":"file"},{"name":"0017-hex-density-based-transmit-reward-scaling.md","path":"0017-hex-density-based-transmit-reward-scaling.md","contentType":"file"},{"name":"0018-remove-oracle-forecast-for-dc-burn.md","path":"0018-remove-oracle-forecast-for-dc-burn.md","contentType":"file"},{"name":"0019-third-party-manufacturers.md","path":"0019-third-party-manufacturers.md","contentType":"file"},{"name":"0020-hnt-max-supply.md","path":"0020-hnt-max-supply.md","contentType":"file"},{"name":"0021-poc-link-layer.md","path":"0021-poc-link-layer.md","contentType":"file"},{"name":"0022-diy-concentrators.md","path":"0022-diy-concentrators.md","contentType":"file"},{"name":"0023-decouple-consensus-from-gateways.md","path":"0023-decouple-consensus-from-gateways.md","contentType":"file"},{"name":"0024-reward-splitting.md","path":"0024-reward-splitting.md","contentType":"file"},{"name":"0025-validators.md","path":"0025-validators.md","contentType":"file"},{"name":"0026-payment-notes.md","path":"0026-payment-notes.md","contentType":"file"},{"name":"0027-cbrs-5g-support.md","path":"0027-cbrs-5g-support.md","contentType":"file"},{"name":"0028-consensus-reward-adjustments.md","path":"0028-consensus-reward-adjustments.md","contentType":"file"},{"name":"0029-multisignature-keys.md","path":"0029-multisignature-keys.md","contentType":"file"},{"name":"0030-update-threshold-cryptography.md","path":"0030-update-threshold-cryptography.md","contentType":"file"},{"name":"0031-governance-by-token-lock.md","path":"0031-governance-by-token-lock.md","contentType":"file"},{"name":"0032-split-dcs.md","path":"0032-split-dcs.md","contentType":"file"},{"name":"0033-regional-reward-adjustments.md","path":"0033-regional-reward-adjustments.md","contentType":"file"},{"name":"0034-validator-node-security.md","path":"0034-validator-node-security.md","contentType":"file"},{"name":"0035-safe-rf-metadata-side-channel.md","path":"0035-safe-rf-metadata-side-channel.md","contentType":"file"},{"name":"0036-blockheights-instead-of-time.md","path":"0036-blockheights-instead-of-time.md","contentType":"file"},{"name":"0037-omni-protocol-poc.md","path":"0037-omni-protocol-poc.md","contentType":"file"},{"name":"0038-validator-oracles.md","path":"0038-validator-oracles.md","contentType":"file"},{"name":"0039-hnt-redenomination.md","path":"0039-hnt-redenomination.md","contentType":"file"},{"name":"0040-validator-denylist.md","path":"0040-validator-denylist.md","contentType":"file"},{"name":"0041-governance-by-token-lock-v2.md","path":"0041-governance-by-token-lock-v2.md","contentType":"file"},{"name":"0042-beacon-witness-ratio-witness-reward-limit.md","path":"0042-beacon-witness-ratio-witness-reward-limit.md","contentType":"file"},{"name":"0043-software-release-guidelines.md","path":"0043-software-release-guidelines.md","contentType":"file"},{"name":"0044-witness-decay.md","path":"0044-witness-decay.md","contentType":"file"},{"name":"0045-lorawan-frequency-plan-selection.md","path":"0045-lorawan-frequency-plan-selection.md","contentType":"file"},{"name":"0046-lorawan-netid-routing.md","path":"0046-lorawan-netid-routing.md","contentType":"file"},{"name":"0047-increase-dkg-penalty.md","path":"0047-increase-dkg-penalty.md","contentType":"file"},{"name":"0048-ip-support.md","path":"0048-ip-support.md","contentType":"file"},{"name":"0049-max-eirp-adjustment.md","path":"0049-max-eirp-adjustment.md","contentType":"file"},{"name":"0050-display-all-potential-beacon-witnesses.md","path":"0050-display-all-potential-beacon-witnesses.md","contentType":"file"},{"name":"0051-helium-dao.md","path":"0051-helium-dao.md","contentType":"file"},{"name":"0052-iot-dao.md","path":"0052-iot-dao.md","contentType":"file"},{"name":"0053-mobile-dao.md","path":"0053-mobile-dao.md","contentType":"file"},{"name":"0054-h3dex-targeting.md","path":"0054-h3dex-targeting.md","contentType":"file"},{"name":"0055-validator-challenges.md","path":"0055-validator-challenges.md","contentType":"file"},{"name":"0056-state-channel-dispute-strategy.md","path":"0056-state-channel-dispute-strategy.md","contentType":"file"},{"name":"0057-poc-rewards-establishment-period.md","path":"0057-poc-rewards-establishment-period.md","contentType":"file"},{"name":"0058-poc-distance-limit.md","path":"0058-poc-distance-limit.md","contentType":"file"},{"name":"0059-reduce-xor-filter-fees.md","path":"0059-reduce-xor-filter-fees.md","contentType":"file"},{"name":"0060-entity-weighted-vote.md","path":"0060-entity-weighted-vote.md","contentType":"file"},{"name":"0061-increase-challenger-rewards.md","path":"0061-increase-challenger-rewards.md","contentType":"file"},{"name":"0062-poc-witness-ip-check.md","path":"0062-poc-witness-ip-check.md","contentType":"file"},{"name":"0063-helium-hub.md","path":"0063-helium-hub.md","contentType":"file"},{"name":"0064-wifi-dao.md","path":"0064-wifi-dao.md","contentType":"file"},{"name":"0065-vendor-token-lockup.md","path":"0065-vendor-token-lockup.md","contentType":"file"},{"name":"0066-trust-score-and-denylist-convenience.md","path":"0066-trust-score-and-denylist-convenience.md","contentType":"file"},{"name":"0067-repeal-redenomination.md","path":"0067-repeal-redenomination.md","contentType":"file"},{"name":"0068-open-service-subdao.md","path":"0068-open-service-subdao.md","contentType":"file"},{"name":"0069-reassertion-fee-reduction.md","path":"0069-reassertion-fee-reduction.md","contentType":"file"},{"name":"0070-scaling-helium.md","path":"0070-scaling-helium.md","contentType":"file"},{"name":"0071-scaling-with-governance-hedera.md","path":"0071-scaling-with-governance-hedera.md","contentType":"file"},{"name":"0072-secure-concentrators.md","path":"0072-secure-concentrators.md","contentType":"file"},{"name":"0073-consensus-deselection-weighting.md","path":"0073-consensus-deselection-weighting.md","contentType":"file"},{"name":"0074-mobile-poc-modeled-coverage-rewards.md","path":"0074-mobile-poc-modeled-coverage-rewards.md","contentType":"file"},{"name":"0075-mobile-poc-initiate-programmatic-minting-and-updated-emissions-curve.md","path":"0075-mobile-poc-initiate-programmatic-minting-and-updated-emissions-curve.md","contentType":"file"},{"name":"0076-linear-lockup-curve.md","path":"0076-linear-lockup-curve.md","contentType":"file"},{"name":"0077-solana-parameters.md","path":"0077-solana-parameters.md","contentType":"file"},{"name":"0078-mobile-subdao-onboarding-fees.md","path":"0078-mobile-subdao-onboarding-fees.md","contentType":"file"},{"name":"0079-mobile-poc-mappers-rewards.md","path":"0079-mobile-poc-mappers-rewards.md","contentType":"file"},{"name":"0080-simplifying-dao-utility-score.md","path":"0080-simplifying-dao-utility-score.md","contentType":"file"},{"name":"0081-minimum-onboarding-fee.md","path":"0081-minimum-onboarding-fee.md","contentType":"file"},{"name":"0082-helium-mobile-service-provider.md","path":"0082-helium-mobile-service-provider.md","contentType":"file"},{"name":"0083-restore-first-to-witness.md","path":"0083-restore-first-to-witness.md","contentType":"file"},{"name":"0084-service-provider-hex-boosting.md","path":"0084-service-provider-hex-boosting.md","contentType":"file"},{"name":"0085-mobile-hex-coverage-limit.md","path":"0085-mobile-hex-coverage-limit.md","contentType":"file"},{"name":"0086-increase-iot-data-transfer-cost.md","path":"0086-increase-iot-data-transfer-cost.md","contentType":"file"},{"name":"0087-proportional-service-provider-rewards.md","path":"0087-proportional-service-provider-rewards.md","contentType":"file"},{"name":"0088-adjustment-of-dao-utility-a-score.md","path":"0088-adjustment-of-dao-utility-a-score.md","contentType":"file"},{"name":"0089-mobile-network-onboard-fees.md","path":"0089-mobile-network-onboard-fees.md","contentType":"file"},{"name":"0090-reduce-iot-location-assert-cost-indefinitely.md","path":"0090-reduce-iot-location-assert-cost-indefinitely.md","contentType":"file"},{"name":"0091-data-driven-extension-reduced-iot-assertion-cost.md","path":"0091-data-driven-extension-reduced-iot-assertion-cost.md","contentType":"file"},{"name":"0092-premine-error-correction.md","path":"0092-premine-error-correction.md","contentType":"file"},{"name":"0093-addition-of-wifi-aps-to-mobile-subdao.md","path":"0093-addition-of-wifi-aps-to-mobile-subdao.md","contentType":"file"},{"name":"0094-response-time-windows-for-witness-rewarding.md","path":"0094-response-time-windows-for-witness-rewarding.md","contentType":"file"},{"name":"0095-self-onboard-hotspots-after-maker-exit.md","path":"0095-self-onboard-hotspots-after-maker-exit.md","contentType":"file"},{"name":"0096-wifi-ap-onboarding-structure.md","path":"0096-wifi-ap-onboarding-structure.md","contentType":"file"},{"name":"0097-removing-manual-mobile-location-assertions.md","path":"0097-removing-manual-mobile-location-assertions.md","contentType":"file"},{"name":"0098-mobile-subdao-quality-of-service-requirements.md","path":"0098-mobile-subdao-quality-of-service-requirements.md","contentType":"file"},{"name":"0099-formalize-the-maker-program-through-a-new-legal-entity.md","path":"0099-formalize-the-maker-program-through-a-new-legal-entity.md","contentType":"file"},{"name":"0100-deploy-eu868-region-plan-to-the-majority-of-africa.md","path":"0100-deploy-eu868-region-plan-to-the-majority-of-africa.md","contentType":"file"},{"name":"0101-equalizing-poc-rewards-across-wifi-and-cbrs.md","path":"0101-equalizing-poc-rewards-across-wifi-and-cbrs.md","contentType":"file"},{"name":"0102-helium-educational-lns.md","path":"0102-helium-educational-lns.md","contentType":"file"},{"name":"0103-oracle-hex-boosting.md","path":"0103-oracle-hex-boosting.md","contentType":"file"},{"name":"0104-finetune-hip17-parameters-to-tackle-density.md","path":"0104-finetune-hip17-parameters-to-tackle-density.md","contentType":"file"},{"name":"0105-modification-of-mobile-subdao-hex-limits.md","path":"0105-modification-of-mobile-subdao-hex-limits.md","contentType":"file"},{"name":"0106-hotspot-bidirectional-coverage-requirement.md","path":"0106-hotspot-bidirectional-coverage-requirement.md","contentType":"file"},{"name":"0107-preventing-gaming-within-the-mobile-subdao.md","path":"0107-preventing-gaming-within-the-mobile-subdao.md","contentType":"file"},{"name":"0108-mobile-hotspot-suspension-framework.md","path":"0108-mobile-hotspot-suspension-framework.md","contentType":"file"},{"name":"0109-hex-boosting-by-deployment.md","path":"0109-hex-boosting-by-deployment.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"}],"totalCount":115}},"fileTreeProcessingTime":7.027552,"foldersToFetch":[],"repo":{"id":202416100,"defaultBranch":"main","name":"HIP","ownerLogin":"helium","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-14T19:48:52.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6635330?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1709332524.0","canEdit":false,"refType":"branch","currentOid":"ad0b6602b4f3888733e94a89bb2a96541f41a1bc"},"path":"0025-validators.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/helium/HIP/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"0025-validators.md","displayUrl":"https://github.com/helium/HIP/blob/main/0025-validators.md?raw=true","headerInfo":{"blobSize":"14 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","deleteInfo":{"deleteTooltip":"You must be signed in to make or propose changes"},"editInfo":{"editTooltip":"You must be signed in to make or propose changes"},"ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"gitLfsPath":null,"onBranch":true,"shortPath":"d98778f","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fhelium%2FHIP%2Fblob%2Fmain%2F0025-validators.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"HIP-25: Validators","anchor":"hip-25-validators","htmlText":"HIP-25: Validators"},{"level":2,"text":"Summary","anchor":"summary","htmlText":"Summary"},{"level":2,"text":"Motivation","anchor":"motivation","htmlText":"Motivation"},{"level":2,"text":"Stakeholders","anchor":"stakeholders","htmlText":"Stakeholders"},{"level":2,"text":"Detailed Explanation","anchor":"detailed-explanation","htmlText":"Detailed Explanation"},{"level":4,"text":"Ledger changes","anchor":"ledger-changes","htmlText":"Ledger changes"},{"level":4,"text":"Transactions","anchor":"transactions","htmlText":"Transactions"},{"level":4,"text":"Primary Chain Variables","anchor":"primary-chain-variables","htmlText":"Primary Chain Variables"},{"level":4,"text":"Operational Chain Variables","anchor":"operational-chain-variables","htmlText":"Operational Chain Variables"},{"level":4,"text":"Staking in depth","anchor":"staking-in-depth","htmlText":"Staking in depth"},{"level":4,"text":"Hardware and Networking","anchor":"hardware-and-networking","htmlText":"Hardware and Networking"},{"level":2,"text":"Drawbacks","anchor":"drawbacks","htmlText":"Drawbacks"},{"level":2,"text":"Rationale and Alternatives","anchor":"rationale-and-alternatives","htmlText":"Rationale and Alternatives"},{"level":2,"text":"Unresolved Questions","anchor":"unresolved-questions","htmlText":"Unresolved Questions"},{"level":2,"text":"Deployment Impact","anchor":"deployment-impact","htmlText":"Deployment Impact"},{"level":2,"text":"Success Metrics","anchor":"success-metrics","htmlText":"Success Metrics"},{"level":2,"text":"Frequently Asked Questions","anchor":"frequently-asked-questions","htmlText":"Frequently Asked Questions"},{"level":3,"text":"Q: How will Validators impact existing Hotspot owner rewards?","anchor":"q-how-will-validators-impact-existing-hotspot-owner-rewards","htmlText":"Q: How will Validators impact existing Hotspot owner rewards?"},{"level":3,"text":"Q: Does this mean as a Hotspot owner I'm losing out of those 6% rewards?","anchor":"q-does-this-mean-as-a-hotspot-owner-im-losing-out-of-those-6-rewards","htmlText":"Q: Does this mean as a Hotspot owner I'm losing out of those 6% rewards?"},{"level":3,"text":"Q: What’s the minimum number of Validators needed? Is there a cap?","anchor":"q-whats-the-minimum-number-of-validators-needed-is-there-a-cap","htmlText":"Q: What’s the minimum number of Validators needed? Is there a cap?"},{"level":3,"text":"Q: How much HNT does it require to stake and become a Validator?","anchor":"q-how-much-hnt-does-it-require-to-stake-and-become-a-validator","htmlText":"Q: How much HNT does it require to stake and become a Validator?"},{"level":3,"text":"Q: Is overstaking permitted? If so, what’s the benefit?","anchor":"q-is-overstaking-permitted-if-so-whats-the-benefit","htmlText":"Q: Is overstaking permitted? If so, what’s the benefit?"},{"level":3,"text":"Q: How long is the cooldown period (the length of time the staking amount is locked)?","anchor":"q-how-long-is-the-cooldown-period-the-length-of-time-the-staking-amount-is-locked","htmlText":"Q: How long is the cooldown period (the length of time the staking amount is locked)?"},{"level":3,"text":"Q: How many HNT rewards can a Validator earn?","anchor":"q-how-many-hnt-rewards-can-a-validator-earn","htmlText":"Q: How many HNT rewards can a Validator earn?"},{"level":3,"text":"Q: After staking and the block cooldown period would the Validator need to restake the 10k HNT to keep operating?","anchor":"q-after-staking-and-the-block-cooldown-period-would-the-validator-need-to-restake-the-10k-hnt-to-keep-operating","htmlText":"Q: After staking and the block cooldown period would the Validator need to restake the 10k HNT to keep operating?"},{"level":3,"text":"Q: How quickly will I receive rewards from staking?","anchor":"q-how-quickly-will-i-receive-rewards-from-staking","htmlText":"Q: How quickly will I receive rewards from staking?"},{"level":3,"text":"Q: How will Validators be chosen to participate in the consensus group? How many?","anchor":"q-how-will-validators-be-chosen-to-participate-in-the-consensus-group-how-many","htmlText":"Q: How will Validators be chosen to participate in the consensus group? How many?"},{"level":3,"text":"Q: Can multiple Validators be associated with (staked from) a single wallet?","anchor":"q-can-multiple-validators-be-associated-with-staked-from-a-single-wallet","htmlText":"Q: Can multiple Validators be associated with (staked from) a single wallet?"},{"level":3,"text":"Q: How can I participate and host a Validator node? Join the testnet?","anchor":"q-how-can-i-participate-and-host-a-validator-node-join-the-testnet","htmlText":"Q: How can I participate and host a Validator node? Join the testnet?"},{"level":3,"text":"Q: How can I prepare to run a Validator node on the testnet?","anchor":"q-how-can-i-prepare-to-run-a-validator-node-on-the-testnet","htmlText":"Q: How can I prepare to run a Validator node on the testnet?"},{"level":3,"text":"Q: What do I need to run a Validator node?","anchor":"q-what-do-i-need-to-run-a-validator-node","htmlText":"Q: What do I need to run a Validator node?"}],"lineInfo":{"truncatedLoc":"281","truncatedSloc":"201"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplateHelpUrl":"https://docs.github.com/articles/about-issue-and-pull-request-templates","issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"loggedIn":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/helium/HIP/blob/main/0025-validators.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/helium/HIP/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/helium/HIP/raw/main/0025-validators.md","renderImageOrRaw":false,"richText":"

HIP-25: Validators

\n\n

Summary

\n

Add a new class of actors to the network, called Validators. These will be staked actors, with the\nintention being to run them on stronger hardware with better network connections than the current\nHotspots. They will serve the dual purpose of being eligible for block production and also, in the\nfuture, acting as proxies for lightweight (non-chain-following) gateways.

\n

Motivation

\n

At the current rate of growth, running block production directly on the Hotspot network is rapidly\nbecoming unsustainable. Gossip network usage grows linearly with the size of the network, and slow\naddressing updates are a common cause of long block interval times.

\n

Legacy hardware power and size also put sharp limits on the size of the group (and hence its\nsecurity). The fact that addresses aren't static also makes it difficult to reconnect when a Block\nProducer crashes, also leading to longer block times. Low powered hardware on consumer-grade\ninternet backhaul is much more subject to DoS attacks than high-end servers on cloud-grade\nconnections.

\n

There are also several sub-optimal measures the core team has had to take in order to keep block\ntimes consistent on the current hardware, such as a timeout on PoC transaction validation and\nadjusting the PoC challenge interval, that have led to undesirable side effects.

\n

Lastly, the network is today heavily dependent on our libp2p implementation and its ability to\nnavigate consumer firewalls, proxies and NAT configurations. Given the complexity and variety of\nthese setups, as well as the design of the PoC system, this has led to an appreciable percentage of\nall PoC challenges failing to have a corresponding receipt. While not all of these can be attributed\nto this situation, we believe a significant number of them are. By moving to the Validator model\n(and eventual changes to PoC challenge construction), Hotspots will no longer be dependent on\ndelivering PoC receipts to other Hotspots via libp2p.

\n

Stakeholders

\n

While this HIP affects everyone in the network, the only real effect is that ordinary Hotspots will\nnot be able to participate in block production, leading to a loss of the “random” HNT flow (6% of\ntotal HNT mined) to the Hotspot pool. The participants most affected by this change are those\ninterested in running Validators.

\n

We also expect the Testnet process, wherein we will stand up a separate network of Validators for\ntesting purposes and to allow Validator runners to gain operational experience, to generate interest\nfrom outside of the community, as there exist professional Staking and Validator Pools for other\nblockchains.

\n

Detailed Explanation

\n

Ledger changes

\n

To make this happen, we would make a new ledger entry type for the Validators. This entry would have\nthe Validator's stake level and the owning account, and any other required metadata. All HNT earned\nby the Validator will automatically go into the owning account and is immediately liquid.

\n

Transactions

\n

We will add 5 new transactions:

\n\n

Primary Chain Variables

\n

These chain variables are used to govern the qualifications of validators on the Helium blockchain:

\n\n

Operational Chain Variables

\n

These variables are tuning parameters that will be used to manage validators during and after\nlaunch. They primarily manage liveness and penalties for poor performance that will be taken into\naccount during elections:

\n\n

Details about these variables will be provided in\ndeveloper documentation.

\n

Staking in depth

\n

Stake is unlimited, however in the current proposal there are no benefits to overstaking.\nOverstaking and other features such as delegation will be subject to the HIP community approval\nprocess.

\n

Please see open questions for how overstake may be applied to returns. We expect a discussion in the\ncommunity to help resolve exactly how this should work and will update the HIP to reflect that\ndiscussion.

\n

Hardware and Networking

\n

Validator nodes will need large disks for storing the chain and the ledger, and strong (but\nrelatively modest by modern server standards) CPUs and RAM. An AWS T2.large or xlarge should work\nfine.

\n

The node will need to have a static IP and few ports (currently 2154 and eventually port 443) open\nto the internet. A DNS resolvable hostname is strongly recommended. Networking speed is variable,\nbut load is largely symmetrical when producing blocks, so good upstream is recommended. Most cloud\nmachines will be fine, but e.g. a cable modem might struggle. We don't recommend running these\nmachines on consumer network connections.

\n

Drawbacks

\n

While this does lock \"average\" users out of the block producer's pool of returns, that pool shrinks,\nrelative to each individual spot, as the network grows.

\n

Realistically, there is no alternative that allows for large network growth other than getting block\nproduction onto bigger and more secure CPUs.

\n

Rationale and Alternatives

\n\n

Other designs:

\n\n

More and more resources will need to be poured into the P2P aspect of the design, and we'll\neventually need to add a layer of \"stronger\" validators in any case to keep up with transaction\nscaling. Since we're always going to be held back by slow/lower memory group members, we will be\nlimited in the complexity of the features that we can add and the stability of the network will\ncontinue to suffer.

\n

Unresolved Questions

\n\n

Deployment Impact

\n

Deployment impact will be minimal, other than an increase in the stability of block times.

\n

Success Metrics

\n

We should see an increase in the stability of block times.

\n

We should be able to increase the number of validators in the block production group without\ndisruption.

\n

We should see people eagerly staking new validators as a measure of the appeal of the idea.

\n

Frequently Asked Questions

\n

Q: How will Validators impact existing Hotspot owner rewards?

\n

A: In the current proposal Validator nodes will earn the 6% rewards for consensus group\nparticipation. This is the same percentage that Hotspots/Gateways currently earn for performing the\nsame work.

\n

Q: Does this mean as a Hotspot owner I'm losing out of those 6% rewards?

\n

A: Technically yes, but practically it is increasingly unlikely your Hotspot would have been chosen\namong the 16 out of the entire pool of Hotspots. With the current pool there's a 0.034% chance and\nthis percentage decreases as the network continues to grow. Also, with the Validators block\nproduction becomes more stable which means mining rewards are allocated on a more consistent basis.

\n

Q: What’s the minimum number of Validators needed? Is there a cap?

\n

A: The current proposal is 100 with no cap to the maximum number of Validators that can participate.\nWe will have a separate chain var that we will activate Consensus Group election via Validator that\ncan be manually activated after we reach the proposed threshold.

\n

Q: How much HNT does it require to stake and become a Validator?

\n

A: The current proposal is 10,000 HNT.

\n

Q: Is overstaking permitted? If so, what’s the benefit?

\n

A: Initially there will be no overstaking. We'll decide at a later time via the community process if\nthere's overstaking, what kind we'd allow, and what it will mean.

\n

Q: How long is the cooldown period (the length of time the staking amount is locked)?

\n

A: The current proposal is for 250,000 blocks which is approximately 5 months.

\n

Q: How many HNT rewards can a Validator earn?

\n

A: It depends on the number of Validators and how often a Validator is randomly chosen to\nparticipate in the consensus group.

\n

Q: After staking and the block cooldown period would the Validator need to restake the 10k HNT to keep operating?

\n

A: The stake for a validator is perpetual rather than periodically renewed. Unstaking requires\nsubmitting an unstake transaction, after which the cooldown period begins. After the cooldown\nperiod, the initial stake is returned to the owners account.

\n

Q: How quickly will I receive rewards from staking?

\n

A: Rewards are not locked up and if your Validator node is elected into the Consensus Group, the\nrewards will be allocated at the end of the epoch.

\n

Q: How will Validators be chosen to participate in the consensus group? How many?

\n

A: Validators will be randomly chosen similarly to how Hotspots/Gateways are chosen. For the initial\nmainnet launch there will be 16 but this number will quickly increase.

\n

Q: Can multiple Validators be associated with (staked from) a single wallet?

\n

A: Yes.

\n

Q: How can I participate and host a Validator node? Join the testnet?

\n

A: Stay tuned we will have signup and instructions in the coming weeks.

\n

Q: How can I prepare to run a Validator node on the testnet?

\n

A: Check out the miner software and run it on the server you want to use. Note you'll also need a\nrecent Rust and a C/C++ tool chain. Currently supported erlang version, OTP 22.

\n\n

Q: What do I need to run a Validator node?

\n

A: Running a Validator node will be up to the user to choose to DIY, either on premise or in the\ncloud. We will learn more after running the testnet, but based on early tests at least:

\n\n
","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"repoOwner":"helium","repoName":"HIP","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"HIP-25: Validators","kind":"section_1","ident_start":2,"ident_end":20,"extent_start":0,"extent_end":14314,"fully_qualified_name":"HIP-25: Validators","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":20}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":281,"utf16_col":0}}},{"name":"Summary","kind":"section_2","ident_start":378,"ident_end":385,"extent_start":375,"extent_end":758,"fully_qualified_name":"Summary","ident_utf16":{"start":{"line_number":10,"utf16_col":3},"end":{"line_number":10,"utf16_col":10}},"extent_utf16":{"start":{"line_number":10,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"Motivation","kind":"section_2","ident_start":761,"ident_end":771,"extent_start":758,"extent_end":2342,"fully_qualified_name":"Motivation","ident_utf16":{"start":{"line_number":17,"utf16_col":3},"end":{"line_number":17,"utf16_col":13}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":41,"utf16_col":0}}},{"name":"Stakeholders","kind":"section_2","ident_start":2345,"ident_end":2357,"extent_start":2342,"extent_end":3000,"fully_qualified_name":"Stakeholders","ident_utf16":{"start":{"line_number":41,"utf16_col":3},"end":{"line_number":41,"utf16_col":15}},"extent_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":53,"utf16_col":0}}},{"name":"Detailed Explanation","kind":"section_2","ident_start":3003,"ident_end":3023,"extent_start":3000,"extent_end":7465,"fully_qualified_name":"Detailed Explanation","ident_utf16":{"start":{"line_number":53,"utf16_col":3},"end":{"line_number":53,"utf16_col":23}},"extent_utf16":{"start":{"line_number":53,"utf16_col":0},"end":{"line_number":137,"utf16_col":0}}},{"name":"Ledger changes","kind":"section_4","ident_start":3030,"ident_end":3044,"extent_start":3025,"extent_end":3338,"fully_qualified_name":"Ledger changes","ident_utf16":{"start":{"line_number":55,"utf16_col":5},"end":{"line_number":55,"utf16_col":19}},"extent_utf16":{"start":{"line_number":55,"utf16_col":0},"end":{"line_number":61,"utf16_col":0}}},{"name":"Transactions","kind":"section_4","ident_start":3343,"ident_end":3355,"extent_start":3338,"extent_end":4375,"fully_qualified_name":"Transactions","ident_utf16":{"start":{"line_number":61,"utf16_col":5},"end":{"line_number":61,"utf16_col":17}},"extent_utf16":{"start":{"line_number":61,"utf16_col":0},"end":{"line_number":79,"utf16_col":0}}},{"name":"Primary Chain Variables","kind":"section_4","ident_start":4380,"ident_end":4403,"extent_start":4375,"extent_end":5849,"fully_qualified_name":"Primary Chain Variables","ident_utf16":{"start":{"line_number":79,"utf16_col":5},"end":{"line_number":79,"utf16_col":28}},"extent_utf16":{"start":{"line_number":79,"utf16_col":0},"end":{"line_number":99,"utf16_col":0}}},{"name":"Operational Chain Variables","kind":"section_4","ident_start":5854,"ident_end":5881,"extent_start":5849,"extent_end":6376,"fully_qualified_name":"Operational Chain Variables","ident_utf16":{"start":{"line_number":99,"utf16_col":5},"end":{"line_number":99,"utf16_col":32}},"extent_utf16":{"start":{"line_number":99,"utf16_col":0},"end":{"line_number":115,"utf16_col":0}}},{"name":"Staking in depth","kind":"section_4","ident_start":6381,"ident_end":6397,"extent_start":6376,"extent_end":6804,"fully_qualified_name":"Staking in depth","ident_utf16":{"start":{"line_number":115,"utf16_col":5},"end":{"line_number":115,"utf16_col":21}},"extent_utf16":{"start":{"line_number":115,"utf16_col":0},"end":{"line_number":125,"utf16_col":0}}},{"name":"Hardware and Networking","kind":"section_4","ident_start":6809,"ident_end":6832,"extent_start":6804,"extent_end":7465,"fully_qualified_name":"Hardware and Networking","ident_utf16":{"start":{"line_number":125,"utf16_col":5},"end":{"line_number":125,"utf16_col":28}},"extent_utf16":{"start":{"line_number":125,"utf16_col":0},"end":{"line_number":137,"utf16_col":0}}},{"name":"Drawbacks","kind":"section_2","ident_start":7468,"ident_end":7477,"extent_start":7465,"extent_end":7784,"fully_qualified_name":"Drawbacks","ident_utf16":{"start":{"line_number":137,"utf16_col":3},"end":{"line_number":137,"utf16_col":12}},"extent_utf16":{"start":{"line_number":137,"utf16_col":0},"end":{"line_number":145,"utf16_col":0}}},{"name":"Rationale and Alternatives","kind":"section_2","ident_start":7787,"ident_end":7813,"extent_start":7784,"extent_end":9539,"fully_qualified_name":"Rationale and Alternatives","ident_utf16":{"start":{"line_number":145,"utf16_col":3},"end":{"line_number":145,"utf16_col":29}},"extent_utf16":{"start":{"line_number":145,"utf16_col":0},"end":{"line_number":177,"utf16_col":0}}},{"name":"Unresolved Questions","kind":"section_2","ident_start":9542,"ident_end":9562,"extent_start":9539,"extent_end":9924,"fully_qualified_name":"Unresolved Questions","ident_utf16":{"start":{"line_number":177,"utf16_col":3},"end":{"line_number":177,"utf16_col":23}},"extent_utf16":{"start":{"line_number":177,"utf16_col":0},"end":{"line_number":185,"utf16_col":0}}},{"name":"Deployment Impact","kind":"section_2","ident_start":9927,"ident_end":9944,"extent_start":9924,"extent_end":10038,"fully_qualified_name":"Deployment Impact","ident_utf16":{"start":{"line_number":185,"utf16_col":3},"end":{"line_number":185,"utf16_col":20}},"extent_utf16":{"start":{"line_number":185,"utf16_col":0},"end":{"line_number":189,"utf16_col":0}}},{"name":"Success Metrics","kind":"section_2","ident_start":10041,"ident_end":10056,"extent_start":10038,"extent_end":10317,"fully_qualified_name":"Success Metrics","ident_utf16":{"start":{"line_number":189,"utf16_col":3},"end":{"line_number":189,"utf16_col":18}},"extent_utf16":{"start":{"line_number":189,"utf16_col":0},"end":{"line_number":198,"utf16_col":0}}},{"name":"Frequently Asked Questions","kind":"section_2","ident_start":10320,"ident_end":10346,"extent_start":10317,"extent_end":14314,"fully_qualified_name":"Frequently Asked Questions","ident_utf16":{"start":{"line_number":198,"utf16_col":3},"end":{"line_number":198,"utf16_col":29}},"extent_utf16":{"start":{"line_number":198,"utf16_col":0},"end":{"line_number":281,"utf16_col":0}}},{"name":"Q: How will Validators impact existing Hotspot owner rewards?","kind":"section_3","ident_start":10352,"ident_end":10413,"extent_start":10348,"extent_end":10615,"fully_qualified_name":"Q: How will Validators impact existing Hotspot owner rewards?","ident_utf16":{"start":{"line_number":200,"utf16_col":4},"end":{"line_number":200,"utf16_col":65}},"extent_utf16":{"start":{"line_number":200,"utf16_col":0},"end":{"line_number":206,"utf16_col":0}}},{"name":"Q: Does this mean as a Hotspot owner I'm losing out of those 6% rewards?","kind":"section_3","ident_start":10619,"ident_end":10691,"extent_start":10615,"extent_end":11085,"fully_qualified_name":"Q: Does this mean as a Hotspot owner I'm losing out of those 6% rewards?","ident_utf16":{"start":{"line_number":206,"utf16_col":4},"end":{"line_number":206,"utf16_col":76}},"extent_utf16":{"start":{"line_number":206,"utf16_col":0},"end":{"line_number":213,"utf16_col":0}}},{"name":"Q: What’s the minimum number of Validators needed? Is there a cap?","kind":"section_3","ident_start":11089,"ident_end":11157,"extent_start":11085,"extent_end":11426,"fully_qualified_name":"Q: What’s the minimum number of Validators needed? Is there a cap?","ident_utf16":{"start":{"line_number":213,"utf16_col":4},"end":{"line_number":213,"utf16_col":70}},"extent_utf16":{"start":{"line_number":213,"utf16_col":0},"end":{"line_number":219,"utf16_col":0}}},{"name":"Q: How much HNT does it require to stake and become a Validator?","kind":"section_3","ident_start":11430,"ident_end":11494,"extent_start":11426,"extent_end":11536,"fully_qualified_name":"Q: How much HNT does it require to stake and become a Validator?","ident_utf16":{"start":{"line_number":219,"utf16_col":4},"end":{"line_number":219,"utf16_col":68}},"extent_utf16":{"start":{"line_number":219,"utf16_col":0},"end":{"line_number":223,"utf16_col":0}}},{"name":"Q: Is overstaking permitted? If so, what’s the benefit?","kind":"section_3","ident_start":11540,"ident_end":11597,"extent_start":11536,"extent_end":11767,"fully_qualified_name":"Q: Is overstaking permitted? If so, what’s the benefit?","ident_utf16":{"start":{"line_number":223,"utf16_col":4},"end":{"line_number":223,"utf16_col":59}},"extent_utf16":{"start":{"line_number":223,"utf16_col":0},"end":{"line_number":228,"utf16_col":0}}},{"name":"Q: How long is the cooldown period (the length of time the staking amount is locked)?","kind":"section_3","ident_start":11771,"ident_end":11856,"extent_start":11767,"extent_end":11938,"fully_qualified_name":"Q: How long is the cooldown period (the length of time the staking amount is locked)?","ident_utf16":{"start":{"line_number":228,"utf16_col":4},"end":{"line_number":228,"utf16_col":89}},"extent_utf16":{"start":{"line_number":228,"utf16_col":0},"end":{"line_number":232,"utf16_col":0}}},{"name":"Q: How many HNT rewards can a Validator earn?","kind":"section_3","ident_start":11942,"ident_end":11987,"extent_start":11938,"extent_end":12116,"fully_qualified_name":"Q: How many HNT rewards can a Validator earn?","ident_utf16":{"start":{"line_number":232,"utf16_col":4},"end":{"line_number":232,"utf16_col":49}},"extent_utf16":{"start":{"line_number":232,"utf16_col":0},"end":{"line_number":237,"utf16_col":0}}},{"name":"Q: After staking and the block cooldown period would the Validator need to restake the 10k HNT to keep operating?","kind":"section_3","ident_start":12120,"ident_end":12233,"extent_start":12116,"extent_end":12486,"fully_qualified_name":"Q: After staking and the block cooldown period would the Validator need to restake the 10k HNT to keep operating?","ident_utf16":{"start":{"line_number":237,"utf16_col":4},"end":{"line_number":237,"utf16_col":117}},"extent_utf16":{"start":{"line_number":237,"utf16_col":0},"end":{"line_number":243,"utf16_col":0}}},{"name":"Q: How quickly will I receive rewards from staking?","kind":"section_3","ident_start":12490,"ident_end":12541,"extent_start":12486,"extent_end":12692,"fully_qualified_name":"Q: How quickly will I receive rewards from staking?","ident_utf16":{"start":{"line_number":243,"utf16_col":4},"end":{"line_number":243,"utf16_col":55}},"extent_utf16":{"start":{"line_number":243,"utf16_col":0},"end":{"line_number":248,"utf16_col":0}}},{"name":"Q: How will Validators be chosen to participate in the consensus group? How many?","kind":"section_3","ident_start":12696,"ident_end":12777,"extent_start":12692,"extent_end":12952,"fully_qualified_name":"Q: How will Validators be chosen to participate in the consensus group? How many?","ident_utf16":{"start":{"line_number":248,"utf16_col":4},"end":{"line_number":248,"utf16_col":85}},"extent_utf16":{"start":{"line_number":248,"utf16_col":0},"end":{"line_number":253,"utf16_col":0}}},{"name":"Q: Can multiple Validators be associated with (staked from) a single wallet?","kind":"section_3","ident_start":12956,"ident_end":13032,"extent_start":12952,"extent_end":13043,"fully_qualified_name":"Q: Can multiple Validators be associated with (staked from) a single wallet?","ident_utf16":{"start":{"line_number":253,"utf16_col":4},"end":{"line_number":253,"utf16_col":80}},"extent_utf16":{"start":{"line_number":253,"utf16_col":0},"end":{"line_number":257,"utf16_col":0}}},{"name":"Q: How can I participate and host a Validator node? Join the testnet?","kind":"section_3","ident_start":13047,"ident_end":13116,"extent_start":13043,"extent_end":13191,"fully_qualified_name":"Q: How can I participate and host a Validator node? Join the testnet?","ident_utf16":{"start":{"line_number":257,"utf16_col":4},"end":{"line_number":257,"utf16_col":73}},"extent_utf16":{"start":{"line_number":257,"utf16_col":0},"end":{"line_number":261,"utf16_col":0}}},{"name":"Q: How can I prepare to run a Validator node on the testnet?","kind":"section_3","ident_start":13195,"ident_end":13255,"extent_start":13191,"extent_end":13645,"fully_qualified_name":"Q: How can I prepare to run a Validator node on the testnet?","ident_utf16":{"start":{"line_number":261,"utf16_col":4},"end":{"line_number":261,"utf16_col":64}},"extent_utf16":{"start":{"line_number":261,"utf16_col":0},"end":{"line_number":270,"utf16_col":0}}},{"name":"Q: What do I need to run a Validator node?","kind":"section_3","ident_start":13649,"ident_end":13691,"extent_start":13645,"extent_end":14314,"fully_qualified_name":"Q: What do I need to run a Validator node?","ident_utf16":{"start":{"line_number":270,"utf16_col":4},"end":{"line_number":270,"utf16_col":46}},"extent_utf16":{"start":{"line_number":270,"utf16_col":0},"end":{"line_number":281,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/helium/HIP/branches":{"post":"DkgNB40ruzfneeSHgyAAYqR-fy1e7JawAkZSHaQiwtIsR-QVEzLPh9nbk9xAAmKEKnJh3vrBcvzgpfSxoDQUHQ"},"/repos/preferences":{"post":"yDlrjeH0SVz5ChOg_KtJojR3MddwKq0f18_OaXCJAuEpyNrBXSc_3d-eso9aAoCxovP5WLVV2WpjfDxLAgs2fQ"}}},"title":"HIP/0025-validators.md at main · helium/HIP"}