Mainnet parameter discussions: Knowable's proposal

Hello everyone!

I’d like to refresh the discussion here just ahead of v0.44.0 and summarize what seems to be the latest consensus on the initial parameter values. The current values as I see them are detailed in the following .toml style:

# General protocol parameters.
[parameters]
native_token = "NAM"
is_native_token_transferable = false # Phase 5: turn to true
min_num_of_blocks = 2700 # assume 6 second blocks and 6 hour epochs
max_tx_bytes = 1048576
max_proposal_bytes = 6291456
vp_allowlist = [] # Fill in before mainnet
tx_allowlist = [] # Fill in before mainnet
implicit_vp = "vp_implicit"
epochs_per_year = 1460 # assumes 6 hour epochs
masp_epoch_multiplier = 4
max_block_gas = 5_000_000
masp_fee_payment_gas_limit = 250_000 # added in v0.44.0
gas_scale = 10_000 # added in v0.44.0

# Map of the cost per gas unit for every token allowed for fee payment
[parameters.minimum_gas_price]
nam = "0.00001" # assume max gas per block of 5M, costs 50 NAM to fill block

# Proof of stake parameters.
[pos_params]
max_validator_slots = 255
pipeline_len = 2
unbonding_len = 53
tm_votes_per_token = "1"
block_proposer_reward = "0.125"
block_vote_reward = "0.1"
max_inflation_rate = "0.0" # Phase 2: turn to 5%
target_staked_ratio = "0.4"
duplicate_vote_min_slash_rate = "0.001"
light_client_attack_min_slash_rate = "0.001"
cubic_slashing_window_length = 1
validator_stake_threshold = "1000000000" # 1000 NAM
liveness_window_check = 10_000 # assuming 6s blocks, the window for evaluating is 16.67 hours
liveness_threshold = "0.1" # assuming 6s blocks, must sign 10% in a 16.67 hour window
rewards_gain_p = "0.25" # will check if recalibration needed
rewards_gain_d = "0.25" # will check if recalibration needed

# Governance parameters.
[gov_params]
min_proposal_fund = 2000 # 2000 NAM deposited to make gov proposal
max_proposal_code_size = 1_000_000 // in bytes
min_proposal_voting_period = 12 # Phase 5: turn to 29
max_proposal_period = 84 # 21 day voting 
max_proposal_content_size = 10000
min_proposal_grace_epochs = 0 # Phase 5: turn to 8
max_proposal_latency = 8 # max 2 day delay between launching proposal and voting start

# Public goods funding parameters
[pgf_params]
stewards = []
pgf_inflation_rate = "0.0" # Phase 2: turn to 5%
stewards_inflation_rate = "0.0" # Phase 2: turn to 0.5%
maximum_number_of_stewards = 1 # added in v0.44.0

# IBC parameters
[ibc_params]
default_mint_limit = "0" # Phase 3: NEED TO COME UP WITH VALUE
default_per_epoch_throughput_limit = "0" # Phase 3: NEED TO COME UP WITH VALUE

There are three new parameters introduced in v0.44.0: masp_fee_payment_gas_limit , gas_scale, and maximum_number_of_stewards. The values of the first two were recommended by the engineer responsible for the gas mechanism. The maximum number of stewards at any given time is proposed to be 1 to begin the network. Adding another PGF steward with a gov proposal down the line would just also require increasing the max_number_of_stewards.

Please feel free to continue the discussion and express agreement or disagreement with the current params.

2 Likes