PIP-26: Minimum Availability Score
Authors | B00f (@b00f) |
---|---|
Discussion | View Discussion PIP-26 |
Category | Core |
Created | 09-06-2024 |
Table of Contents
Abstract
This proposal suggests setting the Minimum Availability Score to 0.666667 for validators in the Pactus network. This score ensures that validators who fail to meet this threshold cannot propose a block, thereby maintaining the network’s stability and reliability.
Motivation
Based on PIP-19 1, validators with an Availability Score below the Minimum Availability Score cannot propose blocks. Therefore, it is essential to set a fair and effective minimum threshold to ensure network performance and security.
Specification
The Availability Score ($S_i$) is calculated by dividing the number of blocks that a validator has signed ($V_i$) by the number of times a validator could sign a block ($N_i$):
\[S_i = \frac{V_i}{N_i}\]When a block is created, non-faulty validators should include all the signatures they receive in the block certificate. However, faulty validators may fail to do so, either intentionally or unintentionally.
Let’s assume a worst-case scenario where up to 1/3 of validators may be faulty (e.g., due to poor internet connections, unsynchronized clock, selfish behavior, etc.). As a result, a validator’s signature might only be included in 2/3 of the blocks they are supposed to sign:
\[V_i = \frac{2}{3} \times N_i\]Therefore, the Minimum Availability Score $S_{min}$ is calculated as:
\[S_{min} = \frac{\frac{2}{3} \times N_i}{N_i} = \frac{2}{3} \approx 0.666667\]Backward Compatibility
Once the majority of nodes adopt this number, validators with lower scores will no longer receive rewards.
Security Considerations
This proposal should improve the security of the protocol, as validators will tend to monitor their nodes to avoid falling below the minimum threshold.
References
Copyright
Copyright and related rights waived via CC0.