Efficient Markov chain Monte Carlo algorithm for the surface code | Synapse