How Merkle Trees Enable the Decentralized Web