Design and analysis of distributed algorithms, and impossibility
results showing when some problems are unsolvable. Models of
synchronous and asynchronous distributed computing. Fault models
including crash failures and malicious failures, and communication
models including message passing and shared memory
systems. Distributed algorithms and impossiblity results for problems
such as consensus, Byzantine agreement, clock synchronization, mutual
exclusion, and secure multiparty computation.
Nancy Lynch, Distributed Algorithms, 1st Edition, Morgan
Kaufmann Publishers, 1996.