The protocol for Byzantine agreement described in lecture 3 was very inefficient since it used exponential time, communication, and storage. In order to make a polynomial time algorithm, we use consistent broadcast, a mechanism for passing messages between processes.