Governance

E Money Network is a Proof-of-Stake (PoS) Ethereum Virtual Machine (EVM) blockchain where governance plays a critical role in its development, maintenance, and overall evolution. Here's why it's important:

Decentralization and Community Ownership:

  • Unlike Proof-of-Work (PoW) blockchains, where control often concentrates in the hands of large mining pools, PoS democratises participation in network governance. Validators, who are often token holders, have a direct say in shaping the future of the platform.

  • This fosters a sense of ownership and community involvement, incentivizing users to actively participate in decision-making and ensuring the blockchain remains decentralised and resistant to manipulation.

Adaptability and Flexibility:

  • The on-chain governance allows for efficient modifications to the underlying protocol parameters, smart contract standards, and even the blockchain's core logic. This allows the network to adapt to changing technological advancements, user needs, and market conditions.

  • For example, stakeholders can vote on proposals to upgrade network fees, adjust block times, or implement new features, ensuring the platform stays relevant and competitive.

Transparency and Trust:

  • All governance proposals and voting results are stored on-chain, providing complete transparency into the decision-making process. This builds trust among users as they can see how changes are being made and who is participating in the process.

  • Additionally, anyone can submit proposals for consideration, allowing diverse perspectives and ideas to be heard and potentially implemented.

Community-Driven Development:

  • PoS governance promotes active community engagement in the development and direction of the blockchain. Users can propose and vote on new features, bug fixes, and even protocol upgrades, leading to a more robust and user-centric platform.

  • This collaborative approach fosters innovation and ensures the platform continually evolves based on the needs and desires of its user base.

Balancing Stability and Innovation:

  • While allowing frequent changes can promote rapid development, it can also introduce instability and uncertainty. Governance plays a crucial role in finding the right balance between implementing beneficial changes and maintaining the network's stability and security.

  • Deliberation and careful consideration of proposals are essential to ensure that changes are well-tested and have a positive impact on the network's long-term health.

Challenges and Considerations:

  • Effective PoS governance also presents challenges. Voter apathy, manipulation, and potential manipulation by large token holders are issues that need to be addressed through well-designed governance mechanisms and active community participation.

  • Additionally, ensuring informed decision-making requires fostering education and awareness among token holders about technical complexities and potential consequences of proposals.

Veto Threshold in E Money Network Governance

A veto threshold in a Proof-of-Stake (PoS) blockchain governance system is a mechanism that defines the minimum amount of voting power required to reject a proposed change to the network. It acts as a safeguard against hasty or detrimental decisions being implemented, ensuring community consensus and stability.

Here's a breakdown of its key aspects:

Functionality:

  • When a governance proposal is submitted, token holders vote on whether to accept or reject it.

  • The veto threshold defines the percentage of voting power needed to reject the proposal. If the voting power against the proposal reaches or exceeds the veto threshold, it is considered rejected and not implemented.

Significance:

  • The veto threshold balances flexibility with stability. It allows for necessary changes to be implemented through majority consensus while preventing drastic or harmful changes from being enacted without a significant portion of the community opposing them.

  • It encourages careful consideration of proposals and promotes healthy debate within the community.

Typical Values:

  • Veto thresholds can vary depending on the specific blockchain and its priorities. Common values range from 33% to 50% of voting power, although some blockchains may use even higher thresholds for critical decisions.

  • A higher threshold makes it harder to reject proposals but also increases the risk of harmful changes being implemented if not enough voters actively participate.

Factors to Consider:

  • Security: A higher veto threshold can be more secure, preventing malicious actors from easily manipulating votes and enacting harmful changes.

  • Efficiency: A lower threshold can be more efficient, allowing for quicker adoption of beneficial changes.

  • Community Engagement: The threshold should encourage active participation and voting from token holders to ensure true community consensus.

In E Money Network, the thresholds are defined as follows:

"quorum": "0.334000000000000000",

"threshold": "0.500000000000000000",

"veto_threshold": "0.334000000000000000"

While, the threshold is set to ½ where at least 50% of the participating validators need to vote on a proposal, the quorum and veto_threshold is set to ⅓ where at least 33.4% participating validators should vote to propose or deny any proposal in the community.

