Bitcoin, blockchain and distributed ledger technologies