I have implemented Single-decree Paxos, and have shown it not to fail in a Monte Carlo network simulator. I followed "Paxos Made Simple" http://lamport.azurewebsites.net/pubs/paxos-simple.pdf
I have read: Castro, Miguel; Liskov, Barbara (February 1999). "Practical Byzantine Fault Tolerance" http://pmg.csail.mit.edu/papers/osdi99.pdf
As far as I understand, the paper describes a Byzantine Multi-Paxos algorithm. It includes complexity which I hope I don't need for the single-decree use-case, such as Views and Leaders.
What is required to turn the Single-decree Paxos protocol into a Byzantine Single-decree Paxos protocol?
i.e. Is adding public key signatures to messages, and waiting for f+1
acceptors to agree, sufficient? Or do I need a pre-prepare phase too?