Distributed Computing Systems and Blockchain Protocols