Todo sobre: Blockchain: bloques, transacciones, firmas digitales y hashes

CBSTinfo.- Las criptomonedas funcionan utilizando cadenas de bloques (blockchain), que son, básicamente, listas crecientes de registros de información cifrada, cada uno encadenado al anterior con criptografía. Esos ‘registros’ son los bloques en los que se asientan y validan las transacciones, pero eso no es lo único que hay dentro de ellos.

A continuación, daremos un paseo por el contenido de un bloque en una blockchain, tomando como referencia sobre todo la blockchain de Bitcoin. De esta forma, podremos aproximarnos a su funcionamiento.

Antes de empezar, debes tener en cuenta que este es un artículo para usuarios que ya dominan, al menos, las principales nociones sobre los conceptos de blockchain y criptomonedas. Si aún no lo haces, lo mejor es iniciar con información más básica.

Hash criptográfico

Una función hash criptográfica es un algoritmo que cuenta con ciertas propiedades útiles para el cifrado de datos, esto es, proteger contenidos mediante el uso de claves. Al aplicarla, se toma un mensaje de cualquier tamaño, se cifra, y se consigue a cambio una cadena alfanumérica única de longitud fija (llamada digest o simplemente hash), sin importar el tamaño del mensaje original. Funciona para verificar que, en efecto, se trata de ese mensaje (o transacción) en particular y que no fue modificado antes de su entrega. Si una sola parte, aunque sea un solo punto del mensaje original cambia, el hash (digest) también lo hace de forma radical.

Por ejemplo, usando una herramienta en línea para cifrar con el algoritmo SHA256 (del que hablaremos más adelante) podemos introducir el siguiente mensaje:

Bitcoin es la primera criptomoneda

Y conseguir a cambio el siguiente resultado:

91D3081626672039C99F27323895D06B88376312706BF7AB035A662B6C5C0B1B

Si añadiéramos palabras o cambiáramos aunque fuera un punto en el mensaje original, el hash obtenido también cambiaría, aunque continuaría siendo de la misma extensión (64 caracteres). Veamos:

Bitcoin es la primera criptomoneda.

AE0B40E7FC912BCE189A06F3A8069776FB24DCCC493332F2D349F0A470DE1254

Ejemplo Aplicación Hash
Esquema sobre el funcionamiento de un hash criptográfico. Fuente: Wikipedia. Traducción libre.

Nótese que sólo añadimos un punto al final de la frase. Aun así, el resultado es completamente distinto al primero. En otro caso, si las frases volvieran a cifrarse con este mismo algoritmo, pero con otra herramienta, sus digest continuarían siendo los mismos: una entrada particular produce siempre el mismo resultado único.

De esa forma, los mensajes se transmiten de manera segura e íntegra, pues es casi imposible averiguar el mensaje original a partir del digest, y, por tanto, tampoco sería posible modificarlo. A esto se le conoce como funciones de un solo sentido o unidireccionales. Podemos profundizar más al respecto.

Hash como función unidireccional

Una función unidireccional, en matemática, se define como una función (relación entre los elementos de dos conjuntos) que tiene la característica de ser fácil de calcular, pero difícil de invertir. Nótese que se dice “difícil”, pero no imposible. En realidad, las funciones totalmente unidireccionales en ciencias de la computación aún son sólo una conjetura.

Las funciones hash, sin embargo, se hacen para ser lo suficientemente difíciles de invertir. Sólo así es posible que sean útiles para la criptografía, pues revertirlas tomaría una cantidad contraproducente (para el atacante) de tiempo y recursos.

Construir un hash es un proceso matemático complejo, pero una de las formas de hacerlo es mediante funciones modulares, que asegurarían su ‘unidireccionalidad’. Puesto de forma sencilla, las funciones modulares producen el remanente de una división. Así, por ejemplo, 10 mod 3 = 1, porque 10 dividido entre 3 es 3 más un remanente de 1. En otra forma, 3 cabe 3 veces en 10, y queda un añadido de 1.

Ahora, digamos que para construir un hash tenemos una llave privada (X) mod 5 = 2. Sólo tú sabrías el valor de X, el cual, digamos que es 27, porque dividido entre 5 es igual a 5 más un remanente de 2. Supongamos, además, que 5 son los datos de una transacción que realizaste y 2 es el hash resultante de esa transacción. Aunque estos últimos datos sean públicos, es casi imposible averiguar que tu llave privada es 27, pues para llegar al resultado de 2 utilizando también 5 existen infinitas posibilidades. Tu “X” pudo ser 7, 52, 23390787 u otro: averiguarlo es casi imposible.

En la práctica, este mismo principio se aplica a algoritmos más sofisticados y cantidades de datos muy superiores, por lo que la dificultad de averiguar el dato de origen aumenta muchísimo más. Los datos resguardados por una función hash están seguros.

Propiedades de una función hash segura

Existen varios tipos de funciones hash, pero todos ellos, para ser seguros, deben poseer cuatro características principales:

  1. Computacionalmente eficiente

Las funciones hash se utilizan en computadores, así que, aunque suene un poco obvio, estos computadores deben ser capaces de llevar a cabo la labor matemática necesaria para crear un hash en un período de tiempo muy corto. Si no fuera así, cada proceso que involucre la emisión de un hash tardaría demasiado y sería poco práctico utilizarlos. En la actualidad, esto no es un problema, pues una computadora promedio puede realizar la tarea en menos de un segundo.

  1. Determinista

Esto implica que el mismo mensaje (entrada) debe producir siempre el mismo digest (salida) cada vez que sea utilizado o consultado. Si la función produjera un resultado al azar cada vez sería inútil, pues no serviría para verificar que se trata del mensaje original. El punto de un hash, para el caso que nos ocupa, es corroborar que una firma digital sea auténtica sin tener acceso a la llave privada.

  1. Resistente a preimagen

Significa que la salida no debe revelar ningún dato en absoluto sobre la entrada. Es por eso que un hash debería tener siempre la misma longitud en el digest, independientemente del tamaño del mensaje. Tampoco debe darse ninguna pista sobre el contenido de tal mensaje, por lo que, al más mínimo cambio, el hash resultante debe ser por completo distinto.

  1. Resistente a colisión

Dos (o más) entradas diferentes no deberían producir la misma salida (digest). Es necesario mencionar que ninguna función hash está por completo libre de colisión: es una simple probabilidad matemática. Las salidas tienen una longitud determinada, a diferencia de las entradas que pueden ser de cualquier tamaño, así que el número de resultados es finito y, por tanto, propenso a colisión. Sin embargo, esta probabilidad es bastante pequeña, y la meta de cualquier función hash es hacerla lo más pequeña posible.

Sobre los tipos de hash

Existen numerosos tipos de algoritmos para crear hash en distintas plataformas, con diversas funciones, desde autenticación de documentos y verificación de contraseñas, hasta verificación de firmas digitales y, por supuesto, minería de criptomonedas. Entre los que continúan siendo efectivos, podemos mencionar el BLAKE2, MD6, Streebog y, especialmente, la serie SHA (Secure Hash Algorithm).

La serie SHA fue diseñada por la Agencia Nacional de Seguridad (NSA) estadounidense e incluye el SHA-256, ampliamente utilizado en el criptomundo debido a que fue el algoritmo escogido por Satoshi Nakamoto para hacer funcionar la blockchain de Bitcoin, de la cual, a su vez, se han derivado otras criptomonedas que han conservado el mismo algoritmo (como Peercoin).

El SHA-256 produce un digest de 256 bits y 64 caracteres. Por otro lado, tenemos el SHA-3, incluido en el mismo estándar, pero con estructura diferente, pues produce digest de tamaño arbitrario. Este es el algoritmo utilizado para el sistema Ethash de Ethereum.

Árbol de Merkle

Sabiendo ya qué es un hash, hay que apuntar que las transacciones en una blockchain usan hashes para cifrar los datos, pero estas líneas alfanuméricas no sólo “flotan” libremente en una nube digital. Se ordenan de forma estricta y se resumen a medida que aumenta la cadena, proporcionando un método seguro, rápido y ligero para verificar los datos. Con ese propósito está implementado el Árbol de Merkle.

Este concepto, también conocido como Árbol de Hash, se trata de una estructura de datos en árbol, es decir, aquella que simula un orden jerárquico de arriba hacia abajo, empezando por un único valor “raíz” que se va dividiendo en valores “hoja”, como un árbol al revés. En el caso del Árbol de Merkle, estos valores son todos hashes, y en una blockchain, esos hashes provendrían de los datos de las transacciones.

Estructura Arbol Merkle
Estructura del Árbol de Merkle. Fuente: Wikipedia.

El nombre del árbol criptográfico proviene de su inventor, Ralph Merkle, un científico computacional estadounidense que patentó esta estructura en 1979. Cabe resaltar que Merkle, a 2019 con 67 años de edad, también es el inventor del hash criptográfico y uno de los inventores de la criptografía de llave pública.

Raíz de Merkle

El principal propósito del árbol de hash es crear una raíz de Merkle, es decir, el valor raíz que mencionamos antes. En este caso, se podría creer que de este valor provienen los valores “hoja”, pero, en realidad, el valor raíz es un resumen de todos los valores hoja.

Este resumen se crea agrupando todos los hashes de las transacciones en pares a los que, a su vez, les será aplicada de nuevo la función hash criptográfica pertinente para crear un nuevo digest que equivale a ambos. Si acaso el número de entradas fuera impar, la última se copiaría a sí misma y se emparejaría con esa copia para permitir el proceso. Los digest resultantes volverán a organizarse por pares y a repetir la misma técnica, hasta que sólo quede una única línea hash como resumen de todas las que pasaron por este proceso de fusión. Esa es la raíz de Merkle, y hay una sola por bloque en una blockchain.

Así, por ejemplo, si en un bloque están contenidas 512 transacciones, el árbol de Merkle se encargaría de agruparlas en 256 pares, que se reducirían luego a 128, luego a 64, de ahí a 32, después 16, 8, 4, 2 y la última. Una sola línea alfanumérica se queda allí para representar esas 512 transacciones, en lugar de recargar el bloque con 512 hashes.

Recordemos que cada transacción en una blockchain tiene su propio hash, y, si hablamos de hashes creados con SHA-256, cada uno pesa 32 bytes. Volviendo al ejemplo de los 512 hashes, ese bloque soportaría entonces (además de otros datos) 16.384 bytes cuando, usando la raíz de Merkle, puede contener sólo 32 bytes. Ella contiene al resto matemáticamente, así que no es necesario incluirlos todos.

Como vemos, a largo plazo, con miles y miles de transacciones realizadas por usuarios de todo el mundo, el espacio para almacenar completa una blockchain podría llegar a convertirse en un problema de no ser por la raíz de Merkle, que resume una gran cantidad de datos en un solo hash.

El propio Satoshi Nakamoto en el Libro Blanco de Bitcoin explica que una vez que una transacción está enterrada bajo suficientes bloques, las transacciones anteriores a esa pueden ser descartadas para salvar espacio. Para lograrlo sin romper el hash que las asegura y conecta al resto de la blockchain, los viejos bloques se compactan con el árbol de Merkle, mientras que los hashes interiores que formaron la raíz no necesitan ser conservados.

