1. A fault-tolerant data processing computer system utilizing a two-tier state machine aimed for distributed data stores, the system comprising: a network of computing devices having functions and consecutively numbered commands, one of said devices being designated as a leader for sending proposed commands to the other devices in ballots for a given command number, means for defining a majority set of the devices such that any two majority sets selected in a similar manner will have at least one device in common, means for sending a message from the leader to the other devices in the majority set to indicate that the leader is going to propose commands, means for sending reply messages from the other devices in the majority set to the leader identifying the most recent ballots for given command numbers in which they have voted, such that the commands for the given command numbers are not yet issued, means responsive to the reply messages from the devices in the majority set for sending a ballot to the devices in the majority set for a given command number on some command voted for in a previous ballot for said command number, such that the command for said command number is not yet issued, means responsive to the reply messages from the devices in the majority set for sending a ballot to the devices in the majority set on a command for some command number for which no commands have yet been proposed, means for exchanging votes between the devices, means to ensure that all devices agree a command is issued, wherein: said commands are being the results of executing said functions by some computing device, where the order of function executions determines the logical precedence between commands, said leader is designated also for executing functions, the means responsive to the reply messages for sending a ballot for a given command number on some command voted for in a previous ballot, include choosing the command that was identified as being the one most recently voted for in a previous ballot for said command number, such that declaring said command as issued does not break the logical dependency between issued commands, or if there is no such command, choosing any arbitrary command, the means to ensure that all devices agree a command is issued include requiring that (i) the devices in the majority set voted for the proposed command in some ballot, and (ii) the precedent command of said command was issued, in the event said command is not to be issued for the first command number, the means responsive to the reply messages for sending a ballot for a given command number on some command voted for in a previous ballot, and the means responsive to the reply messages for sending a ballot for a given command number for which no commands have yet been proposed, are independent means and can be active at the same time.