-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Some validators adds more transactions to the block & gains more reward. #1183
Comments
Yea, we have noticed it. And we are trying to figure out a proposal to address this problem. |
There is a PR try to eliminate the problem, make mining more fair and follow the GasPrice rule as well. |
If it is not fair and not acceptable, since the validators are elected by BNB holders, why not anyone propose to vote down these BAD validators or even slash them? |
Slash them may not be a good solution. Although they got more rewards, they have not broken the law right now. |
Fair enough. It would be better if we can solve the problem through code. I have another concern is that with the bug fix, can we really stop these validators broadcast their blocks for about 1-2 seconds late to package even more transactions. In theory if a validator A broadcasts a block too late, other validators will propose blocks trying to replace the late block. Then there will be a competition and several reorgs maybe. But actually the candidate block most likely would be proposed by the 8 validators motioned above (maybe they also changed the code to propose the candidate earlier) |
There are MANY things some validators are doing to increase the rewards. Reorganizing transactions to own benefit, etc. I've noticed also some chainlink oracles are starting to expose their transactions only to Avengers and friends validators, having not competition to liquidation bots. That's the problem when you have only 21 validators, it is easy to cheat. For example, look this venus liquidation bot xD 0xd915cb4a5384b473378939e671a243c6e93a08a5 I think there is not much to do. |
After the v1.1.18 update, this issue looks like resolved. |
Normally validators adds transactions to the block which between (Block.Timestamp - 6000ms~) and (Block.Timestamp - 3000ms~). #107 #239
But some validator adds transactions to the block which between (Block.Timestamp - 6000ms~) and (Block.Timestamp - 500ms~).
Because of this, some validators adds more transactions to the block than other validators and gains more reward.
I wrote a simple script and detected some of those validators:
Their APRs are higher than the others. https://www.bnbchain.org/en/staking
Some validators in this list also mentioned in the following issues: #1101 #1170
I think they are using a patch something like #1151 for their custom geth.
Example Data
{BlockNumber} - {ValidatorAddress} - ...
Normal Block Flow
Abnormal Block Flow
These validators is sort of stealing transactions (and rewards) from the next validator.
Is this normal and acceptable?
The text was updated successfully, but these errors were encountered: