Better upvoting algorithm

reduce db interaction per upvote