I noticed a flaw that applies only to new users or users with few to no upvotes, and low reputation. By exploiting the fact that reputation doesn't go below 1, one could theoretically get undeserved reputation.
There are many variations that could be applied, but one of them is this:
A user asks a bunch of questions, many could be duplicate questions or poor quality questions, any question that is answered before being closed would work. No matter how many down votes the user receives, the following would reverse reputation loss.
It happens because their reputation doesn't go below 1. What could happen is, whenever an answer is added, they either accept the answer or just wait to accept the answer.
They do this to appear like normal users, they could post answers to a few questions to seem like a normal account. What happens is, when they get down voted, they unaccept any accepted answers, their reputation falls to one. They then re-accept the answers, and no reputation would be lost except if the user had ever received any upvotes.
Basically by asking a bunch of bad questions, they can receive a ton of rep by accepting the answers all at once.
This is easily stopped, which is why it would work better with alternate accounts.
Using two alternate accounts (A,B, and C is the main account) they accrue the fifteen rep on A and B by the unaccept and accept method (notice a and b do not answer each other's questions, although on occasion they probably could).
Then A and B upvote a few of the other accounts questions, along with many others by other users in a way to not get flagged for serial upvoting. When A resets rep (unaccept reaccept) B removes their upvotes. A then does the unaccept/re accept, and B re-upvotes, and vice versa.
At the end, A and B get seventy five rep, and create the largest bounty they can, and give a all of their reputation. They then unaccept reaccept their previous questions, and they have successfully duplicated the reputation.
They could theoretically do this with one account, if they could get 37 questions asked. I would like to think we would notice if a single user asked 37 bad questions, but if it were done by 2 or 3 other accounts it would be difficult to trace.
One way to fix this would be to automatically flag if any user unaccepts and reaccepts either the same or another answer on any questions more than x
amount of times, if it is not already. I don't know what number x would represent, but I feel that it should be a low number (5 maybe).
To be clear, I would never try to do anything like this. I sincerely hope that most users would never succumb to the level of using this, or any method of exploiting in the reputation system to earn a little bit of extra reputation. I feel reputation should be earned by asking and answering high-quality questionshigh-quality questions.