Sidechain technology has been envisioned as a promising solution to accelerate today’s public blockchains in terms of scalability and interoperability. By relying on the mainchain for security, different sidechains can formulate their own rules to reach consensus. Although the literature has considered the possibility of using consensus protocols in the sidechain, so far a tailor-made consensus protocol for sidechains with high performance and formal security proof has not been attempted. To fill this gap, we introduce Vulcan, a low overhead, highly efficient, security provable sidechain protocol. Vulcan makes use of smart contracts to ensure that only one block proposed in the sidechain will be enforced on the mainchain in each round, achieving consensus in an efficient manner. We give formal specifications of Vulcan which ensures safety and liveness with $f$ validators (total number of $n≥ 2f+1$) without online requirement of clients. For security analysis, we give formal security definitions and proofs under Universally Composable Security (UCS) model. As a proof of concept, we implement Vulcan and evaluate it in Ethereum testnet.