Una cabecera de bloque sin transacciones sería de unos 80 bytes. Si suponemos que los bloques se generan cada 10 minutos, 80 bytes * 6 * 24 * 365 = 4,2MB por año. Con sistemas informáticos siendo típicamente vendidos con 2 GB de RAM a partir de 2008, y la Ley de Moore prediciendo un crecimiento actual de 1,2 GB por año, el almacenamiento no debería ser un problema incluso si las cabeceras de bloque deben mantenerse en la memoria.

Satoshi Nakamoto, libro blanco de Bitcoin.

Firmas digitales

Antes de definir directamente qué son las firmas digitales por sí mismas, es necesario explorar el concepto de la criptografía asimétrica o de llave pública, pues esta es parte esencial de su funcionamiento. Se trata de un sistema criptográfico que genera para sus usuarios, mediante la aplicación de algoritmos específicos, dos “claves” o “llaves”: una pública, que puede ser distribuida a cualquiera sin riesgo, y otra privada, que sólo debe ser conocida por su dueño. Estas “llaves” son líneas alfanuméricas de determinada extensión. No hay gran diferencia entre los formatos de una y de otra: para un usuario promedio, cuál es la pública y cuál la privada es decidido por el sistema que use para crearlas.

Utilizando este sistema, la persona remitente puede cifrar cualquier mensaje usando la llave pública del destinatario. Una vez ese mensaje esté cifrado con esa llave pública, sólo la llave privada de ese receptor puede descifrarlo, pues ambas llaves están relacionadas matemáticamente. En este sentido, la clave pública puede ser comparada a una dirección de correo electrónico, mientras que la privada sería la contraseña de ese correo.

En el caso de las criptomonedas, la criptografía de llave pública se utiliza en cualquier monedero para intercambiar fondos. Las direcciones públicas de cartera que otorgamos para recibir fondos son una versión en hash de la llave pública, mientras que las doce (o más) palabras que proporcionan muchos software como “semilla” para recuperar los fondos sirven para derivar la llave privada.

En medio de este proceso es que entran las firmas digitales. Estas son, básicamente, la combinación entre una llave privada y un hash de los datos a firmar (como los de una transacción), lo que otorga una identificación digital única para establecer la autenticidad e integridad del mensaje, sin revelar la llave privada del firmante.

Para lograr ese propósito, utiliza típicamente tres algoritmos: uno para la generación de una clave privada al azar, de donde se deriva una clave pública correspondiente; otro para producir la firma como tal basándose en la llave privada y los datos, y un último que determina si el mensaje es o no auténtico basándose en los datos, la clave pública y la firma. Cada transacción realizada en una blockchain necesita, adicional a otros requerimientos, de la firma de su remitente y de la verificación de esa firma por parte del destinatario y la red para volverse válida.

Proceso de una firma digital

En este ejemplo, nos centraremos en la creación y recorrido de la firma digital como tal. Es importante mencionar que en una transacción con criptomonedas intervienen otros elementos y se validan otros datos, que mencionaremos más adelante.

Esquema sobre el funcionamiento de una firma digital. Fuente: Blair Marshall / Medium. Traducción libre.

Por ahora, digamos que Alice ya generó su par de llaves (o lo que es lo mismo, consiguió una cartera digital) y quiere hacer una transacción con bitcoins hacia Bob. Para que esta transacción sea válida, debe venir firmada por la llave privada de Alice, y Bob debe verificar que esa firma sea auténtica. Los pasos que sigue el sistema para lograr completar ese proceso son los siguientes:

  1. Por parte de Alice, se toman los datos de la transacción y se utiliza el algoritmo SHA-256 (ya que hablamos de Bitcoin) para cifrarlos en un hash de 64 caracteres.
  2. El hash obtenido se “combina” o se “firma” con la llave privada de Alice, dando como resultado dos números conocidos como r y s, con un peso variable entre 71 y 73 bytes. Esa, de forma más concreta, es la firma digital.
  3. Se envían a Bob entonces los datos de la transacción, la firma digital y la clave pública de Alice.
  4. Utilizando la llave pública de Alice, el sistema por parte de Bob podrá descifrar la firma digital (sin revelar la clave privada de Alice) para conseguir el hash de 64 caracteres correspondiente a los datos de la transacción, que antes Alice había cifrado con SHA-256 y combinado con su llave privada.
  5. Como los datos de la transacción también fueron recibidos por Bob, el sistema repite el proceso de cifrarlos con SHA-256 para conseguir el hash correspondiente.
  6. Se verifica que los hashes de los pasos 4 y 5 sean exactamente iguales. Si no lo son, esto indicaría que alguien alteró los datos o la clave pública de Alice no corresponde con su clave privada. Por tanto, la transacción sería inválida, ya que fue modificada durante su tránsito o no corresponde al dueño de los fondos.

Propiedades de una firma digital segura

Existen varios algoritmos para crear firmas digitales: en el caso de Bitcoin, se usa el algoritmo de firma digital de curva elíptica (ECDSA), que toma la matemática detrás de los campos finitos y las curvas elípticas para generar las llaves públicas a partir de las privadas. Todos los algoritmos, sin embargo, deberían proveer las siguientes características para otorgar la seguridad necesaria entre los participantes:

  1. Autenticación

Utilizar una firma digital debería asegurar al destinatario que el mensaje (o transacción) proviene de un remitente en específico, cuya identidad puede ser verificada más allá de una firma escrita: con matemática. La firma generada se basa en datos precisos y es casi imposible de falsificar.

  1. Integridad

