Merkle Proofs: How to Verify Blockchain Transactions Efficiently