A process and a product based solution to fix cheating at codeforces

TL;DR-:

  • The blog below tells that cheating affects Indians circumlocutory way, startups indirect way, and affects users like you and me directly.
  • we have presented our every argument based on this survey.
  • We propose a product and a process based solution to fix it.
  • We tell how we can collaborate with cf-cheater-database, and bring back old codeforces blog complains style on a different site to solve the issue.
  • We tell how we can make Appeal system useful if suspected-cheater person can see blog discussion on that different site and know what was the real mistake, we discuss about how we can fix the issue of "cheater can learn from evidence to fix mistakes" 
  • We tell about product based solution 
  • We tell about our product's future 
  • We ask feedback and we engage with peoples to solve more issues, and we reveal our testers, feining_for_gm , mindeveloped and others 

How Do Cheating Affects Codeforces-:

Cheating affects lot of things in the world directly and indirectly, if i try to plot everything in a single Stakeholder Map then it will look like this 

In the middle their is blue part which tells that participants lose their rating and contest creator's efforts get wasted, so they get affected the most

and direct Then their is translucent purple part which tells that it kills competitive programming's fairness(because it is solely depend on people's feedback and it is a sport so fairness is it's soul), startups and some companies choose their workers from competitive programming platforms , so they get affected too. 

Then there is a kind of black part with Indians written in it, not directly not because of a reason but just because of stats they are always assumed and criticized as a cheater.


Solution-:

Hey, today I will tell you all about a process-based solution to cheating. remember my solution isn’t product based but process-based. they are different types of innovations.



Before 2025, people used to write blogs about cheaters and write evidence so that a cheater could be banned directly by MikeMirzayanov. But usually, because of filling recent actions with useless content, people often receive downvotes and get banned.

so solution cf-cheater-database helped them not to fill the blogs and instead just use evidence and handle to highlight the user. But it had several problems too. just like, their are some cases in which it some users are tagged as cheater and have to face the consequences even when they have not done anything wrong, and this is the reason why lot of peoples hate cf-cheater-database.




And if someone is tagged without any reason, then he is not provided the evidence made against him. so he can’t even defend himself, and ultimately, the appeal option turns out to be useless and the evidence option is misused.

 So I have decided to create an app where a person can create a blog against a cheater with evidence and sarcasm just like old times. the blog will always be on the website to be seen by the public, and people can upvote the blog if they think that person is a cheater, and downvote if they think that person isn’t a cheater (dislike and like numbers will be visible).

 and there will be a comment section so people can argue about evidence also.

 What will be considered as a valid evidence against cheater-:

  1. Mention that on which submission he cheated.
  2. Mention the contest number.
  3. Mention the author of contest.
  4. Mention the cheater's handle.
  5. Mention the way of cheating.
  6. If it is copied code then give link to submission of other person.
  7. If it is ai code then tell what suspects that he is using AI.

If you submitted a blog with these things included then public will see it and ultimately, if the report is justified by the public, 

then we will add the cheater's name in a JSON file accessible only by me and the owner of cf-cheater-database. 

Then cf-cheater-database will use a script to automatically add the name of every person that is added to my JSON file. The benefits will be that it will have tens of thousands of admins (public) to check evidence and verify it correctly. it will solve the problem of misuse of power. 

Uselessness of the Appeal Function-:

Now let's talk about the uselessness of the appeal function. 

I think cf-cheater-database should just add a "request the evidence against your handle" function on your platform. 

If privacy is a concern, I think you shouldn’t reveal who reported the cheater and whenever someone clicks the report button to report a cheater, you should make them aware with an agreement that "don’t include anything to reveal your info in evidence, if you want privacy". after clicking ok, the user can report correctly.) → ”cheaters can learn from it and reveal the evidence so others don’t make the same mistakes while cheating” — this is the argument that is used to stop making the appeal function any good. But let’s think more about that. I had a chat with fresh_tangerines and aslaan_khan on Codeforces talks, and some people who were cheaters but left it long ago also. 

ultimately, I realized that only 1 in x>168 people leaks the evidence to help others from getting exposed. Instead, they will want others to get exposed thinking that “if I got exposed by doing something, then why is he still not caught?”. 

so I don’t think that they will leak the evidence. another argument is that “cheaters will learn, and next time they won’t leave those hints”. 

anyway, in some cases after lot of request macaquedev do give cheater their evidence, just like he gave AttractorsTheory(an account banned because of cheating) the fake evidence that fresh_tangerines made against him while reporting.

Chat With Cheaters About Exposure-:

To get answers and practicality of that, I had a chat with fresh_tangerines (a cheater who was caught on swarya id and later cheated on fresh_tangerines id — and he wouldn’t have been caught also if he didn’t post a blog revealing that he had cheated). I asked him about how he got caught on swarya id, then became a cheater exposer and wasn’t caught for 4 months on fresh_tangerines id. 

He told me that he stopped removing comments, started changing space bars, minimized variable lengths, and tried to generate AI code first, then expanded the code and space bars as much as possible himself without AI so that the code would become 100% humanized.

 and he also asked AI to generate code in a different language, then converted the code into another language using his mind. that means if a cheater is exposed, even when he doesn’t know what got him exposed, he will still get so skeptical and edit his code as much as possible, ultimately becoming impossible to detect. 

