Planeamento

Aulas Teóricas

Presentation of the course

Presentation of the course structure and evaluation method.

Communication channels

Modeling communication channels. Different types of channels. Implementing a perfect point-to-point channel.

Carnival

Carnival. There were no classes on this day.

Failure Detectors

Implementing failure detectors in distributed systems. Unreliable failure detectors.

FD and Reliable multicast

Failure detectors with Byzantine nodes. Properties of (regular) reliable multicast. Implementation of reliable multicast.

Uniform reliable multicast

Properties of uniform reliable multicast. Implementing uniform reliable multicast.

Multicast with Byzantine nodes

Implementing multicast in the presence of Byzantine nodes. Byzantine Consistent Broadcast. Authenticated Echo Broadcast.

Byzantine Reliable Broadcast and Intro to Registers

Conclusion of the algorithms for Byzantine Reliable Broadcast. Introduction to registers. Regular and Atomic registers.

Atomic registers

Implementation of atomic register in the fail stop and fail silent models.

Register transformations

Some transformations with registers.

Registers with Byzantine nodes

(1,n) Regular register using authenticated-data.

(1,n) Safe register using authenticated channels

Byzantine Regular Register

Fail-Arbitrary Algorithm: Double-Write Byzantine Quorum.

Byzantine Atomic Register

Fail-Arbitrary Algorithm: Byzantine Quorum with Listeners.

Regular Consensus

Consensus in the fail stop model.

Uniform consensus

Uniform consensus in the fail-stop model.

Consensus in the fail-noisy model

Consensus in the Fail-Noisy model.

Consensus in the fail-noisy model

Continuation form the previous class.

Probabilistic consensus

Probabilistic solutions to consensus. Randomized Binary Consensus. Randomized Binary Consensus with Byzantine registers.

Byzantine agreement

Fail-Noisy-Arbitrary Algorithm: Byzantine Leader-Driven Consensus.

Byzantine agreement

Fail-Noisy-Arbitrary Algorithm: Byzantine Leader-Driven Consensus. (continuation)

Byzantine Randomized Consensus

Randomized Fail-Arbitrary Algorithm: Byzantine Randomized Binary Consensus. Epoch change algorithm.

Non-blocking Atomic Commit

Consensus-Based Non-Blocking Atomic Commit. Conclusion of the Byzantine consensus.

Using consensus

Consensus-Based Uniform Terminating Reliable Broadcast. Consensus based View-delivery.

View-Synchronous Communication

TRB-Based View-Synchronous Communication.

Byzantine clock synchronization

Two algorithms for byzantine clock sychronization.