Types of Crypto Mining: Understanding CPU, GPU, ASIC, and Cloud mining and what they deliver