Esta propiedad garantiza que los datos llegarán intactos al remitente, es decir, que no serán modificados de ninguna forma durante su transferencia. En teoría, los datos podrían ser modificados sin ser vistos por algún hacker habilidoso, pero si esto sucede la firma cambiaría también y, por tanto, dejaría de ser válida.

  1. No repudio

El usuario que utilizó su firma digital personal no puede negar que lo hizo. Usualmente, el no repudio se trata de un concepto legal: una vez firmado un documento, el autor no debería poder negar que él se comprometió mediante su firma. Por tanto, las firmas digitales también son vinculantes y auditables. Entre los países que las reconocen legalmente se encuentran Estados Unidos, Suiza, Brasil, México, India, Turquía y la Unión Europea.

Transacciones

Las transacciones son agrupaciones de datos con firma digital que almacenan las transferencias de fondos entre los remitentes (conocidos como entradas dentro de esas agrupaciones) y los destinatarios (salidas). Se transmiten a la red y, a medida que son validadas, se juntan y ordenan para formar los bloques en una blockchain.

En Bitcoin (y en muchas otras criptomonedas), las transacciones deben autorizarse con el uso de firmas digitales, pero no están cifradas; así que es posible ver los datos que incluyen a través de un explorador de la cadena.

Transacciones pendientes de gasto (UTXO)

Antes de avanzar más dentro de la estructura de una transacción en la blockchain, es necesario que sepamos de qué trata una UTXO (Unspent Transaction Output). Una UTXO, o transacción pendiente de gasto, es una salida (de fondos) que un usuario recibe para poder gastar en el futuro como una entrada para alguien más. El balance total en la cartera de cualquier usuario está compuesto por UTXOs de distinto tamaño, o bien por una sola que puede recibir a cambio cuando es gastada a menos de su totalidad.

Para ponerlo en perspectiva, podemos pensar que las UTXO son el equivalente a monedas o billetes individuales dentro de la blockchain. Tal como el sistema de dinero en efectivo está diseñado sólo con billetes o monedas de determinado monto (en el dólar, por ejemplo, sólo existen seis billetes distintos), que se combinan para formar nuevas cantidades o se entregan en su totalidad esperando recibir el remanente de la compra a cambio, en la blockchain también se combinan distintas UTXO, o bien se otorga un cambio a una UTXO más grande cuando se realiza una transferencia.

De este modo, supongamos que tienes $100 en bitcoins dentro de tu cartera y necesitas pagar 45$. Como usuario común no lo ves a simple vista, pero esos 100$ puede que estén conformados por varias UTXO: quizás dos de 50$, o cuatro de 25$. En este último caso, al realizar el pago de 45$, estarías enviando en realidad dos UTXO de $25 y recibiendo otra a cambio de 5$.

A diferencia del dinero en efectivo, las UTXO pueden ser de cualquier cantidad, dependiendo del monto intercambiado entre los participantes. Otra divergencia con el efectivo es que, además de los fondos que damos para un pago o una compra, debemos incluir también un pago de una comisión para quienes mantienen la red ayudando a validar las transacciones para incluirlas en nuevos bloques (los mineros).

Así, continuando con el ejemplo anterior, en realidad, la UTXO que recibirías de vuelta al final no sería de 5$, sino de $4,5, pues el total a pagar sería de $45,5 ($45 de pago + $0,5 de comisión, por ejemplo). Según sea la criptomoneda y también según las circunstancias del momento (pues, en ocasiones, las cadenas de bloques se saturan), la cantidad pagada en comisión varía, aunque suele ser de mucho menos de un dólar.

Dado que una sola UTXO puede incluir cualquier cantidad, incluso algunas muy pequeñas que se repitan de forma indefinida con su peso respectivo; a largo plazo, el espacio en la cadena puede llegar a ser un problema. Por ello, los desarrolladores de las carteras digitales deben mantenerlas en tamaños eficientes que ocupen el menos espacio posible para permitir mejores velocidades de procesamiento. Así, si tu balance es de 100$, es mejor tenerlo dividido en dos UTXO de 50$ o en cuatro de 25$ que en 100 UTXO de 1$. Si volvemos a imaginar las UTXO como billetes en una cartera física, el problema de tener demasiadas UTXO de poco valor en un solo balance queda más claro.

Es importante tener en cuenta que, más que de monedas, toda la blockchain es una red de UTXO que esperan a ser desbloqueadas y enviadas a alguien más como una nueva UTXO.

Estructura de una transacción

Para hacernos una idea de la estructura de una transacción, podemos revisar de cerca cómo se compone una de ellas en la blockchain de Bitcoin. Puede dividirse en tres partes: el encabezado, las entradas y las salidas.

Estructura de una transacción en Bitcoin. Fuente: Wikipedia

El encabezado se compone de cuatro partes: el hash de la transacción, la versión del software que debería usarse para validar ese bloque, el número de entradas y salidas y una fecha o bien una altura de bloque (cualquiera de las dos) para indicar cuando esa transacción fue añadida a la cadena.

Las entradas incluyen el hash de la salida previa apuntando hacia la o las UTXO disponibles, un índice de la lista de salidas de la transacción previa para identificar la que puede gastarse en la nueva entrada y el ScriptSig, un “programa simple” de desbloqueo que solicita cierta condición para acceder a los fondos. La condición principal es la llave privada personal del destinatario.

Las salidas, a su vez, incluyen el monto a pagar en satoshis y el ScriptPubKey, el par contrario del ScriptSig que es el encargado de bloquear los fondos con la clave pública del destinatario para que sólo él pueda desbloquearlos después con su clave privada.

Una vez realizada la transacción, esta se envía a los mineros, que son los encargados de validarla, entre otros pasos, comparando ambos Script.

Bloque completo

El bloque de una blockchain se trata de un “contenedor” de datos de tamaño variable. La mayor parte de esos datos lo conforman las transacciones (en Bitcoin, un promedio de 2.188), que a su vez utilizan hashes, firmas digitales y UTXO para completarse, como ya hemos visto. Además, dentro de un bloque encontramos su cabecera, en la cual registra la metadata del propio bloque; es decir, información técnica sobre su composición y validación dentro de la cadena.

En seguida veremos qué conforma esa cabecera, pero antes es necesario pasar por otro concepto: el nonce.

Nonce y minería

Debemos empezar afirmando que cada bloque posee una identificación única en forma de hash. Este se crea pasando la cabecera del bloque a través del algoritmo SHA-256 (en el caso de Bitcoin). Dentro de esa cabecera se encuentra el hash del bloque anterior, así que, de forma automática, ambos bloques quedan entrelazados.

Sin embargo, no basta con sólo darle cualquier hash al bloque para que este se vuelva válido: tiene que ser un hash muy específico, que inicie con un número consecutivo de ceros, pues debe ser igual o estar por debajo de cierto valor denominado Objetivo (target): un número de 256 bits (bastante largo) determinado por la dificultad establecida por el sistema. Encontrar ese hash aceptable para hacer válido un bloque es lo que se llama minería de criptomonedas, y se implementa con la intención de hacer casi imposible la modificación de la cadena de hashes.

Ahora bien, ¿cómo se puede encontrar ese hash aceptable para que el bloque se vuelva válido? Como mencionamos, se supone que ese hash debe salir de la cabecera del bloque. Pero allí se presenta un problema, porque todos los datos de esa cabecera son esenciales y no pueden ser modificados: implicaría cambiar, por ejemplo, los montos de una transacción. ¿Qué tal si entonces el hash no coincide con el Objetivo? Para que coincida, tendrían que cambiarse los datos en la cabecera de alguna manera, pero cada dato es vital.

Allí es donde entra el nonce: se trata de un número por completo al azar que es añadido a la cabecera del bloque como un pequeño dato adicional, sin más propósito que ser cambiado una y otra vez por los mineros para poder encontrar un hash válido. Si el primer nonce no funciona, se quita y se añade uno nuevo, hasta dar con una hash válido que satisfaga la condición de dificultad de la red (esté dentro del objetivo). Una vez hecho este proceso, si el hash del bloque fuera cambiado, la red se daría cuenta fácilmente gracias a las propiedades del hash, el bloque se invalidaría y se desencadenaría de la blockchain.

Más que de número de intentos, la minería se trata de suerte, pues cada nonce es al azar, así que otorga también un número al azar. No obstante, aquellos mineros que cuenten con mejores equipos tendrán más oportunidades, pues, después de todo, el número y la velocidad de esos intentos aumenta sus probabilidades de hallar el hash correcto en el menor tiempo posible.

Cabecera de bloque

Sabiendo todo lo anterior, podemos comprender entonces cómo se conforma la cabecera de bloque en una blockchain. Incluye seis datos:

Versión: se trata del número que indica el nivel de desarrollo del software en el momento en que el bloque fue minado. Las computadoras lo utilizan para leer el contenido de cada bloque de manera correcta. El software de Bitcoin, por ejemplo, ha tenido para 2019 unas 56 versiones sólo en el cliente Bitcoin Core.

Hash del bloque anterior: es una larga línea alfanumérica que empieza con varios ceros. En Bitcoin, tiene 64 caracteres. Ya vimos cómo se forma.

Raíz de Merkle: como explicamos antes, todas las transacciones en el bloque se unen en un solo hash, que es esta raíz.

Marca de tiempo: indica el momento exacto en que fue minado el bloque. En Bitcoin, se pone el número de segundos pasados desde enero de 1970.

Objetivo (target): es el número de 256 bits que indica a los mineros cuál puede ser el hash correcto.

Nonce: número adicional al azar que los mineros utilizan para encontrar un hash válido para el bloque.

Anatomía de un bloque en una blockchain. Fuente: Nivaura

Otros datos

Además de la cabecera y las transacciones, un bloque también contiene otros datos para su funcionamiento dentro de él. Veamos:

Número mágico: en programación, se trata de un número constante que se utiliza para identificar el formato de un archivo o protocolo. En el caso de una blockchain, este número sirve para identificar cuándo empieza y cuando termina un bloque. En Bitcoin es siempre el mismo: 0xD9B4BEF9, y pesa 4 bytes.

Tamaño de bloque: número en bytes para indicar el volumen del bloque. A su vez, ese número pesa 4 bytes en Bitcoin.

Contador de transacciones: se representa mediante un número íntegro positivo de extensión variable. En Bitcoin, pesa de 1 a 9 bytes.

En total y en orden, un bloque cuenta entonces con cinco secciones:

  1. Número mágico
  2. Tamaño de bloque
  3. Cabecera (que a su vez contiene 6 secciones)
  4. Contador de transacciones
  5. Transacciones (pueden ser miles)

En este sentido, podríamos decir que un bloque es menos un “bloque” como tal y más una agrupación determinada de datos encadenados a otros con criptografía. A su vez, estos bloques de información (financiera, en el caso de las criptomonedas) se van encadenando secuencialmente hasta el infinito, creando una cadena criptográfica básicamente irrompible.

Leer Más

Ejército de China planea usar blockchains para administrar datos del personal militar

 Hechos clave:
  • El plan es usar una plataforma blockchain para llevar un registro del desempeño del personal.
  • El Ejército de Liberación del Pueblo Chino busca realizar una evaluación más objetiva de las tropas.

