Debe haber oído hablar del principio de la cadena de bloques que fue conceptualizado por los creadores de Bitcoin. Pero, ¿sabes con más precisión qué es blockchain? Vamos a detallar todo esto para que las blockchains no tengan más secretos para ti.
Este artículo forma parte del archivo “Criptomonedas, el gran archivo”
Propósito de una blockchain
Una cadena de bloques es una cadena de bloques en francés. Una vez que hemos dicho eso, no estamos mucho más avanzados en la comprensión de la cosa.
El propósito de la cadena de bloques ya es almacenar las transacciones de la red de manera permanente y a prueba de manipulaciones. Es un registro público y distribuido.
Público, porque es accesible para todos.
Uno puede buscar fácilmente una transacción. Distribuido, porque es un sistema descentralizado. El registro se copia en todos los nodos de la red.
También es uno de los mecanismos que garantiza la seguridad del conjunto, porque los cambios son registrados y validados por la mayoría. El único riesgo en este caso es un ataque de los 51 .
En el contexto de Bitcoin, el poder desplegado debería ser enorme, pero en el contexto de las criptomonedas más pequeñas es un riesgo que puede existir.
También ayuda a evitar el doble gasto . Esto permite, por tanto, que personas que no se conocen puedan realizar transacciones sin un tercero de confianza. Cualquier modelo de negocio se basa en la confianza, y en el caso de las criptomonedas es el blockchain quien la proporciona.
Composición de una blockchain
Tomemos como ejemplo la cadena de bloques de Bitcoin en un diagrama simplificado.
Varios elementos componen un bloque:
- Una cabecera (con el hash del bloque anterior, la prueba de trabajo y el hash del bloque actual resultante de la prueba de trabajo)
- Una lista de transacciones
Si no sabe qué es un hash, es una cadena de caracteres de longitud fija que resulta de una función matemática unidireccional. En la entrada de una función hash, puede haber texto, un archivo… y en la salida, después de la aplicación de un algoritmo, tiene una cadena de caracteres parecida a esta:
f2d81a260dea8a100dd517984e53c56a7523d96942a834b9cdc249bd4e8c7aa9
Para Bitcoin, el algoritmo utilizado es SHA256 .
El hash del bloque anterior permite crear esta famosa cadena uniendo los bloques entre sí. Una vez que se ingresa una transacción en un bloque validado (volveremos a esto), se confirma. A medida que se agregan nuevos bloques detrás, se vuelve cada vez más difícil modificar la transacción. Este es uno de los elementos que hace que la cadena de bloques sea a prueba de manipulaciones.
Validar un bloque en prueba de trabajo
Para validar un bloque, se debe realizar una cierta cantidad de operaciones para generar un hash. Se convierte así en el hash del bloque y se forma a partir de los datos contenidos, en particular las transacciones, así como el hash del bloque anterior.
Pero ojo, lo que complica la operación es que el resultado debe estar por debajo de un objetivo definido.
Esto obliga al hash a tener un cierto número de ceros al comienzo de la cadena. Dado que no es posible predecir el hash que se generará, la operación debe repetirse un gran número de veces para obtener un resultado que corresponda a las expectativas. Podría ser como el Loto, comenzamos el procesamiento sin saber cuál será el resultado y luego vemos si tenemos los números correctos. Por lo tanto, la generación de un bloque se dificulta artificialmente de modo que lleva una cierta cantidad de tiempo. La idea es tender a los 10 minutos para validar un bloque, así que cuantas más personas calculen, más aumentará la dificultad. Una vez que se establece el hash, la mayoría de los otros nodos lo validan.
Esta dificultad agrega seguridad a la cadena de bloques.
También permite aportar estabilidad a este último, evitando en la medida de lo posible validaciones concurrentes. Estas validaciones simultáneas (dos personas que validan el bloque al mismo tiempo) pueden ocurrir. En este caso, crea dos ramas de la cadena de bloques. Estas ramas viven su vida, pero después de un tiempo una rama será más grande que la otra. Y el mecanismo de la cadena de bloques significa que la elección se hará en la rama más larga y que se abandonarán las otras. Por otro lado, induce un gran gasto de energía, lo que hace que en ocasiones se señale a Bitcoin. Y esto también induce a ralentizar la creación de bloques. Hacer esta prueba de trabajo también se llama » minería «.
Para profundizar en la noción de blockchain y prueba de trabajo en el contexto de Bitcoin, recomiendo este excelente artículo en el sitio de Cryptoast .
Y un video popular sobre el tema con el que debes entender todo:
Otros métodos de validación de blockchain
Prueba de participación (PoS)
La prueba de participación requiere que los usuarios demuestren la posesión de una cierta cantidad de tokens para poder validar bloques. El mecanismo de validación buscará un usuario al azar. Sabiendo que la probabilidad depende de la cantidad depositada. Por lo tanto, cuantos más fondos bloquee el usuario, más probable es que sea seleccionado para validar (y recibir la recompensa). La parte aleatoria evita que se elija cada vez al usuario “más rico”.
La ventaja de esta solución es que consume mucha menos energía que la prueba de trabajo. Una de las desventajas es que los algoritmos son mucho más complejos, y que deben tener en cuenta en particular el problema de “ nada en juego ”.
Tenga en cuenta que Ethereum (la criptomoneda más popular detrás de Bitcoin) ha planeado cambiar de Prueba de trabajo a Prueba de participación en la versión 2.0. Por lo tanto, no habrá más minería de Ethereum en un futuro más o menos cercano.
Prueba de capacidad o Prueba de capacidad (PoC)
La prueba de capacidad no se basa en la capacidad de realizar cálculos, sino en la capacidad de almacenar datos. Entonces, en lugar de asignar potencia de CPU o GPU, debe asignar espacio de almacenamiento. La ventaja es que consume menos energía, para un resultado normalmente similar.
Otros metodos
Te he dado los métodos principales, pero hay muchos otros. La mayoría derivan de uno u otro de los modelos. Los invito a descubrir más en el cryptoast o en briefcrypto .