Where were the ideas of vote, accept and commit phases originally introduced? In the Stellar Consensus Protocol SCP, the voting procedure follows a 3 phase commit i.e. vote, accept and confirm i.e. see section 5. 

Is this a novel introduction or has this been previously been introduced, and if so, where? More specifically, I refer to definitions of these given in section 5.
This dates back to the Byzantine broadcast algorithm of Bracha:

Bracha, Gabriel. "Asynchronous Byzantine agreement protocols." Information and Computation 75.2 (1987): 130-143.