El ejército de China podría adoptar las tecnologías blockchains para administrar los datos de su personal, estimular el entrenamiento y el desempeño en las misiones, además de entregar a los soldados con tokens que podrían ser utilizados como recompensas coleccionables. Se trata de una estrategia que, según dicen los expertos, podría dar incentivos más inmediatos al personal militar en comparación con los sistemas de recompensas previamente utilizados.

En la medida en que las tecnologías blockchains ganan importancia en el área gerencial, su debido uso en el campo militar podría impulsar la innovación en el desarrollo de la gerencia del ejército, de acuerdo con la información reportada por el periódico oficial del Ejército de Liberación del Pueblo Chino (PLA).

 La tecnología de la cadena de bloques, descrita como un libro contable abierto y distribuido o un registro de transacciones entre dos partes que no puede ser manipulado, podría ser utilizada para almacenar información del personal militar, incluyendo información básica, trayectoria profesional, misiones realizadas y recompensas recibidas, comentó el medio, señalando que tales datos estarían técnicamente garantizados para que sean reales y fiables.

Dado que una plataforma blockchain puede registrar información sobre el entrenamiento militar, habilidades profesionales y misiones asignadas, el registro de desempeño de un soldado podría ser calculado y evaluado. De esta manera el buen desempeño podría ser recompensado con tokens adicionales, mientras un mal desempeño podría resultar en la deducción de tokens, de acuerdo con el reporte del medio oficial.

Este sistema de tokens además podría generar una evaluación objetiva de las tropas y ayudaría a motivar al personal militar, añadió el periódico.

Sobre ello, un experto anónimo, familiarizado con el trabajo administrativo del PLA, comentó a un medio de comunicación que el sistema de tokens podría ser un incentivo más inmediato en comparación con sistemas de recompensa y promoción previamente empleados por el Ejército de Liberación del Pueblo Chino. Entre estos sistemas se mencionan las citaciones de méritos que se entregan solamente luego de logros sobresalientes y la promoción de rangos, basadas en los años de servicio y desempeño a largo plazo.

«Suena similar al sistema KPI (indicador clave de rendimiento) que ofrece retroalimentación a las tropas de manera bastante frecuente»,  dijeron los expertos, señalando que el PLA aún podría necesitar averiguar cuáles podrían ser las recompensas. Probablemente no se permita que los tokens circulen como dinero, por lo que podrían ser utilizados únicamente para intercambiar por recompensas si el sistema se crea, predijeron los expertos.

La tecnología blockchain también podría proveer una transmisión segura de datos, al tiempo de brindar a los militares una ventaja en materia de confidencialidad, concluye el reporte del periódico del PLA.

Creditos:  CriptoNoticias

Leer Más

68.000 cuentas falsas de Twitter respaldan el golpe en Bolivia

Resultado de imagen para twitter cuentas falsas

@CBSTinfo.- De acuerdo con una investigación realizada por Julián Macías Tovar, responsable de redes sociales de Unidas Podemos (España), más de 68.000 cuentas falsas fueron creadas en Twitter para apoyar el golpe de Estado en Bolivia. “Puedo afirmar que Luis Fernando Camacho también está detrás del golpe de Estado fraudulento en redes”, escribió Macías Tovar.

El estudio de Macías Tovar aporta una gran evidencia sobre el despliegue de tácticas para inundar las redes sociales de propaganda antes de que se consumase el golpe de Estado en Bolivia y Evo Morales se viera obligado a presentar su renuncia, el 10 de noviembre.

El investigador acusó al líder opositor boliviano Luis Fernando Camacho y a la presidenta de facto Jeanine Áñez de haber creado más de 68.000 cuentas falsas “para influir y difundir fake news”.

​Además, aseguró que Camacho es “un rico de extrema derecha, ultracatólico”, que está involucrado en los Panama Papers y que está implicado en el intento de golpe de Estado en Santa Cruz de 2008 cuando Evo luchó con las multinacionales para que no se quedaran con todos los beneficios del gas”.

Macías Tovar también advirtió que su relación con “la oligarquía económica, organizaciones ultracatólicas y líderes de extrema derecha como [el presidente de Brasil, Jair] Bolsonaro, [el presidente de Estados Unidos, Donald] Trump o [el presidente de la Asamblea Nacional de Venezuela, Juan] Guaidó, incluso la OEA le ha servido para ir recabando apoyos internacionales y de medios para apoyar su golpe desde agosto”.A pesar de que Twitter condena el uso de robots para difundir mensajes y ya han habido investigadores que han denunciado varios casos, los sistemas para detectarlos aún no se han dado por enterados. Macías Tovar explica en un vídeo que la cuenta de Camacho en sólo unos días pasó de tener 2.000 seguidores a casi 130.000, de los que 50.000 son cuentas creadas durante los dos primeras semanas de noviembre.

El caso de Áñez es similar, pasó de tener 8.000 seguidores a tener 150.000, más de 41.000 cuentas fueron creadas en los últimos 15 días.

Macías Tovar sumó las cuentas falsas nuevas que siguen a Camacho y Áñez y llegó a la conclusión de que se crearon más de 68.000 cuentas.

​”Si os preguntáis qué actividad tienen esas decenas de miles de cuentas falsas, además de seguir las de los golpistas para que tengan más seguidores y le den notoriedad, también hacen RTs [retuits], comentarios e interaccionan con otros comentarios para situarlos en la parte alta”.

Leer Más

El caos en Latinoamérica: agonía del neoliberalismo con auge de la remilitarización

Protestas en Bolivia

@CBSTinfo.- En el mundo hoy tripolar de EEUU/Rusia/China, fracturado por la desglobalización que refleja la agonía del neoliberalismo global, se escenifican revueltas multidimensionales con una aguda remilitarización en Latinoamérica —sin el Caribe—, en medio de la rebelión demográfica de los ‘millennials’ que usan como instrumento las redes cibernéticas.

