This document provides an overview of distributed transactions and the two-phase commit protocol used to coordinate transactions that involve multiple servers. It discusses flat and nested distributed transactions, and how the two-phase commit protocol works at both the top level and for nested transactions. Key points covered include how the coordinator ensures all participants commit or abort a transaction, how participants vote in the first phase and then commit or abort based on the coordinator's decision, and how status information is tracked for nested transactions.