It is possible to alienate spam accounts by having each votetlogged via mac id. Of course this can be circumvented by those using multiple devices, but how many can people reasonably log into and vote on? 4? 10? I wouldnt say more than 10.
MAC id can easy be spoofed. It is somewhat difficult to "steal" mac id from someone (it is what mac id does, provide a way to uniquely identify devices on a network. But assuming a random (and propably unique) mac id is really easy
This can be perhaps be negated by having a set vote time for only a short duration. I.e A 1 hour window to cast votes.
This would not prevent people from using bots to cast multiple votes within that timeframe. Captcha can prevent bots, but cannon prevent people from hiring people for casting votes for them. Or event do it for free if there is an incentive to do so.
A few years ago, the Times "online person of the year" vote was completely rigged by 4chaners who casted thousands of vote to put some peoples in 1st, 2nd, 3rd, etc... place such as the first letter of their names would spell a word. All that for free, despite a captcha, only for the lulz.
Alternatively the selection could be made randomly. This may seem daft but would it really be?
Imagine 40 people put their names forward- 20 Bitcoin Businesses, and 20 individuals. 5 from each could be selected randomly online via a live stream. This would remove the element of vote rigging and as its random we would be calling up possibly ever aspect of the community.
Then you're just shifting the problem. If someone is able to create 100 fake identities for himself, he has 100 times more chances to be randomly picked.
In fact maybe he me be picked multiple times. Unless those drafted are required to physically move to the foundation HQ, we cannot know. It's the same problem as with other solution.
Im sure there is a workable way to do this.
I think that the problem of ensuring "one person, one vote" has been on people's mind since the dawn of Internet. A lot of smart people have spent countless hours trying to solve it, and nobody has ever found a satisfactory answer.
The closest we had is "proof of work", which essentially gave "one CPU, one vote"... Until people started making ASIC to have more weight that everybody.
(I guess votes could be cast that way... Requiring people to solve a PoW problem of say... 30 minutes on average, during a voting period of 2 hours. If the problem is not SHA-256 based, then ASIC are useless; it could use scrypt... But it would be funny seeing the bitcoin foundation use scrypt.)