Solía proferir Confucio, el inconmensurable sabio chino del siglo V a.C., que el inicio del caos se gestaba con la confusión lingüística.

En el nuevo (des)orden global en curso, han sido hechas añicos las viejas categorías de izquierda/derecha cuando hoy el mundo se encuentra fracturado por la dicotomía del nacionalismo contra el globalismo —antes de la próxima taxonomía de la inteligencia artificial donde prevalecerán EEUUChina y Rusia.

La epidemia de revueltas en Latinoamérica, sin contar el Caribe que padece las propias, se han agudizado debido a su dinámica demografía donde resaltan los millennials desde Ecuador pasando por Chile hasta Bolivia y quienes se movilizan con mayor vehemencia y celeridad gracias a las redes cibernéticas.

Bajo el prisma del hemisferio ‘americano’, resalta la lucha por el poder en EEUU entre dos grupos antagónicos —el de George Soros y el del presidente Trump— quienes hoy luchan en una guerra sin cuartel con sus respectivos tentáculos y epígonos.

En la fase de Trump, asistimos a un neomonroísmo que resucita la doctrina Monroe de 1823 y que busca destruir lo que queda del alicaído bloque ALBA.

La feroz lucha fratricida en EEUU, de cara a las elecciones de noviembre de 2020, afecta e infecta la dimensión latinoamericana debido a la presencia del 18% de latinos en su seno —55 millones, en una población de 329 millones—, muchos de ellos de doble nacionalidad, así como a la política propia del trumpismo, nada disímbola de Hillary Clinton/Obama respecto a Latinoamérica que sufre en varios puntos desestabilizaciones mediante golpes de Estado inducidos y apoyos tangibles para sus diversas  remilitarizaciones.A mi juicio, el inicio de las audiencias públicas para defenestrar a Trump y/o la búsqueda de su reelección tienen ya repercusiones enormes desde el norte de México —la carnicería de la familia de mormones LeBaron en la sierra de Sonora, frontera con Arizona: notorio ‘estado volátil (swing state)’ del Colegio Electoral— hasta Bolivia, donde fueron capturadas las llamadas telefónicas a la Embajada de EEUU en La Paz de parte de dos senadores republicanos que promovieron el golpe de Estado: Marco Rubio de Florida (con 29 votos electorales) y Ted Cruz de Texas (con 38 votos electorales).

De aquí a noviembre del 2020, tanto para impedir su impeachment (defenestración) como para ser reelegido, Trump deberá contar con el apoyo de los dos senadores de origen cubano Marco Rubio y Ted Cruz, quienes han apretado las tuercas para propiciar cambios de régimen en países que consideran comunistas/socialistas en Latinoamérica.LeBaron en el norte de México, no solamente el presidente Trump conminó a su homólogo mexicano a recibir ayuda militar para combatir a los ‘monstruos’ del narcotráfico, sino que también el muy influyente senador republicano Lindsey Graham llegó a calificar a México de encontrarse en una situación peor a la de Siria.

Las convulsiones en Latinoamérica y sus resultados tendrán enorme impacto en las elecciones de EEUU en noviembre del 2020.

Hoy Latinoamérica vive una imponente remilitarización: desde la llegada al poder en Brasil con el excapitán evangelista Jair Bolsonaro hasta el reciente golpe policiaco/militar/mediático/bíblico en Bolivia.

En Brasil, la máxima potencia geoeconómica/territorial/poblacional/militar de Latinoamérica, 22 miembros del gabinete de Bolsonaro son militares, donde destaca su vicepresidente y general retirado Hamilton Mourao.

La remilitarización brasileña es sui generis con máscara ‘democrática’, mezclado al pinochetismo neoliberal de su ministro de economía Paolo Guedes: un Chicago boy adoctrinado en Chile.

En Chile, el colapso del modelo neoliberal ha llevado a una revuelta de los millennials que no amaina, por lo que su presidente Sebastián Piñera, un multimillonario que hizo su fortuna bajo el pinochetismo, decretó el estado de emergencia operado por la casta militar.

La dimisión del gabinete de Piñera y las promesas de un nuevo pacto social y una nueva Constitución no satisfacen a los millennials, sin horizonte palpable de vida, quienes exigen su renuncia, lo cual presagia la ingobernabilidad y un inminente golpe de Estado rectificativo.En Perú, frontera norte de Chile, el presidente Martin Vizcarra disolvió el Congreso y gobierna con un amplio respaldo de su Ejército.

En Ecuador, frontera norte de Perú, las volcánicas protestas juveniles obligaron a un toque de queda operado por el Ejército en la capital Quito para sostener a su repudiado presidente Lenin Moreno que tuvo que huir a Guayaquil.

Hasta aquí cabe un axioma estrujante: los Gobiernos de Latinoamérica, sean de izquierda o de derecha en la anacrónica taxonomía, perviven si gozan del apoyo del Ejército —como son los casos de Nicaragua y Venezuela— o son derrocados, como es el caso de Bolivia donde el Ejército y la Policía obligaron a la renuncia del presidente Evo Morales.

El caso de Venezuela es singular: pese al boicot y las sanciones de EEUU —que busca apoderarse de su petróleo, oro y torio—, el presidente Maduro, sucesor de Hugo Chávez (teniente coronel de carrera), ha podido sortear las sublevaciones y la autoproclamación como ‘presidente’ de Juan Guaidó, gracias al apoyo del Ejército que ha mantenido su cohesión contra vientos y mareas.

