algorithm that coordinates all the processes that participate in a distributed transaction on whether to commit or rollback the transaction