Lock, Minting, Staking and Slashing in E Money Network

In E Money Network, lock parameters play a vital role in ensuring network security, stability, and decentralisation. Here's a breakdown of their key aspects:

Lock

What are lock parameters?

  • They define the rules and conditions for locking up (staking) tokens to become a validator or delegator on the network.

  • They determine how long tokens must remain locked, influencing the liquidity of tokens and the overall security of the network.

Common lock parameters:

  1. Minimum Stake Amount: The minimum number of tokens required to participate in staking, ensuring a baseline commitment to the network.

  2. Lock-up Period: The duration for which tokens must remain locked, typically ranging from days to months or even years. Longer lock-up periods:

    Promote long-term commitment and discourage short-term speculation. Enhance network security by making it more difficult for attackers to amass enough stake to disrupt consensus.

  3. Unbonding Period: The time it takes to unlock staked tokens after initiating the unbonding process, during which tokens remain illiquid. This prevents immediate withdrawal of large amounts of stake, reducing the risk of sudden disruptions to network stability.

  4. Slashing Parameters: Conditions under which a portion of a validator's stake is penalised for malicious behaviour or failure to perform duties, further discouraging attacks and promoting honest participation.

Importance of lock parameters:

  • Security: Longer lock-up periods and slashing penalties make it costlier for attackers to compromise the network, disincentivizing attacks.

  • Stability: Locked tokens act as a buffer against sudden price fluctuations or large-scale withdrawals, promoting network stability.

  • Decentralisation: Lock parameters can be designed to encourage a wider distribution of stake among more validators, preventing centralization of power.

  • Governance: Token holders often participate in governance decisions regarding lock parameters, fine-tuning the system's balance between security, stability, and liquidity.

Balancing trade-offs:

  • Longer lock-ups enhance security but can reduce token liquidity and potentially discourage participation.

  • Shorter lock-ups increase liquidity but might compromise security.

  • Carefully designed lock parameters are crucial for finding an optimal balance that aligns with the specific goals and values of a PoS EVM chain.

Following are the locking, staking and slashing parameters in E Money Network:

  1. Lock duration is defined as 7 days.

  2. Lock amount is defined as 10000 EMC.

"lock": {

"params": {

"lock_duration": "604800s",

"lock_amount": {

"denom": "emc",

"amount": "10000"

}

Minting

  1. Minting of new tokens is controlled by the following inflation parameter set to 13% annually.

  2. Maximum inflation is set to 20% while minimum inflation is set to 7%.

  3. Goal bonded is set to 67% of the total stake of validators. Goal bonding is a parameter that ensures malicious validators or nodes in the EMoney network can be penalised of their total stake if identified as doing malicious activities such as malicious block/transaction proposal or confirmation.

"mint": {

"minter": {

"inflation": "0.130000000000000000",

"annual_provisions": "0.000000000000000000"

},

"params": {

"mint_denom": "emc",

"inflation_rate_change": "0.130000000000000000",

"inflation_max": "0.200000000000000000",

"inflation_min": "0.070000000000000000",

"goal_bonded": "0.670000000000000000",

}

Staking

  1. Staking parameters are set as follows for EMoney network validators to stake their EMoney tokens to become validators and earn rewards on their stakes.

"staking": {

"params": {

"unbonding_time": "2592000s",

"max_validators": 100,

"max_entries": 7,

"historical_entries": 10000,

"bond_denom": "emc"

} Unbonding time is set to 30 days or 2592000 seconds. Maximum number of validators is set to 100.

Maximum entries are set to 7. Maximum entries refers to the maximum number of historical entries that are stored and accessible for each parameter. This is a technical configuration that affects the amount of historical data available for analysis and decision-making.

Key Considerations:

  • Storage Efficiency: Limiting max entries helps manage storage space on blockchain nodes and reduces the computational overhead of processing large datasets.

  • Data Relevance: Older parameter values might become less relevant for current decision-making, so storing a limited history can be sufficient.

  • Governance and Analysis Needs: Balancing storage efficiency with the need for historical data to inform governance decisions and research activities is crucial.

Specific Examples:

  • Reward Rate: The max entries might specify how many historical values of the reward rate are stored, allowing users to track its evolution over time.

  • Commission Rate: The max entries would determine how many past commission rates set by validators are accessible for reference.

  • Validator Set Size: The max entries would set a limit on the number of historical data points about the number of active validators on the network.

Historical entries are set to 10000.

Historical entries refer to the chronologically recorded values of these parameters over time. This data provides valuable insights for various stakeholders, including:

i. Understanding Past Evolution:

  • Trace how staking parameters have been adjusted in response to network conditions, governance decisions, or community feedback.

  • Analyse the rationale behind past changes and anticipate potential future adjustments.

ii. Tracking Parameter Trends:

  • Identify patterns or trends in parameter changes, such as gradual increases/decreases in reward rates or adjustments to lock-up periods.

  • Utilise this information for investment strategies or risk assessments.

iii. Evaluating Validator Performance:

  • Assess validators' track records over time, including their commission rates, uptime, and participation in governance.

  • Make informed decisions about delegator-validator relationships based on historical data.

iv. Research and Analysis:

  • Researchers and analysts can use historical data for in-depth studies on network dynamics, token economics, and governance effectiveness.

  • Findings can inform future protocol development and best practices.

Slashing

  1. Slashing refers to the process of penalising validators on the E Money Network who engage in malicious behaviour or fail to perform their duties properly. This mechanism is crucial for maintaining network security, integrity, and decentralisation.

Here's how slashing works in E Money Network:

When does it happen?

Slashing occurs in several situations:

  • Double-signing: When a validator signs two different versions of the same block, essentially attempting to cheat the system.

  • Downtime: When a validator is offline for an extended period, neglecting its crucial role in validating transactions.

  • Misconduct: Engaging in other malicious activities that harm the network, such as providing false information or manipulating consensus mechanisms.

What are the consequences?

When a validator commits an offence triggering slashing, they face several penalties:

  • Loss of a portion of their staked tokens: This acts as a significant financial disincentive for misbehaviour. The specific percentage of tokens slashed depends on the severity of the offence and pre-defined slashing parameters.

  • Reputation damage: Validators who get slashed typically experience a loss of trust from delegators, potentially affecting their future stake and rewards.

  • Possible temporary or permanent disqualification: Repeated or major offences might lead to validators being removed from the validator set, further protecting the network.

Why is it important?

Slashing plays a vital role in several ways:

  • Security: By penalising malicious behaviour, it discourages attacks and maintains the network's integrity.

  • Accountability: It ensures validators remain responsible and engaged in fulfilling their duties.

  • Decentralisation: It prevents the concentration of power by penalising large validators who attempt to manipulate the system.

  • Fairness: It creates a level playing field for all validators, promoting trust and transparency.

Considerations for Stakeholders:

  • Validators: Be familiar with slashing parameters and actively monitor their nodes to avoid downtime or accidental double-signing.

  • Delegators: Choose validators with a good track record and consider diversifying your stake across multiple validators to minimise risk.

  • Community: Participate in governance discussions about slashing parameters to ensure they are effective and fair.

Slashing parameters are defined as follows on E Money Network

"slashing": {

"params": {

"signed_blocks_window": "100",

"min_signed_per_window": "0.500000000000000000",

"downtime_jail_duration": "600s",

"slash_fraction_double_sign": "0.050000000000000000",

"slash_fraction_downtime": "0.010000000000000000"

}

i. "signed_blocks_window" refers to a specific time period during which a validator's signing activity is tracked and scrutinised for potential misbehaviour. It's a crucial parameter for detecting and penalising double-signing, a serious offence that can undermine network security. "signed_blocks_window": "100" Here's how it works:

  • Tracking: The blockchain continuously monitors the blocks signed by each validator within the defined signed_blocks_window.

  • Detection: If a validator signs two blocks with the same height (attempting to create conflicting versions of the blockchain), it's flagged as double-signing.

  • Proof: Evidence of the double-signing is retained for a certain duration (proof_window), allowing anyone on the network to report the offence and initiate slashing.

  • Penalty: If the offence is successfully reported and validated, the validator is slashed, losing a portion of their staked tokens as punishment.

Purpose:

  • Preventing Double-Signing: The signed_blocks_window makes it difficult for validators to get away with double-signing, as their actions are closely monitored and recorded.

  • Ensuring Validator Integrity: It encourages validators to act honestly and responsibly, as they know their behaviour is being tracked and they could face significant penalties for misconduct.

  • Protecting Network Security: By disincentivizing double-signing, the signed_blocks_window contributes to the overall security and integrity of the blockchain.

ii. "min_signed_per_window" refers to the minimum number of blocks a validator is expected to sign within the specified signed_blocks_window. It's a crucial parameter for ensuring validator participation and preventing downtime, which can negatively impact network performance and security. "min_signed_per_window": "0.500000000000000000",

Here's how it works:

  • Expectation: Each validator is expected to actively participate in block validation and signing during the signed_blocks_window.

  • Monitoring: The blockchain tracks the number of blocks signed by each validator within the window.

  • Threshold: If a validator falls below the min_signed_per_window threshold, it's considered to be inactive or experiencing downtime.

  • Penalties: Validators who fail to meet the minimum signing requirement can face consequences, such as:

  • Slashing: A portion of their staked tokens can be slashed as a penalty for not fulfilling their duties.

  • Reputation Damage: They might lose trust from delegators and receive fewer staking delegations in the future.

  • Temporary Disqualification: They could be temporarily removed from the validator set until they demonstrate reliable participation.

Purpose:

  • Ensuring Availability: The min_signed_per_window parameter helps maintain a healthy and active validator set, ensuring that enough nodes are consistently available to validate transactions and secure the network.

  • Preventing Downtime: It discourages validators from neglecting their responsibilities or having unreliable infrastructure, which could lead to network slowdowns or security vulnerabilities.

  • Promoting Accountability: It holds validators accountable for their participation and ensures they are actively contributing to the network's consensus mechanism.

Key Considerations:

  • Threshold Setting: The appropriate value for min_signed_per_window depends on factors like the block production rate, network congestion, and the desired level of validator activity.

  • Attack Prevention: Setting a reasonable threshold can also help prevent certain denial-of-service attacks aimed at causing validators to miss blocks and face penalties.

  • Governance: Token holders often have the ability to participate in governance decisions to adjust min_signed_per_window and other slashing parameters as needed to balance network security and fairness.

iii. "downtime_jail_duration" refers to a temporary penalty period imposed on validators who experience excessive downtime or fail to meet certain performance requirements. It serves as a mechanism to discourage validator negligence, ensure network reliability, and protect delegators' staked tokens.

"downtime_jail_duration": "600s"

Here's how it works:

  1. Triggering Downtime Jail:

    A validator might be placed in downtime jail if they:

    • Miss-signing a significant number of blocks within a specified window (often related to the min_signed_per_window parameter).

    • Experience prolonged offline periods due to technical issues or maintenance.

    • Engage in other behaviours that compromise their ability to actively participate in consensus.

  2. Duration of Jail:

    • The validator is barred from participating in block production and earning rewards for the specified downtime_jail_duration.

    • This duration can vary depending on the blockchain's governance rules, but it typically ranges from hours to days.

  3. Impact:

  • During downtime jail, the validator's staked tokens remain locked, preventing them from withdrawing or redelegating them.

  • They also miss out on potential staking rewards during this period.

  • Downtime jail can negatively impact a validator's reputation and trustworthiness among delegators.

Purpose:

  • Deterring Negligence: The threat of downtime jail incentivizes validators to maintain reliable infrastructure and actively participate in block production.

  • Protecting Delegators: It safeguards delegators' staked tokens by preventing validators with poor performance from continuing to accrue rewards or potentially jeopardise staked funds.

  • Ensuring Network Reliability: By discouraging excessive downtime, it contributes to the overall stability and performance of the blockchain network.

Key Considerations:

  • Balanced Duration: Setting an appropriate downtime_jail_duration is important. Too short might not provide enough disincentive, while too long could disproportionately punish minor issues or discourage participation.

  • Governance: Token holders often have the ability to participate in governance decisions to adjust downtime_jail_duration and other slashing parameters as needed to balance network security and fairness.

  • Reputational Effects: Downtime jail can have significant reputational consequences for validators, affecting their ability to attract delegators in the future.

iv. "slash_fraction_double_sign" refers to the precise percentage of a validator's staked tokens that are slashed (forfeited) as a penalty for double-signing. It's a crucial parameter for deterring this serious offence, which can undermine network security and integrity.

"slash_fraction_double_sign": "0.050000000000000000"

How it Works:

  1. Double-Signing Detected: When a validator is caught signing two conflicting blocks at the same height, indicating an attempt to create multiple versions of the blockchain, the slash_fraction_double_sign parameter comes into play.

  2. Calculating the Penalty: The validator's total staked tokens (including their own stake and any delegated tokens) are multiplied by the slash_fraction_double_sign value to determine the exact amount to be slashed.

  3. Imposing the Penalty: The calculated amount of staked tokens is immediately removed from the validator's account, reducing their overall stake and potentially affecting their ability to continue validating.

  4. Distribution of Slashed Tokens: The slashed tokens are typically distributed to other network participants, such as a community pool or remaining validators, as a way to compensate for the harm caused by the double-signing attempt.

Purpose:

  • Strong Deterrence: The severity of the slash_fraction_double_sign penalty serves as a powerful disincentive for validators to engage in double-signing. The potential loss of a significant portion of their staked tokens can significantly outweigh any potential gains from malicious behaviour.

  • Protecting Network Integrity: By severely penalising double-signing, the slash_fraction_double_sign parameter helps to maintain the consistency and trustworthiness of the blockchain's data, ensuring that all participants are operating on a single, agreed-upon version of the ledger.

  • Promoting Accountability: It holds validators responsible for their actions and demonstrates that serious offences will not be tolerated, fostering a more secure and reliable network environment.

Key Considerations:

  • Balanced Penalty: Setting an appropriate slash_fraction_double_sign value is crucial. Too high a penalty could discourage participation, while too low a penalty might not adequately deter malicious behaviour.

  • Governance: Token holders often have the ability to participate in governance decisions to adjust slash_fraction_double_sign and other slashing parameters as needed to maintain network security and fairness.

  • Reputational Damage: Double-signing and subsequent slashing can have significant reputational consequences for validators, affecting their ability to attract delegators and maintain trust within the community.

v. "slash_fraction_downtime" refers to the specific percentage of a validator's staked tokens that are slashed (forfeited) as a penalty for excessive downtime or failure to meet performance requirements. It's a measure designed to discourage validator negligence and maintain network reliability.

"slash_fraction_downtime": "0.010000000000000000"

How It Works:

  1. Triggering Downtime Slashing: When a validator's performance falls below certain thresholds, such as: Missing a significant number of block signings within a defined window (related to the min_signed_per_window parameter). Experiencing prolonged offline periods. Failing to maintain adequate hardware or software infrastructure.

  2. Calculating the Penalty: The validator's total staked tokens (including their own stake and any delegated tokens) are multiplied by the slash_fraction_downtime value to determine the exact amount to be slashed.

  3. Imposing the Penalty:

  • The calculated amount of tokens is immediately removed from the validator's account, reducing their stake and potentially affecting their ability to continue validating.

  • The slashed tokens are typically redistributed to other network participants, such as a community pool or remaining validators.

Purpose:

  • Deterring Negligence: The threat of losing a portion of their stake incentivizes validators to maintain reliable infrastructure, stay online consistently, and actively participate in block production.

  • Protecting Network Performance: By penalising validators who contribute to network slowdowns or instability, it helps ensure a smoother and more reliable user experience for everyone.

  • Encouraging Accountability: It holds validators responsible for fulfilling their duties and demonstrates the importance of active participation in network consensus.

Key Considerations:

  • Balanced Penalty: Setting an appropriate slash_fraction_downtime value is crucial. Too high a penalty could discourage participation, while too low a penalty might not adequately deter negligence.

  • Governance: Token holders often have the ability to participate in governance decisions to adjust slash_fraction_downtime and other slashing parameters as needed to balance network security and fairness.

  • Reputational Effects: Downtime slashing can negatively impact a validator's reputation and trustworthiness, affecting their ability to attract delegators in the future.

Last updated