Debido al golpe de Estado, Bolivia marca el paroxismo de la remilitarización en Latinoamérica y parece repetir el menú neomonroísta de EEUU cuando Hillary Clinton propició el golpe de Estado militar contra el presidente Manuel Zelaya en Honduras en 2009 para luego redireccionar su ‘democracia’ militarizada con un candidato conveniente.¿Podrá el Ejercito de Bolivia repetir hoy con Trump la fórmula hondureña de ayer con Hillary Clinton?

En Bolivia, llamó la atención que la autoproclamada presidenta Jeanine Áñez —por cierto, tía de Carlos Andrés Áñez Dorado, un narcotraficante encarcelado en Brasil hace dos años —haya sido elegida sin quórum y entronizada por los militares en forma flagrante.

La autoproclamada presidenta se hizo notar más, amén de su racismo medieval contra los indígenas (mayoría de la población), por ostentar una Biblia evangelista como su estandarte, en imitación al ‘evangelismo sionista‘ del excapitán Bolsonaro en Brasil.

Entre los varios factores en juego en Bolivia, cabe destacar uno de mayor trascendencia geopolítica: su posesión de gas nacionalizado y la mayor reserva de litio en el planeta que sirve para los smartphone y los carros eléctricos.

lpe, el Gobierno de Evo Morales había anunciado sus planes para nacionalizar la industria del litio. Cabe destacar que días antes, el depuesto Evo Morales había asistido al lanzamiento del carro eléctrico Quantum, de fabricación boliviana al 100%.Hace dos meses, Ivanka, hija y ‘asesora’ de Trump, había visitado la provincia de Jujuy (Argentina), frontera con Bolivia, para apoyar la ‘ruta del litio’ mediante una inversión de 400 millones de dólares.

El ‘triángulo del litio’ de Bolivia/Argentina/Chile concentra el 75% del planeta y es objeto de la codicia de las mineras anglosajonas de EEUU y Canadá que desde la OEA —con sede en Washington y cuyo presupuesto depende del 60% de EEUU— había catalizado el golpe de Estado en Bolivia.

Leer Más

Europa sigue el ejemplo de Rusia y China y crea su alternativa de Visa

Resultado de imagen para visa

@CBSTinfo.- 20 bancos europeos están desarrollando un sistema de pago paneuropeo que puede reemplazar las tarjetas Visa y MasterCard. Se llama PEPSI, Pan-European Payment System Initiative.

Según las fuentes de la agencia AFP, la mayoría de los bancos franceses, así como el Deutsche Bank alemán están involucrados en el desarrollo del sistema. Sin embargo, ningún banco europeo ha confirmado oficialmente su participación en el proyecto.

Las fuentes de AFP explican que la iniciativa de crear el sistema fue “inicialmente política“. El Banco Central Europeo se preocupó por la soberanía de los pagos en 2017.Según Retail Banking Research, los estadounidenses lideran el mundo de las tarjetas de pago con 2.200 millones de Visa y 1.900 millones de MasterCard. También existen Diners Club (107 millones de tarjetas) y American Express (70 millones de tarjetas), ambos también de EEUU.

Aunque en Europa siempre han existido sistemas locales, nacionales, en los últimos años han perdido terreno. “En Europa, cada 9 de cada 10 euros de pagos con tarjeta se realizan con Visa o MasterCard”, dijo al diario ruso Vzglyad, Ivan Kapustianski, asesor financiero y experto en inversiones personales.

Sin embargo, el mundo de los sistemas de pago está cambiando activamente. En términos de número de tarjetas, el principal competidor de los estadounidenses es el gigante chino Union Pay, que emitió 3.500 millones de tarjetas. Ya en 2017, Union Pay representó el 44% de todas las tarjetas de pago en el mundo, mientras que Visa y MasterCard representaron el 21% y el 16% de todas las tarjetas, respectivamente.”Sin embargo, el sistema de pago chino cubre principalmente a los países asiáticos que absorben tal volumen de tarjetas debido a la extremadamente alta cantidad y densidad de la población en la región. Al mismo tiempo, los estadounidenses reinan en Europa”, señala Mark Goichmann, jefe del grupo de analistas CAFT.

Y no solo China tiene sus propios sistemas de pago. Después de la introducción de las sanciones occidentales Rusia ha creado su tarjeta Mir aceptada en siete países, incluida Turquía.

“El ejemplo del sistema de pago ruso Mir mostró que el rechazo de los sistemas internacionales no solo es posible, sino también razonable desde el punto de vista de la seguridad, así como una forma de reducir el impacto de la presión de las sanciones”, explica Serguéi Alpatov, director comercial de la compañía Chronopay.

“Los europeos decidieron seguir el camino de China y Rusia, que crearon sus propios sistemas de pago nacionales. Son comprensibles los motivos de Moscú y Pekín, pero ¿por qué está haciendo esto la Unión Europea? Después de todo, Estados Unidos no impuso sanciones contra ella y no ha lanzado ninguna guerra comercial. Al mismo tiempo, si Moscú anunció en voz alta la creación de su propio sistema de pago nacional en condiciones de presión occidental, Bruselas lo está haciendo en silencio. ¿De qué tiene tanto miedo?”, nos pregunta la corresponsal de Vzglyad, Olga Samofálova.Los analistas rusos suponen que Bruselas está pensando en su soberanía, la independencia de Europa de los sistemas de pago estadounidenses y, en el futuro, chinos.

Y no solamente es una cuestión de finanzas.

“Además del hecho de que las empresas estadounidenses controlan el mercado de pagos sin efectivo en la UE, también tienen información sobre los datos personales de los ciudadanos de la UE, lo que también conlleva ciertos riesgos, especialmente en el contexto de guerras comerciales”, concluye Kapustianski.

Leer Más