SIMD-0437

Incrementally Reduce lamports_per_byte to 696

Author: Igor Durovic (anza) · Category: Core Protocol GitHub →

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