A protocol used in distributed systems which checks that the effect of a transaction consisting of a series of processes will be successful. If it is, the transaction is committed: if not, the transaction is aborted, and the system which employs the protocol returns to its previous state.