Design a NonceGeekDAO-themed frisbee, the elements include: Tao Te Ching and Fibonacci spiral.
2024/03/10-2024/06/08
0.03 APT
...
- Research
- cwad
- cvwa
- vrw
Background
Version: CosmosSDK 0.47.5, CometBFT 0.37.2 When creating the vota-ash blockchain, the token precision was set to 18.
Impacts
- This resulted in an larger voting power, exceeding the maximum representation of Max(Int64)/8 of Golang(https://github.com/cometbft/cometbft/blob/v0.37.2/types/validator_set.go#L25). The consequence is that an overflow error occurred during staking delegation, leading to a consensus failure:
- ERR CONSENSUS FAILURE!!! err="failed to apply block; error commit failed for application: error changing validator set: total voting power of resulting valset exceeds max 1152921504606846975"
- This error led to a chain halt, after which block production stopped. We quickly identified that the error relates to DefaultPowerReduction, which is set to be 10^6 by default in CosmosSDK. Because vota-ash network's decimal is 18, the voting power of some validator will easily exceed the defined value above as its delegation grows, there will be an overflow which leads to consensus failure.
Possible solution
We have submitted an issue (https://github.com/cosmos/cosmos-sdk/issues/19321). According to Cosmos developers, we cannot change DefaultPowerReduction directly. Instead, we need to use an on-chain upgrade handler to migrate all validators' voting power. However, we are still looking into how specifically we can do it.
Bounty
We are looking for someone who is familiar with CosmosSDK and/or Tendermint, and advise us on how we can safely implement this update with an on-chain upgrade handler or other means without changing the voting power limit (Max(Int64)/8). Whoever can guide us through the process will be able to claim a $5000 prize in USDC/USDT, after vota-ash successfully updates all validators' voting power and produces blocks safely.
Contact
Please contact vota@dorafactory.org with a proposed solution if you would love to join!
- hacker65fe123 submitted a solution on 2024/03/10 23:56:17WinnerDescriptioncwacwafafacqwca
- TestHacker_Official added 0.0100 APT to the reward pool on 2024/03/11 00:09:53Transaction0xc5df...549e
- hacker26f90fa submitted a solution on 2024/03/11 10:57:29WinnerDescriptionThe solution is submitted via a Notion doc. Please contact me to get the permission to view the doc via email: david.eiber@gmail.com
- hacker26f90fa submitted a solution on 2024/03/11 11:02:50WinnerDescriptionThe solution is submitted via a Notion doc. Please contact me to get the permission to view the doc via email: david.eiber@gmail.com
- hacker26f90fa submitted a solution on 2024/03/11 14:38:16WinnerDescriptionfqdfwadwacacacawca
- hacker26f90fa submitted a solution on 2024/03/11 14:43:34WinnerDescriptioncacacac
- The bounty was expired on 2024/06/08 00:00:00