How Merkle Trees enable the decentralized web