Distributed Ledger Technologies and Their Applications: A Review