IDs Are Never Banned-: 

Next problem is that ids are never banned, they are only highlighted. When I took a survey of Codeforces CPers using Google Forms, they told me that if cf-cheater-database started banning ids, then it would be so good. 

To solve that problem, I am asking cf-cheater-database consent with this:

 "once a month I will post a single blog from a separate id named cf-cheater-database. the blog will be in this format: " cheater name evidence blog content against him mike pinged cheater name . . . " But it will require me to use cf-cheater-database content, that’s why I am asking for cf-cheater-database’s owner’s permission. 

So if you all think that this idea is good, then tell me, and if there are cons, tell me what to improve in the idea and if I should start working on all of that. 

Problems Created Because of Cheating and Their Solutions-:

The first problem is that 96+% of cheaters on Codeforces are from South Asia, especially India. that is the reason a lot of people think banning South Asians will remove cheating completely. proof of that is here: “a result from a very recent survey that we are running since 6 days”. 




5.3% think that South Asians shouldn’t be allowed to give contests. 

so to fix that, we found out that 98+% of cheaters from South Asia are from India. so I made a team of 500 people and also scheduled a meeting with a CBSE (biggest board which most Indian education schools use) head. With this team and with the help of the leader, we will run an awareness campaign of competitive programming and why fairness is important. We will make everyone aware that cheating here will have no benefits. The campaign will teach and make kids curious about competitive programming also. so in the next 10 years, the competitive programming cheating ratio will decrease a lot.

And the next problem is that a lot of people say “they didn’t know that AI is illegal to use in CP, and they usually just skip the notice and agree on everything because they have a habit of just agreeing on online agreements”. see this data as proof.

solution to this is nothing, if they are saying this then it is their fault, they should get banned.


Product-Based Solution to Tackle Cheating-:

we did a survey, and we built the most voted product solution, here is the survey


what we decided to build was
A product-based solution to tackle cheating on Codeforces and other competitive programming platforms: See, there are 2 types of solutions for that cheating problem. one is product and one is process. 

In a process-based solution, humans have to work themselves to achieve the solution, but in a smart way. 
in a product-based solution, humans will not have to do any work; instead, the tool will do it. 

so here we will talk about a product-based solution. We took a survey of everyone to find out which could be the best product-based solution, and results were obvious but exclamatory. and with survey feedback and community help, we chose this as our product-based idea: “a system which works 24/7 and continuously compares everyone’s rated contest code to each other and AI, and whenever a cheater is found, it notes their name in JSON and at the end of the month, it publishes a blog where the name of all the cheaters and their friends with matching code is written”. We detect if the code is similar to AI/human or not by doing this. we notice space bars, position of words, number of words and letters, and we notice similar words. this helps us to remove false positives completely and help the user find out similar code easily. when a code needs to be checked if it is human or AI, we create 900 versions of the same code using 900 different coding AI. Each AI generates different samples, and we compare the code in a similar way to each sample. 

we have developed a pentagon architecture so advanced that it can detect any kind of code which is copied from ai or humans, some users had this concern


but our advanced and researched algorithm fix that issue easily
Safeguards-:

Email login, IP ban, use rate limit and ban, check if the user is giving the same code with some edits every time, and if it turns out to be true, then we ban him. Right now, we are in a prototype stage, that’s why we are trying to create the same thing with just 3 safeguards and 1 AI integrated. and it will have a very weak local server that I created at my house and a tor domain instead of .com domain for price issues. if people like our prototype, then we will make it professional and production-stage. 


hopefully if our design worked then competitive programming will look again simple like this, and not corrupted-:


 is your product based solution tested??

the short answer is yeah, i saw the records of who had tested it in past, and the people who had used our product and loved it were-: 

2)feining_for_gm
3)and lot of others.

they tested it on prismas.up.railway.com then website was removed to add safeguards and release new version 

how can other codeforces users can help me improve this idea-:

the answer is short and simple, by using tree tactic you all just have to imagine a tree, on the top write the problem statement related to cheating and my blog that you want to solve or improve, write the cause of thing at write causes of this below the problem statement, then write the cause of that cause below the cause and keep doing this in loop until you found the root cause, 

then traverse through the tree again and write the consequences of the cause, beside every cause, and then start solving, ultimately you will find a solution, then just comment the link to photo of tree and the solution on the comment too we will use it as valuable report for our project!!!

 here is example of a tree report -:



IN THE BLOG YOU MAY HAVE HEARD SURVEY A LOT FO TIME, SO YOU CAN ALSO BE PART OF OUR SURVEY BY FILLING THIS FORM(https://docs.google.com/forms/d/e/1FAIpQLSdWbnkv4i4gaBImii3OKjR7UzclVJzTgNyfcWhl1qF5dOubFA/viewform?usp=header)

TYSM! for reading, may i know any further more issues or any more solutions in comments

Comments

  1. great seeing that their are developers who do create large working applications related to plagiarism

    contact me and explain me about pentagon architecture so i can further help you with that

    ReplyDelete
    Replies
    1. dominater replied to my comment!!!!

      i cant belief it

      sir, give me 2 days to create a blog on pentagon

      Delete

Post a Comment