-
Notifications
You must be signed in to change notification settings - Fork 537
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
[WIP] BEP-176: Validator Reward Model 2.0 #176
Conversation
No offence to person, but this proposal looks extremely stupid. In other chain , let's take ethereum as example, miner gets reward for sealing empty block, true but miner also doesn't get slashed for not sealing in turn. More important, the real reason why miners on ethereum get reward for even empty block is there does be real block reward besides gas spending. It also astonishes me that "It is unethical toward the other validators... to include more transactions into their own block". Then what is bnb-chain/bsc#1186 doing? Unethical ? To include more transactions ? Seriously ? I thought it was talking about FTX.
Simple & Easy. |
All my above opinion is based on that I heard the way some validators are being doing is not good for the network stability. If I'm wrong, please let me know. |
I suggest you review worker: enhancement of the current block generation logic. bsc#1186 better before you criticizing in your first point, because that's exactly what it is. If you think it is take advantage of the imperfection code design or system bugs, then it is. |
you may misunderstand what bnb-chain/bsc#1186 has done. |
Actually "fully use the 3s block" is literally just another saying of "being ambitious" as #1186 has done, exactly the same as what is done by some validators before. The only difference this time is it is merged in master branch. Just being adopted by everyone doesn't make what's "unethical" ethical, unless it was never "unethical". |
Actually, I agree on it, "it is not unethical", I can change the sentence to use other word. |
I think all matters. Let’s think of a simple scenario if all validators fulfill gas limit per block with the same gas price, all validators get the same reward. Now, there are many reality scenes, related with compete gas price, diff txs in your txpool, package time, and Infrastructure influence. So every validator will get a different reward, the same reward just in probabilistic. By the way, BSC hasn’t coinbase reward, only the tx gas fee. All is about fairness, BSC encourage validators to fulfill their block to reach gas limit, encourage validators to exchange txpool as much as possible, encourage broadcast block in time, and get then fairness reward back. That is to aim for a higher smooth TPS in BSC. notice: it's an encouragement only. So BSC needs to improve client performance to keep fairness in block produce bnb-chain/bsc#1186, and redistribute part of reward #176 share high gas price or package more txs from txpool. Validators get slashed or jailed is kill themselves, you will get nothing or little reward. The empty block will get less reward than others, and it’s possible to produce empty block in many scenarios, like txpool empty, Network delay or CPU matter. I think it will balance with eco. |
Appreciate it. However, this way the motivation of this BEP doesn't stand well any more. We already have #1186 to balance rewards among, why do we need model 2.0 to make sure validator which produces empty block still get rewarded? They may did part of its job, but they also failed to finish the entire job, I mean sealing txs in time. I don't see the point to compensate such disfunction. |
The motivation of this BEP is simple: bnb-chain/bsc#1186 did some improvements but there is still a long way to go. First of all, we have to make sure if we can align on the these points: Great appreciate for your feedback, it is important, without the majority of validators's support, this BEP would not be accepted. As you may know, currently BNB Chain does not have the vast validator size as Ethereum has. It is crucial for these validators to participate in building a stronger network. |
It's hard to understand you know the contribution can make network more stable. The normal nodes play a more important part on this topic, but you only talk about validators here. |
I don't feel my question answered. Producing empty block may have some contribution on security, but that's not all the contribution it is supposed to make. Actually, not being slashed is already some kind of reward for 0 block producer. Also, I am curious, is empty block very common recently ? Why is this worth proposing a special BEP? |
well, short reply: "Rome is not built in one day", all of the current Layer1 blockchains are far from perfect, let us just keep building it. |
1.Empty block will lost its dedicated block reward, 50% by default, the ratio can be adjusted through governance. Meanwhile, empty block may only impact its own revenue, does not impact other validator's revenue. It is not encouraged, since it is bad for the overall performance. |
Enough, the whole thing makes no sense to me. I will not comment further. What is "dedicate block reward" ? Lots of terms are referred to without being defined, they just bounced out.
Wait, don't we even need governance to adopt it ? We didn't have governance about whether to adopt BEP-95 But we do have vote on its parameters. Isn't it great? |
But actually the |
I personally vote for the change. It is not in the name of fairness, but for the best of the network.
I look forward to seeing other options but so far this is the most balanced one. The validators who put effort into including more transactions will get hurt, but their effort will not be 100% in vain; while the other validators who don't put effort will not get the full benefits. |
It needs to be said that the real motivation behind this proposal is not to reward validators for empty blocks. Validators that frequently produce empty blocks are either malfunctioning or running on cheap hardware / bandwidth, and there is no reason to reward them at the expense of the other validators who perform well. The real motivation behind this proposal is the fact that some validators are extracting MEV and accept private transactions. As a result, they earn more than the rest and consequently, attract more delegations. As they get more and more delegations, they can add more validators and potentially take control over the network. This is a potential threat, but this proposal will not mitigate it because validators will still get to keep 50% of their individual profit, which is a large enough edge to maintain such a threat. Raising the sharing ratio to 100% might solve this, but that would be a very bad idea because in such a case validators will have no incentive to excel or improve. Instead, their optimal strategy would be to operate by doing the minimum work necessary, as cheaply as possible, and this will result in a degraded network performance. For this reason, I strongly suggest the BNB Smart Chain community to scrap this proposal, and instead debate on whether and how to standardize MEV extraction on the BNB chain. One possible solution is to integrate MEV-Boost built-in the BSC client, similar to the way it is done on Ethereum, to allow all validators to extract MEV. A better longer term solution might be Proposer/Builder Separation on the protocol level, similar to what is planned on Ethereum. In the meantime, the BNB Smart Chain community should be alert that if MEV extracting validators will be prevented from adding more validators to the network, they will have no incentive to share their MEV profits with their delegators. This will result in lower APR for the delegators, which is already at all times low. Increasing delegators APR is another reason to consider standardizing MEV as a priority, as otherwise, more and more delegators will convert their BNB to ETH as the yield for staking ETH on Ethereum is much higher than it is for staking BNB on the BNB chain, thanks in part to the built-in MEV extraction support on Ethereum. |
Thanks for in-depth reply, I would try to explain from my side: 2.MEV is another big topic, but it is 3.Reply to some of your concerns: Q2:validator with higher APR attracts more staking and gradually take over the network 4.I will not scrap this BEP right now, but it would not be enabled in a hurry. We will do further investigation on it to address your concerns. And appreciate the feedback from you and |
BEP-176: Validator Reward Model 2.0
1. Summary
This BEP will introduce a new validator reward model on BNB Smart Chain. As a result of this BEP, the validator staking reward policy is going to be modified such that it is more accurately representative of the validator's contribution to the overall network.
2. Abstract
The mechanism for validator income distribution will be altered when this BEP is implemented. The specifics are still being worked out, but in general, we may divide the overall rewards from gas fees into two parts:
The proportion of each part is up for debate, and validators will have the possibility to alter the value through governance.
The idea suggests that we may favor a slightly greater ratio of the Network Verification Reward vs Block Rewards, given that the primary objective is to validate the network to enable real and secure transactions. Our viewpoint is that transactions are resources shared among validators; a validator should not consider them to be their property.
3. Status
Draft
4.Motivation
Before this BEP, the validator’s reward mostly relied on the transaction gas fee it received, as their only source of rewards is the gas fee for the transaction in the blocks they produce. A validator will get more rewards if it packs more transactions into the block it produces. It was designed to encourage validators to add more transactions, but it didn’t represent the overall contribution that a validator made. In general opinion, a validator should be rewarded even if it only produces empty blocks, because it helps build the network, e.g. verify blocks, keep a copy of the latest network storage state, broadcast blocks and transactions… But validator will lose its dedicated block reward if it produces empty block, so it still encourages validator to add more transactions in its block.
The rewards logic will serve multiple objectives. In addition to transaction inclusion, it is necessary to consider efforts to validate blocks and maintain network security.
Absolute fairness is not an easy goal to accomplish, but we do our best to bring about some improvements with this BEP. We name it Validator Reward Model 2.0, it could have further revisions to keep improving it.
5. Specification
Currently, as defined by the Parlia consensus, block producers will collect the gas fee of each transaction as its reward and distribute it to a system contract temporarily.
The system contract will forward the reward information to Beacon Chain periodically to settle the reward along with the staking information kept on Beacon Chain.
The general procedure will not be changed in this BEP, but 2 steps will be added:
5.1 Mechanism & Governance
A governable parameters: validatorRewardRatio will be introduced in the ValidatorSet Contract. At the end of each block, the Validator will sign a transaction to invoke the deposit function of the contract to transfer the gas fee. The validator reward model logic is implemented within the deposit function that: validatorRewardRatio * ( gasFee - burnRatio*gasFee) will be transferred to the validator contribution funding pool address;
The initial setting:
This process will be carried on BNB Beacon Chain, every community member can propose a change of the params. The proposal needs to receive a minimum deposit of BNB (2000BNB on mainnet for now, refundable after the proposal has passed) so that the validators can vote for it. The validators of BSC can vote for it or against it based on their staking amount of BNB.
If the total voting power of bounded validators that votes for it reaches the quorum (50% on mainnet), the proposal will pass and the corresponding change of the params will be passed onto BSC via cross-chain communication and take effect immediately. The vote of unbounded validators will not be considered into the tally.
6. License
The content is licensed under CC0.