mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
Content - Add Proof of Service section (#137)
* Content - Add Proof of Service section - Describe v0.14.0 PoSe scoring * Add LLMQs and PoSe links to main page * Correct un-banning special tx type * Review updates
This commit is contained in:
parent
4dad3915f4
commit
937a179ab8
2 changed files with 60 additions and 0 deletions
|
@ -878,3 +878,61 @@ Note the following timeouts defined by Dash Core related to signing sessions:
|
|||
| MN Broadcast | 10 | Majority | _Deprecated by DIP3 (deterministic masternode list) in Dash Core 0.13._<br><br>If a majority (6+) of nodes agree, a new `mnb` message is not required.
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
### Proof of Service
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The Proof of Service (PoSe) scoring system helps incentivize masternodes to
|
||||
provide network services. Masternodes that neglect to participate receive an
|
||||
increased PoSe score which eventually results in them being excluded from
|
||||
masternode payment eligibility.
|
||||
|
||||
The current PoSe scoring system is based on participation in the LLMQ DKG
|
||||
process. This scoring system will expand over time to incorporate additional
|
||||
service requirements in support of the future Dash Platform (Evolution)
|
||||
functionality.
|
||||
|
||||
| Service | Percent of Score | Requirement |
|
||||
| ----------- | ---- | ------------------- |
|
||||
| LLMQ DKG | 100% | Participate in the DKG process used to establish LLMQs. Requires exchanging messages with other quorum members. |
|
||||
|
||||
**PoSe Score Calculation**
|
||||
|
||||
As shown in the following table, the PoSe Score always decreases by 1 per block
|
||||
as long as a masternode has not been banned. Once banned, the masternode can
|
||||
only be restored by sending a Provider Update Service (ProUpServTx) special
|
||||
transaction.
|
||||
|
||||
| PoSe Parameter | Value | Example Value |
|
||||
|-|-|-|
|
||||
| Maximux PoSe Score | Number of registered masternodes | 5000 |
|
||||
| PoSe Score Increases | Maximum PoSe Score * 2/3 | 3333 |
|
||||
| PoSe Score Decreases | 1 (per block) | Always `1` |
|
||||
|
||||
The current PoSe scoring algorithm increases the PoSe score by 66% of the
|
||||
maximum score for each failed DKG session. Depending on timing, this allows for
|
||||
no more than 2 failures for a masternode within a payment cycle (i.e a
|
||||
number of blocks equal to the number of registered masternodes).
|
||||
|
||||
For example, using the values from above with 5000 masternodes:
|
||||
|
||||
- In the first 5000 block cycle, two DKG failures occur without the PoSe score exceeding the maximum. This happens since a sufficient number of blocks are mined prior to the second failure to drop the PoSe score below the threshold (`< 5000 - 3333`) that would result in banning.
|
||||
|
||||
- In the second 5000 block cycle, the second DKG failure occurs too close to the first and results in the PoSe score exceeding the maximum limit. This results in the masternode receiving a PoSe Ban.
|
||||
|
||||
| Payment Cycle | Block Number | Event | Score Change | PoSe Score | Masternode Status |
|
||||
|-|-|-|-|-|-|
|
||||
| 1 | 1 | DKG Failure (1) | +3333 | 3333 | Valid |
|
||||
| 1 | 1734 | 1733 Blocks Mined | -1733 | 1600 | Valid |
|
||||
| 1 | 1734 | DKG Failure (2) | +3333 | 4933 | Valid |
|
||||
| 1 | 5000 | 3266 Blocks Mined | -3266 | 1667 | Valid |
|
||||
| | | End of Payment Cycle 1| | | |
|
||||
| 2 | 5500 | 500 Blocks Mined | -500 | 1167 | Valid |
|
||||
| 2 | 5500 | DKG Failure (3) | +3333 | 4500 | Valid |
|
||||
| 2 | 7000 | 1500 Blocks Mined | -1500 | 3000 | Valid |
|
||||
| 2 | 7000 | DKG Failure (4) | +3333 | 6333 | PoSe Banned |
|
||||
| 2 | 10000 | End of Payment Cycle 2 | - | 6333 | PoSe Banned |
|
||||
|
||||
{% endautocrossref %}
|
||||
|
|
|
@ -44,6 +44,8 @@ http://opensource.org/licenses/MIT.
|
|||
<p><a href="/en/developer-guide#masternode-payment">Masternode Payment Guide</a></p>
|
||||
<p><a href="/en/developer-guide#masternode-sync">Masternode Sync Guide</a></p>
|
||||
<p><a href="/en/developer-guide#governance">Governance Guide</a></p>
|
||||
<p><a href="/en/developer-guide#masternode-quorums">Masternode Quorums Guide</a></p>
|
||||
<p><a href="/en/developer-guide#proof-of-service">Proof of Service Guide</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue