• José Antonio Ces

El del blockchain

Actualizado: 26 ene



El pasado 31 de agosto de 2021 España, a través de su Ministerio de Consumo, limitó la publicidad de las casas de apuestas, eliminándola de las competiciones deportivas e impidiendo que ningún club pudiera tener a estas empresas como patrocinadores. Esto provocó un pequeño tsunami en lo que respecta a la publicidad de los clubes de fútbol, entre otros. Y poco a poco fueron saliendo a la luz los “fan tokens”, una nueva vía de financiación por la que los clubes obtienen dinero a cambio de que sus compradores (los fans) puedan formar parte de sus decisiones. Una especie de acciones, pero en el “criptomundo”. Por poner un ejemplo, el Atleti ha llegado a un acuerdo con Socios.com para comercializar sus fan tokens a cambio de participar en encuestas y tomar ciertas decisiones de bajo calado tales como decidir qué jugador gestionará la cuenta del club en Instagram durante un día o votar el diseño de las mascarillas oficiales. Muchos de mis amigos me preguntan por todo esto. Especialmente desde que se hizo público que Messi había cobrado parte de su contrato en “criptodivisas”.


Y es que esto de las criptomonedas y la tecnología que hay detrás no es ni mucho menos sencillo. Pero sí empieza a ser relevante. Según Forbes en la actualidad circulan por la economía mundial más de 18,9 millones de Bitcoin (la primera criptodivisa) y, según CoinGeckoy, hay más de 12.700 criptomonedas (aunque esta cifra está en permanente ascenso).


Normal que la gente quiera saber sobre esto.


Pero antes de nada hablemos del dinero. Del vil metal. Algo que es poco tecnológico, pero cuya función necesitamos recordar para poder generar un contexto.


Un dinero que no respalda nadie… o que respaldan todos


El dinero no es más que un medio que facilita los intercambios y que sirve para almacenar valor. Nos lo contaron en el cole. Si un ganadero tenía vacas y un agricultor tenía maíz, el trueque o intercambio entre ambos se hacía complicado. ¿Qué coño hago yo con todas las mazorcas que me tienes que dar a cambio de mi vaca? Por eso surge el dinero. Y porque es más fácil meter billetes debajo del colchón que una vaca. Pero claro. Tanto el agricultor como el ganadero deben confiar en ese dinero. Porque si no es así, difícilmente entregarán sus bienes a cambio de un trozo de papel o de un puñado de monedas de metal. El dinero debe estar respaldado por alguien que diga que vale lo que vale. Y este papel le ha tocado tradicionalmente a los Estados. Y así de tranquilos estábamos desde el siglo VII antes de Cristo, cuando en el Reino de Lidia, una zona de la actual Turquía ubicada en el oeste de la península de Anatolia, se empezaron a realizar intercambios apoyados en una moneda muy similar a la actual. Pero en el 2008 todo saltó por los aires. Sí… hace poco más de 10 años.


En 2008 Satoshi Nakamoto (un alias tras el que seguramente esté un grupo de personas) publicó un documento llamado “Bitcoin: a peer-to-peer electronic cash system” donde se hablaba sobre la creación de una moneda digital, y se detallaba un protocolo o tecnología que serviría para regular su creación y su distribución. El Bitcoin es hoy una realidad. Tan cierta como que su cotización a primeros de enero de 2022 superaba los 35.000€. No está mal para una moneda que tiene menos historia que mi hija adolescente. Aunque también es importante tener clara su volatilidad. Hace tres días bajaba su valor más de un 9% al igual que la mayoría de las criptomonedas. Todo un mundo por conocer.


Pero no nos quedemos en la moneda.


Esto es un blog de tecnología, así que hablemos de lo que hay detrás de todo esto. De ese protocolo. Hablemos de blockchain: la tecnología que, además de dar cobertura a la generación y el intercambio de las criptomonedas, cada día se utiliza en más y más aplicaciones que buscan un mecanismo descentralizado que garantice las transacciones sin necesidad de que exista un organismo o entidad reguladora.


El valor de blockchain


Lo mejor para que entiendas qué es el blockchain es utilizar un ejemplo… ¿por qué no el Bitcoin que es quien nos ha traído hasta aquí?


