Why shouldn't I control transactions from the client?

Several reasons, actually: