A distributed system is a system whose components are located on different network computers, which communicate and coordinate their actions by passing messages to one another. significant challenges:
- maintaining concurrency of components
- overcoming the [lack of a global clock](#Clock Synchronization)
is a topic of computer science and engineering that aims to coordinate otherwise independent clocks.
- real clocks will differ after some amount to time due to clock drift.
[!Note] clock drift random number Computer clock drift can be utilized to build random number generators. These can however be exploited by timing attacks.
- clock does not run at exactly the same rate as a reference clock.
- gradually desynchronises from other clock.
- computer requires some synchronization mechanism for any high-speed communication.