Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.64 KB

REP-0022.md

File metadata and controls

46 lines (32 loc) · 1.64 KB

REP-0022: Enable base fee on Ronin

Preamble

REP-0022
Title: Enable base fee on Ronin
Author: Ronin Core Team
Type: Standard Track
Status: Approved
Created: 2024-08-07

Abstract

This proposal specifies to enable base fee for EIP-1559 transactions on Ronin.

Rationale

EIP-1559 has demonstrated its effectiveness in improving transaction fee market efficiency and reducing transaction fee volatility. The Tripp hardfork has introduced EIP-1559 with a base fee set to zero. In this proposal, we aim to fully enable EIP-1559 by activating the base fee mechanism.

Specification

The base fee is set with a minimum of 1 gwei. This base fee targets 50% full blocks and is based upon the contents of the most recent confirmed block. Depending on how full that new block is, the base fee is automatically adjusted up or down. Below is the pseudocode for the base fee calculation.

def predict_next_basefee(basefee, gasused, gaslimit):
    param = 16 # 4 for Ethereum, 16 for Ronin

    tmp = (gasused - (gaslimit / 2)) * basefee / gaslimit / param
    if tmp == 0:
        return basefee
    elif tmp > 0:
        return basefee + max(1, tmp)
    else:
        return max(10**9, basefee + tmp)

Unlike Ethereum, the base fee on Ronin is not burned but sent to a treasury managed by validators. Accessing these funds requires a voting process, with at least 70% of validator weight approval. The weight of each validator's vote is proportional to their staked amount.

Security analysis

The new feature does not affect the security of Ronin.

License

The content is licensed under CC0.