Chorus is a new protocol that improves the efficiency and scalability of wireless broadcast using self-interference cancellation. It allows packet collisions at the MAC/PHY layers by effectively detecting and decoding overlapping packets carrying the same data. Chorus resolves collisions using symbol-level interference cancellation and combines the resolved symbols to restore packets. It also uses a cognitive sensing and scheduling MAC scheme. Evaluation shows Chorus has superior performance over CSMA/CA in scalability, reliability, delay, and various network scenarios.