As the Stack Exchange websites grow and become more popular I see a few problems that are arising/could eventually arise. Reputation is a useful metric for me personally - it often determines which answers I read and which I skip - so I think this is a valid question. Now I'm sure, the people who run the websites have a whole range of statistics that help them to figure out who is farming reputation and who is not. I am just trying to think of ways that this information could be displayed to the public on each persons profile.
Take, for example, mutual upvoters (you upvote me, I'll upvote you). One way you could make this more transparent to the public (to see which people are doing this) is to have an upvote history. In this history it would display the profiles that you are upvoting. If you notice that John Doe is repeatedly upvoting Jane Doe and vice versa (and nobody else is upvoting them) then you might use that information to judge the quality of their answers better in the future. You could do the same thing with serial downvoters.
The goal of all of this would be to promote more high quality answers/questions. Now I know there are drawbacks to having an upvote/downvote history - one is that people might be hesitant to repeatedly upvote someone for fear that they might appear to be helping them farm rep. But I think the users can judge for themselves based on the quality of that persons answers and the other people that are upvoting them.
Again, my question is: Assuming mutual upvoting is a problem or could become a problem, what systems are currently in place to prevent mutual upvoting schemes and/or what future systems could be put in place to discourage it?
NOTE: Just so you know where I'm coming from as the question asker: most of my experience is with Stack Overflow - and given the nature of how nebulous programming can be - I think it, and other exchange sites like it, are the most vulnerable to this type of behavior.