I completely understand why you'd want to limit your voting to actual registered users. Nevertheless, I'd try to find a way to let visitors pretend to participate. How about tracking votes by non-registered users in a separate tally? When I click to vote, I get a screen that says "Thanks for voting!" and has two sets of results: A "low-quality" set that includes all the non-registered user votes for the last 2 hours (or 12 hours, or 24 hours, or -- if there haven't been too many -- the last week) and a "high-quality" set that only includes registered users. Next to the registered user data is an explanation ("these are the results that really count") and a link ("join our site if YOU want to cast votes that really count!").