Back
Expired
2024/03/10 → 2024/06/08, 00:00

Design a NonceGeekDAO-themed frisbee, the elements include: Tao Te Ching and Fibonacci spiral.

0.03APT
  • Research
  • cwad
  • cvwa
  • vrw
  • Details
  • Activities
Hunter’s Guide
How to earn crypto as a bounty hunter?
View Guide ↗
Funder
admin-test
Organization
contact
TestHacker_Official
@Test_Hacker
Message
cvwadwawd
Telegram username
Contact ↗
participants
 
Multiple-winner bounty
details

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!

Activities
  • hacker26f90fa submitted a solution on 2024/03/11 14:43
    Description
    cacacac

  • hacker26f90fa submitted a solution on 2024/03/11 14:38
    Description
    fqdfwadwacacacawca

  • hacker26f90fa received 0.0100 APT reward on 2024/03/11 13:38
    Transaction
    0x0438...4a18

  • hacker26f90fa submitted a solution on 2024/03/11 11:02
    Description
    The 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 10:57
    Description
    The solution is submitted via a Notion doc. Please contact me to get the permission to view the doc via email: david.eiber@gmail.com

  • 0.0100 APT was added to the reward pool on 2024/03/11 00:09

  • TestHacker_Official posted a comment on

  • hacker65fe123 submitted a solution on 2024/03/10 23:56
    Description
    cwacwafafacqwca

  • The bounty was created on 2024/03/10 16:40

  • The bounty was expired on 2024/06/08 00:00:00