We cannot reasonably talk about an algorithm or protocol without talking about the assumptions we are making about the underlying system. This set of assumptions is known as the system model. A system model is a set of assumptions governing the behavior and interactions of a system’s components. You can think of a system model as a board game: The game sets the stage and sets the rules while the players have to devise a strategy to achieve the objective of the game within the constraints of...