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.