The challenge is efficiently collecting the votes... far better to have a trusted feed with profit motive for providing accurate data... then have all bets reference the feed. Risk of cheating would be priced in and bets could reference 3 feeds if they do not trust one feed... at 3x the cost.
Voting is inefficient and slow. Avoid as much as possible.
Could a distributed oracle work for this? I've been reading up on zk-SNARK and distributed oracles. It might be able to be much more automated than voting.
A sporting event for example if it's on television will produce different signals depending on which team wins for example. Again maybe it's too soon to discuss zk-SNARK in conjunction with distributed oracles but that could be a way to go.
Imagine an app could be run on the machine which sees the sporting event from the perspective of the user. Suppose the sporting event were on Youtube and you run the app in the background and when it hears voices in the video reflecting the score it snapshots the event and sends up to a blockchain.
Scale up and the more people who do this the more accuracy it will have. The app would simply look for a signal within the video stream itself which indicates team a or team b as the winner. Visual or pattern recognition, voice recognition, any of these would work just fine. A human being wouldn't even be necessary if a sensor were smart enough to see an event and send the result to the blockchain.
The AI would hear the scores, voice recognition would detect the signals, it would be sent to the blockchain. No humans involved and completely automated. The AI would see the result along with the text on the screen, it would take a snapshot, and send it to the blockchain. Could even work as an app for Google Glass.
If necessary to make sure we have redundancy the app could capture and store an image or audio clip, encrypt it, and if there is any dispute over the result (if people don't trust the accuracy of the AI) then the audio and video clip can be reviewed by humans with voting.