Nelle reti di calcolatori e nei database, il protocollo di aggiornamento a due fasi (conosciuto come 2PC - Two-phase commit protocol) è un algoritmo distribuito che comprende tutti i nodi in un sistema distribuito per convalidare una transazione.
Il protocollo deriva da tutti i nodi che convalidano la transazione o la fanno abortire, anche nel caso di errori di rete o dovuti ai nodi. Comunque sia, in base al lavoro svolto da Skeen e Stonebraker, il protocollo non gestirà più di un errore alla volta.
Le due fasi dell'algoritmo sono la fase di richiesta di validazione, nella quale il coordinatore si occupa di preparare tutti i gruppi e richiedere una convalida, e la fase di validazione, nella quale il coordinatore completa la transazione a tutti i gruppi.
Sin dagli anni '80, la tecnologia di aggiornamento a due fasi è stata usata per il controllo automatico, per monitorare le validazioni e/o il ripristino delle attività riguardanti le transazioni in un sistema di database distribuito. Questa tecnologia viene impiegata quando gli aggiornamenti dei dati necessitano di avvenire simultaneamente in database multipli all'interno di un sistema distribuito. Nei sistemi di database distribuiti gli aggiornamenti a due fasi sono pensati per garantire l'integrità e l'accuratezza dei dati attraverso blocchi sincronizzati di ogni parte di una transazione. Risulta particolarmente utile per le prenotazioni di hotel e aerei, transazioni di merci, transazioni bancarie e per le carte di credito.