La variante más fácil* para una blockchain propia es: copiar fuente el código de Bitcoin (o Ethereum, o la que quieras) y cambiar los "magic bytes", es decir los identificadores para las claves, para que sea incompatible con la red original. Y luego se procede a crear un "genesis block", es decir el primer bloque de la block chain.
Hay diversas guías en Internet, pero las que conozco son todas en inglés. Acá en el foro se encuentra esta:
*** Complete Guide on How to Create a New Alt Coin – Update 2019 ***(Aclaro que nunca hice una cripto propia, pero la guía parece razonable.)
Ahora bien, escribiste "desde cero". ¿Esto quiere decir que
no querés usar Bitcoin ni otra criptomoneda como base? En este caso, quizá ayude la "naive chain", un script de Python o JavaScript que crea una blockchain completamente básica:
https://github.com/koshikraj/pynaivechain (Python)
https://github.com/lhartikk/naivechain (JavaScript)
Una vez que entendiste los conceptos básicos puedes construir tu propio coin, leyendo, estudiando y analizando código de Bitcoin y otras criptomonedas. Para que tu coin sea "minable con CPU" puedes ver por ejemplo coins como Groestlcoin o Primecoin (LTC y derivados ya no sirven para eso).
La billetera es el mismo software que crea la block chain, no es algo separado. ¿Pero qué es "plox a"?
En el caso que quieras crear una moneda completamente independiente y no sea solamente para aprender sobre la estructura de Bitcoin y criptomonedas, te aconsejo además mover el hilo a la sección "Altcoins (criptomonedas alternativas)".
*Aún más fácil es, obviamente, crear un token en una cadena existente. Puedes usar Ethereum, pero también hay herramientas para crearlo con Bitcoin, como Omni y Counterparty.