Developers Contest: Slashing Condition Design

Short description

TON Improvement Proposal (or TIP) for “slashing condition” specifications.

Type

Contest

Dates

Starts: 24 June, 2020 at 12:00 PM UTC, Ends: 8 July, 2020 at 12:00 PM UTC

Motivation

Slashing conditions for non-performing validator nodes were not fully implemented in TON. The fisherman code was developed, but no scripts yet were developed to use it.

Without balanced slashing, validators can ignore their obligations or perform with poor quality.

Free TON is aiming to implement slashing for stakes of non-performing validators in order to stimulate better validation quality and to guarantee network performance.

We would like to analyze the experience of existing PoS blockchains facing similar challenges and come up with an optimal solution for Free TON.

As such it should meet the following requirements:

  • Be based on analysis of experience and attacks.
  • Use existing Free TON mechanics
  • Be flexible enough and have config parameters which can be changed through voting.
  • The description should be in clear technical language and sufficiently easy to understand.
  • The solution has to be as automated as possible.
  • The decision making process:
    • must not be based on subjective criteria,
    • should not take a lot of time,
    • should not necessitate any overly specialized technical skills or knowhow from validators
    • and if possible, should not depend on any validator’s desire or opportunity to vote.

General requirements:

Participants should provide:

  1. Analysis of experiences and plans from existing PoS blockchains facing similar challenges: Cosmos, Polkadot, Near, Solana, Tezos.
  2. A technical description – a TON Improvement Proposal (or TIP) for design and implementation of the slashing condition mechanism.
  3. Assessment of required development resources for C++/Rust implementation.

Recommendations:

  1. Add a short abstract in the beginning, before the primary body text of the submission.
  2. If at all possible, please try to keep the number of pages to no more than XX.
  3. Please try to stick to a font that is easy to read, preferably size 12. No Times New Roman please.
  4. Illustrations, including charts and/or other visual aids are always a plus.

Evaluation criteria and winning conditions:

  • Proposals will be judged strictly on the merit of their accuracy in addressing all requirements.
  • Each Jury will vote by rating each submission on a scale of 0 to 10.
  • The 3 top winners will receive 60,000 TONs each.
  • The next 5 runners up will receive 3,000 TONs each.
  • All proposals will receive juror feedback.

The Jury

  • Each of the Initial Members will have a right to nominate 1 person to the jury.
  • The jury membership will be public.
  • The Jury will provide feedback for all proposals.
  • Jury members​ who vote will receive 1,000 Tons each for doing their civic duty.
9 Likes

Is that contest for developers only?

This contest is very necessary!

Good! We take part in this contest.

2 Likes

would you please send a link for more information about the fisherman code?

Good contest! I think community should support it!

can it be in form of a smart contract ? or actually it should be ?

What do you mean by this point?

  • Changes in C++/Rust node?
  • Or contract implementation in C++?
1 Like

It means that the participant should do some assessment of how much development resources should be spent to implement proposed design.

Everyone who can fulfill requirements can make a submission

Any form you can propose, which can guarantee that requirements will be met.

This has been Corrected and re-published. Please continue discussion here: