Why won't a BFT protocol using simple signing/voting work?
The purpose of a BFT is to achieve Byzantine Fault Tolerance rather than to be cryptographically secure. In fact, some BFT papers have no cryptography in them at all. You could devise a secure voting scheme but that doesn't automatically make it tolerant to byzantine failures.

Generally these algorithms seek to achieve liveness (eventual consistency of the data) and safety up to a certain number of faults, neither of these premises are present in your voting example. If you can guarantee through your protocol that even in the presence of a certain number of byzantine nodes (t &lt; n) the protocol reaches consensus on a consistent state, then you have just created a BFT protocol.