Cuando Nakamoto describe el sistema que dará cobijo a su nueva moneda, lo estructura en una arquitectura de múltiples nodos trabajando al mismo nivel (ninguno de ellos manda sobre los demás). Piensa en ello como si de Internet se tratase. Muchos servidores interconectados entre sí. Estos servidores dan cobertura al sistema de compra y venta de moneda. Si quiero comprar un bitcoin, de alguna manera (ahora veremos cómo) me pongo en contacto con uno de esos nodos que estará conectado con el resto de los nodos de la red y que me dará acceso a los bitcoins que quiero comprar.


Pero… ¿cómo se compra un Bitcoin?


Al igual que para ver el saldo de tus cuentas bancarias o para hacer una transferencia necesitas una aplicación web o una app (o acudir a una sucursal bancaria), en el mundo de las criptomonedas, necesitas tener un “wallet”. Wallet es billetera en inglés. Hay diferentes tipos de wallets o billeteras de criptomonedas disponibles, algunas basadas en software (por ejemplo, apps para móviles) y otras basadas en hardware (similares a una memoria USB). Pero casi todas funcionan igual: almacenan unas claves privadas que permiten el envío y la recepción de criptomonedas. Hace unos días explicaba en este blog qué es esto de las claves privadas y las claves públicas. En mi wallet tendré mi saldo en criptomonedas y una serie de operaciones accesibles para gestionar ese saldo y convertirlo en moneda real y/o en otras criptomonedas. Algunos wallets conocidos son Bitcoin Core, Coinbase, Trezor o Metamask. Algunos fríos y otros calientes… ¿qué? Es que esto da para un post. Prometo escribirlo algún día, pero saltémonoslo por el momento que nos desvía del foco.


Lo importante, que sin billetera no hay criptomonedas. ¿Lo tienes?


Pues bien. Hasta aquí nada nuevo. Hasta ahora todo lo que te he contado de Bitcoin es bastante parecido a cualquier aplicación bancaria. Parecido, pero no igual. Porque en las aplicaciones bancarias es el banco el que respalda todo lo que sucede en mi cuenta. Y quien controla que las operaciones sean las que son y que todo funcione conforme a la regulación vigente. Pero… ¿quién hace esa función en un mundo donde no existen los bancos?


El problema del doble gasto


Hablemos de un problema al que se enfrentó la economía digital en sus inicios: el doble gasto. Este problema se entiende muy bien con un ejemplo. Retrotraigámonos a la España de los cheques. Hoy se ven pocos, aunque alguno hay. Pero hubo un momento en el que se usaban bastante. Supongamos que tengo mil euros en mi cuenta bancaria y acudo a dos tiendas diferentes a comprar un mismo producto, que cuesta exactamente mil euros, y en ambas pago con un cheque. El primero que cobre el cheque encontrará fondos en mi cuenta bancaria. Pero el segundo no tendrá esa suerte. Lo que se dice un “cheque sin fondos”. En un sistema centralizado, el banco se encargará de cubrir esa cantidad y de perseguirme hasta la extenuación para que le devuelva el importe debido. Pero… ¿qué pasa si no existen los bancos? ¿Quién se responsabiliza de esto?


¿Entendido el problema?


Que no exista una entidad central que controle quién tiene dinero supone un reto. La primera criptomoneda no fue el Bitcoin. En realidad, el dinero digital es originario de principios de los años 80. En esas fechas, David Chaum creó la primera moneda digital: el e-Cash. ¿Te suena? Es igual. La cosa es que este señor se enfrentó ya entonces al problema del doble gasto, y lo solucionó utilizando un servidor central que controlaba todo el flujo de moneda. Este servidor centralizado era un punto débil al ser un cuello de botella y una pieza “atacable” por los malos a la hora de poner a prueba su seguridad y resistencia. Esto hizo que el e-Cash no tuviese mucho éxito y de ahí que no te suene. Pero Nakamoto planteó un sistema que, evitando esa centralización, lograba sortear los problemas del doble gasto. Un sistema robusto pese a su descentralización. Y lo que había detrás era blockchain.


Entremos por fin en lo tecnológico.


Un usuario A del sistema quiere hacer una transferencia de 10 bitcoins a un usuario B. Lo hará a través de su billetera o wallet, donde ordenará esta operación. Esto estaba claro. Pero lo que sucede a continuación es una novedad. Y es que el sistema distribuirá esa operación hacia todos sus nodos. De esta manera, la garantía de que la operación ha sucedido (el usuario A le ha dado 10 bitcoins al usuario B) quedará respaldada por todos los miembros del sistema ahora que lo conocen. Esto sí que es democracia. Una completa descentralización de la información. Y así, aunque hubiera alguien que quisiese tratar de negar la operación, todos los demás miembros de la red podrían evitarlo al poder dar constancia de la misma. Ya me gustaría a mi esta transparencia en muchas otras cosas… ¿o no?


