Saltar la navegación

7. Creamos nuestro Blockchain

Retor dice

¡Cuantas cosas hemos aprendido hasta llegar aquí!.

Por fin ha llegado el momento de poner en práctica lo aprendido y realizar nuestro blockchain.

Si durante la realización de esta parte final, todo te resulta fácil y conocido, quiere decir que has realizado bien todos los apartados anteriores. Si no es así, vuelve a repasar los puntos anteriores cuando sea necesario.

¡¡Ya casi lo has conseguido!!

La cadena de bloques

Para esta simulación vamos a utilizar un fantástico simulador online llamado "Blockchain Demo" creado por  Anders Brownworth que intenta explicar la tecnología basándose en conceptos simples utilizando una demostración web.

El simulador nos muestra un límite de 5 bloques por lo que realizaremos la tarea en grupos de 5 compañeros o compañeras.

1. Inicio

Accedemos al simulador de Blockchain

Para realizar nuestro reto vamos a utilizar un simulador de blockchain de https://andersbrownworth.com

  • Accedemos los 5 componentes del grupo a la vez a través del navegador.
  • Encontramos 5 bloques, cada componente será el encargado de uno de ellos.
  • Realizamos el reparto y estaremos listos para comenzar.

2. Minamos el primer bloque

Partes del bloque

BloqueEl bloque tiene 5 artes:

- Nº del bloque --> se genera automáticamente

- Nonce --> el algoritmo lo cambiará miles de veces para generar el hash.

- Datos --> es la información que introducimos nosotros y que se almacena en el bloque.

- Hash del bloque anterior --> el algoritmo lo toma automáticamente del bloque anterior y sirve para crear la cadena.

- Hash del bloque --> se obtiene aplicando el algoritmo de hash al conjunto de datos anteriores:

SHA256 (Número de bloque, Nonce, Datos, Hash del bloque anterior)     --> Hash

Introducimos la información en los datos

Podemos poner nuestro nombre.

A continuación pulsamos en "Minar". ¡¡Ya estamos minando!!

Prueba de trabajo (PoW)

  • En este caso y para ir más rápido el hash debe comenzar con 4 ceros
  • Esta condición es la que hace que el minado tarde un tiempo, pues el algoritmo empieza a probar cambiando el Nonce desde 1 hasta encontrar el hash correcto.
  • Normalmente tardará 2 ó 3 segundos. cuanto más alto sea el Nonce, más pruebas ha realizado y más tiempo ha tardado.
  • En el Bitcoin la condición ya va por unos 20 ceros y es lo que aumenta la dificultad del minado cada cuatro años aproximadamente.

3. Creamos la red

Minamos los 5 bloques

  • Cada minero del grupo debe minar los 5 bloques empezando por el 1 hasta el 5, introduciendo como dato el nombre de sus compañeros o compañeras en cada bloque.
  • Hay que tener cuidado con los espacios que también se minan y pueden ocasionar un hash diferente aunque parezcan los mismos datos.
  • Si todo es correcto todos deberían tener la misma cadena.
  • En una blockchain real cada minero sólo minaría un bloque que se comparte de forma automática con los demás por la red descentralizada P2P. El resto valida el bloque comprobando que todo es correcto.  

4. Pruebas con los bloques

Comprobamos que no se pueden modificar.

  • Si ahora uno de los mineros altera en el bloque 3 por ejemplo, algún dato como añadir una letra, ¿qué ocurre?.
  • Si mina también los bloques siguientes 4 y 5 de su cadena, ¿estarían validados sus cambios?.
  • En un blockchain real los demás mineros no pararían de minar nuevos bloques aumentando constantemente la cadena.
  • ¿Qué tendría que pasar para que la versión de la cadena modificada fuera la correcta?. Recuerda lo del ataque del 51%.
  • Si todos los mineros crean nuevos bloques, ¿Quién se lleva la recompensa?.
  • ¿Se te ocurren otras pruebas para realizar?

Lumen dice Te doy unas recomendaciones

Te voy a dar un par de recomendaciones para poder preparar tu trabajo final.

  • A medida que creas el blockchain y realizas las pruebas, te recomiendo que tomes capturas que te serán muy útiles a la hora de presentar tu trabajo.
  • Como los bloques ocupan toda la pantalla, puedes reducir el tamaño de la ventana para que las capturas no sean imágenes tan grandes.

Clavis dice Si quieres más detalles

Si quieres una explicación más detallada y completa puedes ver este vídeo también de la página de "Blockchain Demo"  de Anders Brownworth https://andersbrownworth.com

Aunque está en inglés con los subtítulos en español es fácil de entender.

Motus dice Valora lo que has conseguido

¿Te has dado cuenta de la cantidad de cosas que has tenido que hacer para completar la actividad?

Al realizar esta actividad has tenido que poner en juego casi todo lo que sabes. A veces para aprender tenemos que trabajar de forma constante. Cuando nos esforzamos mucho nuestro trabajo es valorado por nuestros profes y familiares. Pero lo más importante es que nos sentimos muy contentos por el trabajo realizado.

Te animo a que sigas trabajando para que puedas aprender y seguir mejorando.