Tiếng Anh
« Back
Đã hết hạn

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

Outdated

2024/03/10-2024/06/08

0.03 APT

...

  • Research
  • cwad
  • cvwa
  • vrw
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
  • TestHacker_Official created Bounty vào lúc 2024/03/10 16:40:44
    Giao dịch
    0x0438...4a18

  • hacker26f90fa Đã tham gia vào lúc 2024/03/10 22:41:43

  • hacker65fe123 Đã tham gia vào lúc 2024/03/10 22:45:07

  • hacker65fe123 Đã gửi một giải pháp vào lúc 2024/03/10 23:56:17
    Người chiến thắng
    Miêu tả
    cwacwafafacqwca

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

  • TestHacker_Official Đã thêm 0.0100 APT vào pool phần thưởng vào lúc 2024/03/11 00:09:53
    Giao dịch
    0xc5df...549e

  • hacker26f90fa Đã gửi một giải pháp vào lúc 2024/03/11 10:57:29
    Người chiến thắng
    Miêu tả
    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 Đã gửi một giải pháp vào lúc 2024/03/11 11:02:50
    Người chiến thắng
    Miêu tả
    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 received 0.0100 APT reward on 2024/03/11 13:38:34
    Giao dịch
    0x0438...4a18

  • hacker26f90fa Đã gửi một giải pháp vào lúc 2024/03/11 14:38:16
    Người chiến thắng
    Miêu tả
    fqdfwadwacacacawca

  • hacker26f90fa Đã gửi một giải pháp vào lúc 2024/03/11 14:43:34
    Người chiến thắng
    Miêu tả
    cacacac

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

helper