Pero sigamos, que la cosa no acaba aquí.


Un libro de cuentas encriptado que cuesta mucho escribir


Blockchain no sólo facilita que las cosas se sepan, sino que se encarga de ir recopilando y encadenando todas esas transacciones. Una detrás de otra las va consolidando en un gran libro de cuentas. Todas ordenadas. Y ese libro de cuentas se va retransmitiendo por toda la red. Su existencia distribuida consigue que nadie puede alterarlo, porque, si alguien tratase de hacerlo, el hecho de que existan muchas copias distribuidas hará imposible corromperlas todas. Bueno. Aunque es difícil alterar todas las copias existentes de una información, debes tener claro que no es tarea completamente imposible. Dejémoslo en altamente improbable. Bitcoin, tras casi quince años de actividad, no ha tenido una sola brecha de seguridad. Mi una sola. Y este hecho acerca su vulneración bastante más al “imposible” que al “improbable”. Y es que hay una cosa que no te he contado y que constituye el último pilar de esta tecnología: que toda la información guardada en ese libro mayor de cuentas se encripta. Para que nadie pueda saber qué quedó grabado y qué no. Y esto se hace con un gran consumo de recursos. Algo que pone en tela de juicio si esta tecnología es la ideal. Pero cierto es que o consumes recursos o tu seguridad se pondrá en riesgo.


Veámoslo.


La red de blockchain que da soporte a Bitcoin (y también las que respaldan otras monedas como por ejemplo Ethereum o Tether por hablar de las tres de mayor capitalización en el mercado) va juntando las múltiples transacciones y cuando tiene un grupo suficientemente alto genera un bloque de información y lo “encadena” dentro del blockchain. Pero antes lo encriptará para evitar brechas de seguridad. Así, nadie podrá cambiar ni una coma de los acontecimientos previos. Doble seguridad: información distribuida, en un lado, e información encriptada, en la otra. Normal que no haya habido una sola brecha en todo este tiempo.


Déjame que te hable de esta encriptación y de un concepto clave en blockchain que es la prueba de trabajo (Proof of Work, PoW).


Hablemos antes de “hash”. Hash es un algoritmo de encriptación que es capaz de generar un chorro de dígitos de una longitud fija a partir de un conjunto de caracteres o frases. Le damos un “input” y nos da una salida en forma de un número muy largo. Si cambia sólo una coma de la entrada, la salida será muy diferente. En la red de Bitcoin se utiliza un mecanismo hash denominado SHA-256, que significa "algoritmo de hash seguro de 256 bits". Quiere decir que la cadena de salida tendrá 256 bits. Los algoritmos de hash criptográfico son muy interesantes y tienen un alto uso porque generan cadenas de salidas únicas e irreversibles. Es decir, que es prácticamente imposible recuperar la información de entrada a partir de esta cadena de salida. Pero ambos valores quedan concatenados. Y eso da mucha seguridad a la hora de evitar que alguien lo manipule. Si lo hiciese, la cadena se rompería y la brecha de seguridad se detectaría al momento.


Pero aquí no acaba la cosa. Blockchain exige que esa cadena generada no sea cualquiera, sino que le pone restricciones. Más concretamente, que esa cadena de salida tenga veinte ceros al inicio. Pero… ¿y si no salen esos veinte ceros cuando ejecuto la función hash? Sencillamente habrá que ejecutarla de nuevo hasta que salgan. Pero… ¿no decías que la salida dependía de la entrada? Pues habrá que cambiar algo en la entrada, para que varíe la salida. Es lo que se llama el “nonce” que es un número que vamos variando hasta que conseguimos que la salida cumpla los requisitos exigidos.


Vale. Pero no entiendes por qué hay que hacer todo esto, ¿verdad?


Sigamos.


En 1997 Adam Back desarrolló una contramedida para evitar el spam en los correos electrónicos. El spam (correo no deseado) suponía un tráfico incremental que provocaba un problema en los servidores de correo que colapsaban ante tanto correo. Para resolverlo, Adam se planteó requerir una “prueba de trabajo” al emisor que el receptor pudiera validar rápidamente. Pero que al emisor le costase algo de computación extra. El que algo quiere algo le cuesta, que diría mi abuela. Con esto, los receptores eran capaces de determinar si el emisor había realizado ese esfuerzo, dando por hecho que aquél que no lo hubiese hecho, es que era un “spammer”.


Las pruebas de trabajo (Proof of Work, PoW) sirven para evitar ciertos comportamientos indeseables dentro de una red, y basan su éxito en aplicar una asimetría en cuanto requiere un trabajo al cliente de un servicio que luego es validado de manera muy simple por parte de la red. La obligación de que la cadena que se genera en blockchain tenga unas condiciones determinadas (esos veinte ceros a la izquierda) tiene que ver con esta prueba de trabajo. Por lo tanto, no se trata únicamente de encriptar la información, sino de evitar al tiempo que se utilicen los recursos de la red de forma abusiva y descontrolada.


Pero… ¿cuántas veces tengo que aplicar la función hash para encontrar una cadena que tenga veinte ceros al inicio? Pues por probabilidad matemática, unas cuantas. Muchas. Muchísimas. Realmente, esto es mucho más que una prueba de trabajo. Es una prueba de “trabajazo”. Así la red blockchain se sobreprotege y no le cuelan ni una. Pero claro… ¿quién está dispuesto a consumir todo ese tiempo de computación? Pues el usuario del sistema no. Ya te lo digo. Si para comprar o vender un bitcoin, mi ordenador tiene que estar computando durante minutos u horas, pues como que paso de Bitcoins. Y aquí nacen los mineros. Equipos que computan para blockchain a cambio de dinero. Hay quien gana mucho dinero minando. En China, por ejemplo, y en otros países donde la electricidad también es barata, hay granjas de servidores dedicados única y exclusivamente a minar. A ejecutar funciones hash una detrás de otra para validar las transacciones de una criptomoneda. Pero si no vives en China no caigas en la tentación. En España cuesta bastante más la electricidad que consume tu ordenador que la retribución que recibirías por el minado. Especialmente estos últimos meses. El sistema de Bitcoin se diseñó para soportar una comisión en cada transacción que se entregaría a cambio de la computación de esos mineros, que será necesaria para cerrar los bloques encadenados. Y, por cierto… a esos mineros se les paga en Bitcoins. No está mal pensado.


En definitiva...


Con esto has visto los principales elementos que constituyen blockchain. Pero antes de terminar, déjame que te haga una reflexión que hoy está caliente en la red. Y tiene que ver con la ineficiencia del sistema y la cantidad de computación que exige para cerrar una transacción o, más concretamente, un bloque de transacciones. El creciente uso de blockchain, ya no sólo para crear moneda digital, sino para generar consenso sobre transacciones de manera descentralizada, está tensando la tecnología utilizada porque es tremendamente ineficiente. Se consume mucha computación. La prueba de trabajo es altamente exigente. Y como está distribuida y es de libre acceso, muchos ordenadores minan sin lograr resultados, porque otro consigue el requisito antes. De ahí que haya aparecido una variante como es la prueba de participación (Proof of Stake, PoS) y que las nuevas redes de blockchain (Ethereum, Cardano, Solana,…) utilicen mecanismos alternativos para determinadas funciones.


Pero no nos equivoquemos.


Estamos ante una de las tecnologías más prometedoras del momento. No tanto por cómo hace lo que hace, sino por el problema que soluciona. Ya mejorará. Detrás de ella no está sólo el Bitcoin o el resto de las criptodivisas (ya decíamos que había unas cuantas). Hay un mundo de posibilidades, pero especialmente uno tremendamente interesante que son los NFT (Non-Fungible Token). No. No son los “fan tokens” de los clubes de fútbol que me ayudaron a empezar esta entrada. Es otra cosa muy interesante y curiosa. Hablaremos de ellos muy pronto. De momento quédate que están generando una fiebre especulativa que tiene bastante peligro. Incluso más que las apuestas deportivas. Y si lo mezclamos con los fans y con el fútbol ya ni te cuento.


A lo mejor, si nuestro flamante ministro de Consumo lee esta entrada, decide dar marcha en la decisión de este verano.


O no ;)

10 visualizaciones

Entradas Recientes

Ver todo