¿Qué es Blockchain?

Hoy, y por 24 horas (prorrogables a 24 meses) , por ser lectores de este blog, teneis derecho al lanzamiento en exclusiva de la criptomoneda JOB, basada en la súper moderna tecnología Blockchain. al precio de lanzamiento de 5$ el JOB. Solo tienes que pulsar en este enlace y comprar en múltiplos de 100 JOBs.  También se puede minar usando un PC con 5 tarjetas gráficas. Se estima que llegue a costar 10.000$ en un año.

Oh yeah!

Bueno, pues esto, aunque use Blockchain NO es Blockchain, solo es Jorge queriendo estafaros vendiendo algo que no tiene valor, que se basa, o eso dice, en la tecnología Blockchain, para montar la quintaesencia de la estafa piramidal. (Ojo que no opino mal de Bitcoin, ya hablaré de eso).


¿Qué es Blockchain?

Blockchain es una tecnología que supone un registro en una red descentralizada que almacenan transacciones en una serie de bloques enlazados entre sí y que se replican en una serie de nodos que participan todos la misma red con una copia de esos registros y bloques de todos los nodos y que sirven para que generen un consenso de que las transacciones son introducidas correctamente y almacenadas inalterables. Al ser una red descentralizada no hay un organismo de control central.

Bueno, pues con esto ya está claro ¿No? Ha salido corto este artículo. Hasta el siguiente artículo. ¿Se ha entendido?

Nop

Creo que voy a tener que explicarlo mejor.


La alternativa a la centralización del control

Vamos a ponernos en un caso real y de ahí vamos a sacar la solución centralizada y la descentralizada.

Pongamos un banco central, en el que se realizan miles de operaciones (transferencias, cobros, pagos, recibos) de todos los bancos del pais. Todas y cada una de las operaciones han de pasar por la entidad central para que las procese y valide, y las apunte en su libro contable como realizada. Ej: Juan envía 100€ a Laura. El problema es que toda la Red depende de esa entidad central, que tiene el poder de hacer con ella lo que quiera.

El corralito de Argentina
Cuando el banco central actúa mal y daña a todos los usuarios de la red.

Ahora bien, queremos que no haya un ente único donde se centralice el control, validación y contabilidad. Para ello se juntan los diez amigos del barrio y van apuntando quien le presta dinero a quien y quien paga qué. Cada uno tiene una libreta y, cada vez que alguien hace una transacción en la Red de amigos, todos apuntan dicha transacción. Se conocen bien entre ellos y no se apunta nada unilateralmente, llegan a un consenso porque confían en cada uno de ellos y se mandan un mensaje cada vez que se realiza una transacción, para que quede escrita en todas las libretas. Si uno quiere engañar al resto añadiendo que ha recibido 100€ de otro, no va a  cuadrar con las libretas de sus compañeros y no realizarán dicho apunte.

Amistad y Dinero
Agua y Aceite

¿Suena bien? Bueno, esto a pequeña escala y en núcleos cerrados todavía se podría realizar, pero a gran escala no tendría sentido. Ahí es donde aparece la tecnología. Ahora vamos a cambiar la historia un poco.

El país Españistán crea una nueva moneda llamada «BitPeseta» y reparte a cada ciudadano 100 BitPesetas y pone las siguientes reglas.

Recompensa por transacción validada

Cada vez que haya una transacción de BitPesetas en la Red, le costará al emisor 0,001% de la cantidad enviada como tarifa de transacción. Esta tarifa se destina a mantener la red de blockchain operativa, compensando a aquellos nodos que participan en la validación y registro de las transacciones.  Esto es como si, de los amigos anteriores, aquellos que fuesen «contables», se llevasen una parte minúscula de cada transacción como pago a su trabajo. Pero claro, cuando hablamos de millones de transacciones, establecer una recompensa por transacción validada es un poco inmanejable. Por lo que, en blockchain, se agrupan las transacciones en paquetes y lo que se usa son los bloques de transacciones en cadenados.

Cadena de bloques (Blockchain)

Cada «bloque» en la cadena contiene un número de transacciones, y una vez que un bloque se completa, se une a la cadena de bloques, y se manda a todos los nodos validadores, creando así un registro histórico permanente. Cada bloque tiene el Identificador (hash) del bloque anterior, con lo que están encadenados y no puede introducirse un bloque en medio ya que una copia de la cadena de bloques reside en todos y cada uno de los nodos validadores.

Transacciones bloqueadas

¿Quiénes son estos nodos?

Pues todo aquel que quiera participar en la red validando transacciones y, cuanto más gente haya, más «descentralizada» será y menos «controlable» por un ente único. Pero claro, estamos hablando de «nodos» que no dejan de ser ordenadores conectados a la red, y eso, como sabemos, puede dar a un fraude muy sencillo. Un solo ordenador físico puede hacerse pasar por muchos ordenadores, clonando direcciones MAC y haciendo ver a la red que hay muchos nodos trabajando. Y el dueño de esos «falsos nodos» tendrá el control para imponer sus transacciones por consenso del 51% con el resto.

A robar carteras

Control de los nodos validadores – Mecanismos de consenso

Para cerciorarse que cada uno de los nodos corresponde a un nodo físico (Computadora) conectado a la red se crearon los mecanismos de consenso. El objetivo es que nadie pueda hacer pasar un ordenador real por miles de ellos y, para ello, hay varios tipos de mecanismos de consenso:

Prueba de Trabajo (Proof of Work – PoW)

Este mecanismo requiere que los nodos (mineros) realicen cálculos computacionales complejos para validar transacciones y crear nuevos bloques. De esta forma, aunque un nodo se clone para parecer que son muchos, su capacidad de computación no se puede multiplicar y no podrá llegar a ser más del 50% de capacidad de computación de la red, puesto que se necesita hardware y el coste no compensaría el posible beneficio. Este es el mecanismo de consenso que nació con Bitcoin, en el cual hay muchos nodos validadores intentando añadir un bloque a la cadena y el primer nodo que resuelve el cálculo agrega el nuevo bloque a la cadena y recibe una recompensa en criptomoneda. Aunque es muy seguro, consume una gran cantidad de energía eléctrica.

Lo que a mi no me entraba en la cabeza cuando lo veía esto desde fuera era: ¿Quién pone esos cálculos matemáticos que deben ser resueltos? La respuesta a esto es que eso está definido en la propia definición de la red. En el caso de Bitcoin (y muchos otros tokens usan esta definición) está definido en el paper de Satoshi Nakamoto y el cálculo implica encontrar un valor (conocido como nonce) que, cuando se combina con los datos del bloque y se procesa a través de una función criptográfica hash (específicamente SHA-256 en el caso de Bitcoin), produce un hash que cumple con ciertos criterios predefinidos (por ejemplo, un número determinado de ceros al principio).

Te acabas de quedar loco con la ristra de palabros.
¿Ha dicho nonce? ¿Qué %&$# es eso?

No voy a entrar en lo que es el nonce porque no tengo ni idea no es necesario para entenderlo. El caso es que usando una función criptográfica de generación de HASH (cadena Hexadecimal de 64 posiciones) usando los datos del propio bloque (como el hash del bloque anterior, el conjunto de transacciones y la marca de tiempo) y un código aleatorio (nonce – number used once) se generan códigos HASH aleatorios. El objetivo es encontrar un HASH, modificando el nonce, que comience por una cantidad concreta de ceros. ¿Parece sencillo no? Pues hay miles de tarjetas gráficas encendidas y funcionando en granjas de minería de Bitcoin que opinan lo contrario.

Prueba de Participación (Proof of Stake – PoS)

A diferencia de PoW, en PoS los creadores de un nuevo bloque son elegidos basándose en su riqueza, es decir, la cantidad de moneda que poseen y están dispuestos a «apostar» o bloquear como garantía. Esto es otra forma de abordar el problema, en vez de controlar que detrás de un nodo existe sólo un hardware, se establece la forma de legitimar un nodo es en base a que tenga una cantidad del token (criptomoneda) «bloqueada» para poder recibir beneficios por participar en la red. Esto hace que por muchos nodos que quieras crear, tu inversión en esa criptomoneda no se puede multiplicar mágicamente sin gastar dinero en tener esas criptomonedas. Esto reduce significativamente el consumo de energía ya que no requiere de cálculos computacionales intensos. Ejemplos de este mecanismo de consenso es, por ejemplo Ethereum o Cardano.

Otros mecanismos de consenso

Hay otros mecanismos de consenso, pero los dos importantes son el PoW y el PoS. Al final el motivo de tener que tener un mecanismo de consenso es para dar credibilidad a cada uno de los nodos validadores y evitar ataques del 51% y mantener la red descentralizada, segura y coherente.


En conclusión

Hay mucho de lo que hablar sobre este tema, es algo apasionante y podemos hablar de la democratización de la economía, el papel de los bancos centrales, que van de metedura de pata a metedura de pata, la auditoría automática que generaría sobre cadenas de suministro, origen de alimentos o productos, etc. Pero el objetivo (por ahora) desde este artículo no era meternos en temas económicos, sociales o filosóficos de todo esto. El objetivo es entender la tecnología que subyace de todo esto que escucharnos (Criptomonedas, NFTs, Contratos inteligentes, etc.) y entender algo que es complejo, pero no es para nada algo pasajero ni algo que no se sustente en una base tecnológica sólida y vanguardista. Si me animo nos metemos más en Bitcoin y los cambios sociales o económicos que una adopción masiva podría traer. Por ahora cierro aquí este tema que me ha costado mucho escribir y ha quedado largo. Gracias por leerlo.

Vamos a volver a poner la definición a ver que tal suena ahora:

Blockchain es una tecnología que supone un registro en una red descentralizada que almacenan transacciones en una serie de bloques enlazados entre sí y que se replican en una serie de nodos que participan todos la misma red con una copia de esos registros y bloques de todos los nodos y que sirven para que generen un consenso de que las transacciones son introducidas correctamente y almacenadas inalterables. Al ser una red descentralizada no hay un organismo de control central.

¿Entendido ahora?

Understood!