SIMD-0437
Incrementally Reduce lamports_per_byte to 696
TL;DR
Reduce `lamports_per_byte` incrementally from 6960 to 696 via five steps: 6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436, providing a more granular reduction schedule. Requires SIMD-0392: Relaxation of post-execution min_balance check, to allow for subsequent rent increases if necessary. Requires SIMD-0194: deprecate rent exemption threshold, to avoid unnecessary floating point math when setting the rent params on feature activation.
Summary
Reduce `lamports_per_byte` incrementally from 6960 to 696 via five steps: 6333, 5080, 2575, 1322, and 696. This proposal supersedes SIMD-0436, providing a more granular reduction schedule. Requires SIMD-0392: Relaxation of post-execution min_balance check, to allow for subsequent rent increases if necessary. Requires SIMD-0194: deprecate rent exemption threshold, to avoid unnecessary floating point math when setting the rent params on feature activation.
Motivation
Minimum account balance depends on an arbitrary constant set years ago that has since increased significantly in real terms due to increases in the SOL price. This has made state allocation cost more expensive on mainnet beta than on competitors, with no compelling justification provided by real resource costs. This reduction is split into multiple steps to allow for gradual observation of state growth and to allow for controversial steps to be debated separately. This proposal replaces the 2x reduction previously suggested in SIMD-0436 with a five-step schedule culminating in the final target of 696.
Impact
- Lower rent for app developers. Existing accounts and programs using the higher rent value will be unaffected, besides being allowed to reduce the balance to the new minimum. - Validators: a potential increase in state growth. In the case of excessive state growth, rent can be increased back to the legacy value (0392 allows this without significant disruption to existing accounts). SIMD-0389 does this automatically.
Backwards Compatibility
Rent reduction is strictly a relaxation of existing constraints so all existing program logic will continue to work as before.
Security Considerations
N/A