O processamento de transações sobre bancos de dados está calcado na idéia de atomicidade, que significa que uma transação deve ser completamente efetuada ou rejeitada. Para transações distribuídas, o algoritmo usualmente empregado para garantir tal propriedade é conhecido como: