Summary
Proposes enshrining the distributeFor
function call into the execution layer, enabling automatic validator reward distribution at the end of each block without external transactions or bots.
Key Changes
- End-of-Block Execution: Automatic
distributeFor
calls after all transactions, enabling validators to update cutting boards and receive rewards with new allocations in the same block - Mandatory Proposer Pubkey: Require proposer pubkey in all forkchoice attributes after hard fork activation
- Simplified Interface: Use proposer pubkey from forkchoice attributes instead of Merkle proofs
- Frontrunning Prevention: External function disabled after fork to prevent interference with enshrined calls
- Cross-Layer Integration: Requires updates to both beacon-kit (consensus) and execution clients (Geth/Reth)
Benefits
- Guaranteed Execution: Distribution occurs deterministically for every block
- Gas Savings: Eliminates ~1,000,000 gas costs per distribution
- Real-Time Strategy Updates: Validators can modify cutting boards right before distribution, allowing for more efficient bribe fulfillment strategies.
- No External Dependencies: Removes need for distribution bots and eliminates timing uncertainties
Specifications
See the BRIP for full specs BRIP-0004: Enshrined Proof of Liquidity Reward Distribution by rezbera · Pull Request #8 · berachain/BRIPs · GitHub