Proof systems for scaling blockchains