Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bep173: enable text proposal on BNB Smart Chain #173

Merged
merged 5 commits into from
Nov 18, 2022
Merged

bep173: enable text proposal on BNB Smart Chain #173

merged 5 commits into from
Nov 18, 2022

Conversation

randyahx
Copy link
Contributor

@randyahx randyahx commented Nov 17, 2022

BEP-173: Introduce Text Governance Proposal for BNB Smart Chain

1. Summary

This BEP introduces a text governance proposal for BNB Smart Chain.

2. Status

This BEP is a draft.

3. Motivation

In some scenarios, the community may need a proposal that does not directly cause any changes, like agreeing to a certain strategy, plan, commitment or other statement.

4. Specification

4.1 Introduction

Right now, there are many system parameters that control the behavior of the BSC, e.g. slash amount, cross-chain transfer fees. All these parameters can be determined by the BSC Validator Set together through a proposal-vote process based on staking. The process executes on the BC and the new parameter values will be picked up by either the management module on the BC or corresponding system contracts via the cross-chain communication protocol. The proposals can be classified into two groups:

  1. Param Change Proposal if the parameter takes effect on the Beacon Chain;

  2. Cross Param Change Proposal if the parameter takes effect on the BNB Smart Chain.

This proposal introduces a new kind of proposal to agree on a certain strategy, plan, commitment, future upgrade, or other statements. Text proposals are exclusively a signaling mechanism and focal point for future coordination - they do not directly cause any changes on-chain.

4.2 How to Draft a Text Proposal

First, the proposer needs to determine which kind of proposal should be used. Be sure to review all the details of a specific proposal type. Aside from recording the proposal outcome on the BNB Beacon Chain, a text proposal has no direct effect on the BNB Chain.

There are two key components:

  1. Title - the distinguishing name of the proposal.
  2. Description - the body of the proposal that further describes what is being proposed and the details surrounding the proposal.

Here is a simple text proposal example:

{

    "title": "Redesign the transaction ordering",

    "description": "Transactions with the same gas price are currently ordered by receive time. Since latency becomes critical after the update, nodes have less incentives to include light nodes and nodes located remotely as peers. Nodes are clustered and connected. This causes the nodes to become increasingly centralized and defeats the purpose of decentralization. Do we consider sorting with a noise value added so that order is sorted by T + N(0,sigma)?"

} 

4.3 Governance Stage

4.3.1 Deposit Stage

Anyone can submit a text proposal on the BNB Beacon Chain for others to view. The only cost associated with submitting a proposal is the transaction fee which costs as little as 1 BNB. However, over the course of the voting period, a proposal must have at least 2000 BNB deposited to it in order for it to proceed to the voting stage. This period lasts for at most 2 weeks but if the minimum amount of 2000 BNB is reached sooner, the proposal will proceed to the voting stage immediately. Currently, there is no penalty for delegators and validators who do not participate in governance, though there is a risk to individuals who deposit BNB to a proposal if the proposal does not pass the voting stage, in such case the deposited BNB will be distributed to the validator set.

4.3.2 Voting Stage

The next stage in the governance process is the voting stage which lasts a customized period. Rather than depositing BNB, validator operators in this governance stage are actually voting Yes, No, or Abstain. If a proposal reaches quorum or the minimum threshold defined by the protocol, it will proceed to the next stage for tallying.

4.3.3 Tallying Stage

After the voting stage, the following conditions will be taken into consideration to determine if it passes or not:

  • Quorum: more than 50% of the total staked tokens at the end of the voting period need to have voted
  • Threshold: More than 50% or a majority of the tokens that participated in the vote, excluding "Abstain" votes must have voted "Yes"
  • Veto: Less than 33.4% of the tokens that participated in the vote, not counting "Abstain" votes, have vetoed the decision "No (With Veto)".

If any of these conditions are not met, the deposit associated with the denied proposal will not be refunded. These funds will be sent to the validator set.

4.3.4 Execution Stage

Once a text proposal is passed, it has no direct effect on the BNB Chain. Generic proposals such as a TextProposal must be reviewed by the BNB-Chain developers and the community for decisions on how to manually implement them.

@unclezoro unclezoro changed the title bep154: enable text proposal on BNB Smart Chain bep173: enable text proposal on BNB Smart Chain Nov 17, 2022
unclezoro
unclezoro previously approved these changes Nov 17, 2022
yutianwu
yutianwu previously approved these changes Nov 17, 2022
@randyahx randyahx dismissed stale reviews from yutianwu and unclezoro via 53dd7d4 November 18, 2022 09:01
@unclezoro unclezoro merged commit 58edbb5 into master Nov 18, 2022
Copy link

@jonesk7734 jonesk7734 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants