physics0523's blog

By physics0523, history, 18 months ago, In English

These days, the current usual haking system is in danger because new cheating method was discovered ( this ).
So let me share my ideas for the hacking system instead of the current one.

Current hacking system

  • Contestants can hack the codes of other contestants in the same room during the coding phase.
  • Contestants who can't solve a task or who don't lock their solution can't make hacking attempts at the task.
  • Successful: +100pts
  • Unsuccessful: -50pts

scoring by me

Suggestion 1: Open hacking system(long)

  • Contestants can hack the codes of any other contestants, Like edu.
  • Hacking has around 12h, and no points will be awarded.
  • Any contestants can make hacking attempts on any submissions.
  • Users can copy and execute the codes by themselves.
  • The only benefit for contestants is reducing other contestants' scores.

scoring by me

Suggestion 2: Open hacking system(short)

  • Exactly the same as Suggestion 1, except for the length of the hacking phase.
  • The length of the hacking phase is around 30min, at most 60min
    • these lengths are just my idea

scoring by me

Suggestion 3: Room-division hacking phase

  • Contestants can hack the codes of other contestants in the same room, but it's not at the coding phase but at a hacking phase separated from the coding phase.
  • Duration is 30min or 15min.
    • maybe uncopiable 30min or copiable 15min is good?
  • Any contestants can make hacking attempts on any pretest passed submissions in the same room.
  • Successful: +100pts
  • Unsuccessful: -50pts

scoring by me

Suggestion 4: Room-free hacking phase

  • Any contestants are presented with about min(20,AC count for the problem) submissions (chosen equally, randomly, independently) for each problem.
  • Duration is 30min or 15min.
    • maybe uncopiable 30min or copiable 15min is good?
  • Any contestants can make hacking attempts on any submissions which are presented to the contestants.
  • Successful: +100pts
  • Unsuccessful: -50pts

scoring by me

Suggestion 5: Removing the hacking system

  • Nowadays tests are strong enough(really?) and hacking is a thing of the past.
  • Then, why not remove the hacking feature?

scoring by me

All of my suggestions are preventing to see other contestants' codes during the coding phase, but there may be some ideas to do coding and hacking in parallel like now.
Feel free to share your idea. I'll add them to the list.

  • Vote: I like it
  • +74
  • Vote: I do not like it

»
18 months ago, # |
  Vote: I like it 0 Vote: I do not like it

people can share the hacking test case, so what's the point ?

  • »
    »
    18 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    That would be considered as cheating. People can cheat that way even now

  • »
    »
    18 months ago, # ^ |
    Rev. 2   Vote: I like it +8 Vote: I do not like it

    Leaking hacking testcases are always possible if there is a hacking system.
    The issue with the current hacking system is others' codes become visible during the coding phase if you make a lock. This has the potential to get your code stolen through the hacking feature and less way to prove you are innocent (you didn't leak the solution).

»
18 months ago, # |
Rev. 3   Vote: I like it +18 Vote: I do not like it

Will discussion of problems be allowed in suggestions 3-4? Allowing discussions might make leaking hacks easier, and will allow people who haven't solved the problem to try to hack some solutions.

Not allowing discussions will frustrate anyone who doesn't care about hacks, since they have to wait more time before discussing with other people, effectively increasing the length of the round.

EDIT: I assume that discussion is allowed in suggestions 1-2 since this is the way it works in Div3/Educational rounds.

  • »
    »
    18 months ago, # ^ |
      Vote: I like it -10 Vote: I do not like it

    Of course no in suggest 3-4 because it's scorable.
    Hacking attempts at unsolved problems itself should be possible(having a strong testcase but unsolved is easily occurs and no reason to reject the attempts). I'm thinking it's similar to the challenge phase of topcoder.

»
18 months ago, # |
  Vote: I like it -36 Vote: I do not like it

The only benefit for contestants is reducing other contestants' scores.

Yeah this is great, 12 hours is probably enough time for beethoven97 to hack 200 participants and surpass tourist only through hacking, if this wasn't the case.

»
18 months ago, # |
  Vote: I like it +32 Vote: I do not like it

I feel a 24 hour hacking phase (no extra points) is optimal. If pretests are well designed like in the majority of contests, hacks should only be finding randomized heuristics and similar solutions. 30-60 minutes is not enough to hack such competitions, and it's even harder to do mid-contest. I would prefer a shorter hacking phase, but I believe we need some amount of fairness on time zones, even if the contest aren't so. 12 hours hacking phase is the next best thing. I think waiting a bit for your rating change is okay.