I thought of this scenario:
Bob posts a contract which will pay users for a solution to a problem, say Bob want's help solving a sudoku or similar.
He posts the sudoku in a contract together with an ether reward.
The contract itself will verify that the solution is correct and pay out the reward.
Alice spends a lot of work solving the sudoku and posts the solution as a transaction to the ethereum block chain.
Since transactions are broadcasted, Eve also reads the solution of the transaction and posts her own transaction with the stolen solution.
Since timestamps are only sequential for each block and miners can get the transactions in arbitrary order, a race condition occurs which enables Eve to get half the rewards, possibly more if she gets help from Sybil. If implementation takes transactions from a pile in a certain order, Eve could also possibly tweak her message to get first in line when a miner processes the transactions
Is there an ethereum-internal way to handle this very common scenario?
One possible way to get around this would be for Alice to send a "solution reservation" transaction, with a hash of the solution, thus reserving it, wait one block and then post the actual solution. She would then be ahead of Eve & Sybil.