1. A method for commutativity detection in the generalized Paxos algorithm comprising: receiving a vote for a command from one of a plurality of acceptors at a learner, wherein the learner is associated with a state machine, the command is executable by the state machine, and the vote is associated with a ballot; determining if the ballot associated with the vote is newer than a current ballot, and replacing the current ballot with the ballot associated with the vote if it is determined that the ballot associated with the vote is newer than the current ballot; determining if the voted for command commutes with a set of previously voted for commands from the acceptor for the current ballot by executing the voted for command in a transactional substrate associated with the state machine, and if so, adding the voted for command to the set of previously voted for commands from the acceptor; determining if a quorum of acceptors has voted for an equivalent set of commands from the set of previously voted for commands; and committing the state machine to each command from the equivalent set of commands if it is determined that a quorum of acceptors has voted for an equivalent set of commands.