Source Print Discuss
đź”° Final Standard

PIP-26: Minimum Availability Score

Authors B00f (@b00f)
Discussion View Discussion PIP-26
Created 09-06-2024


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.


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.


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.



Copyright and related rights waived via CC0.