‘¿Qué es el blockchain?’ últimamente me hacen muchísimas veces esta pregunta. Y no porque todo el mundo quiera invertir en Bitcoin o altcoins (ah, ¿no sabéis qué son las altcoins? Pues me lo apunto para contároslo otro día.), sino porque últimamente se oyen otro tipo de proyectos basados en la tecnología blockchain. Ya comentamos hace unas semanas cómo se aplicaba la tecnología blockchain en las criptomonedas, por ejemplo en Bitcoin… , además, en en este mismo blog encontrarás una entrada sobre la minería de criptomonedas con una visión más técnica y profunda… pero el Blockchain no sólo se utiliza para las transacciones de Bitcoin, tiene muchísimos más usos. Veamos primero qué significa exactamente eso del blockchain.
¿Qué es el blockchain?
La traducción de blockchain es literal, ‘cadena de bloques’, y básicamente se trata de un libro de contabilidad distribuido (aunque luego veremos otros usos que se le pueden dar) con tres características principales: es distribuido como ya hemos comentado, descentralizado y seguro.
Imagina un libro de cuentas donde tienes en una columna un identificador, por ejemplo 0001 y en la segunda columna tienes un valor, por ejemplo 20$. Pues ese libro de cuentas se manda a toda la red y, una vez que se encuentra distribuido, el resto de nodos van incluyendo apuntes y sincronizándolo de nuevo, de manera que todos tienen la misma copia actualizada con la misma información.
Vamos a verlo más claro con un ejemplo: piensa en tu banco de toda la vida: Para saber cuánto dinero tienes, debes conectarte a su página web (no voy a hablar de ‘actualizar la cartilla’ como dice mi amigo @CesarTowers10) y ver el saldo que tienes en tu cuenta. En este caso estás confiando sólo en una entidad, tu banco, que es quien dice cuánto dinero hay en tu cuenta, pero puede no ser cierto o puede equivocarse… igual no te ha pasado nunca, pero podría suceder por un fallo informático. A su vez, cuando haces una transferencia, tu banco tiene que ponerse en contacto con el otro banco para anotar en tu cuenta que tienes X dinero menos e informar al otro banco que la cuenta del destinatario tiene X dinero más, añadiendo a todo esto sus comisiones y sus horas de espera (en el mejor de los casos, ya que las transferencias internacionales pueden tardar varios días laborables) y haciéndolo de una forma totalmente opaca a los ojos del usuario, que no puede ver cómo va la transacción o si uno de los bancos tarda demasiado en contestar, ¿verdad? Pues utilizando Blockchain para hacer una transferencia de Bitcoins por ejemplo, tendrías que mandar un mensaje a toda la red diciendo ‘quiero hacer una transferencia de X bitcoins a esta dirección de cartera’ ya que las carteras son anónimas, se puede visualizar cuanto dinero hay dentro pero no a quien pertenecen. En ese momento, la red verificaría que tienes suficientes bitcoins para hacer la transferencia. Si todo es correcto, la transacción quedaría registrada y validada, sin esperas, y formaría parte del bloque de transacciones, aunque todavía no se ha distribuido en toda la red. Una vez que ese bloque se ha completado con todas las transacciones que caben, se válida, se cifra y se genera un nuevo bloque donde van a anotarse las nueva transacciones, lo cual se realiza mediante algoritmos matemáticos (esto es lo que conocemos como el proceso de minería que explicamos más técnicamente en esta entrada).
Otros usos de blockchain
Piensa en los resultados de un análisis de sangre cuando tu médico te dice ‘el laboratorio nos ha enviado los resultados… y te quedan dos telediarios’. En este caso, estamos confiando en que el laboratorio no se ha equivocado, aunque seguramente con algo así pediríamos una segunda opinión y nos volverían a hacer los análisis en otro laboratorio… pero imagina que tu sangre se puede analizar a la vez por chorropotocientos laboratorios y te dan los chorropotocientos el mismo resultado, ya no tendrías ninguna duda de que te quedan dos telediarios.
El ejemplo que más me gusta es el del voto. Sí, eso que hacemos a veces los españoles para volver a hacer el ridículo delante de todo el mundo. Como habrás oído algunas veces, siempre hay líos con el recuento de votos, que si los votos por correo, que si los españoles que se encuentran fuera y votan nosecómo, que si en las residencias de ancianos dan las papeletas que quieren a los ancianos… mil historias. Ahora imagina un libro de votos distribuido donde tú mismo puedes votar de forma digital y tu voto se distribuya y se contabilice en tiempo real, sin tener que contar los votos a mano uno a uno al final de la jornada (es de coña que sigamos utilizando un recuento manual en pleno 2018), y por supuesto sin poder hacer ningún tipo de trampa e incluso autenticándote con tu DNI-e (ahora que vuelve a ser seguro) y tu webcam para que nadie pueda suplantarte por tener tu DNI-e, lo cual haría que pudiéramos votar incluso desde casa o desde la oficina, ahorrando los costes de desplazamientos y las molestias asociadas con ese día.
También hay proyectos que pretenden utilizar Blockchain para la historia clínica, que como sabrás en este momento no se encuentra sincronizada y si te trasladas de una comunidad a otra tendrás que informar tú mismo en el centro de salud de toda tu historia clínica ya que no es posible exportar e importar estos datos… con Blockchain no sólo se podría hacer sin problemas, sino que se podría implantar un sistema a nivel Europeo para que si te encuentras en otro país y tienes que ir al médico, este médico tenga una copia de tu historia clínica donde pueda añadir información y se sincronice de forma automática una vez validada por el resto de nodos o países de la UE.
En resumen, el Blockchain es una especie de base de datos distribuida entre sistemas que no tienen por qué tener una relación de confianza entre ellos y con la particularidad de ser descentralizada, sincronizada en tiempo real por todos los sistemas integrantes y validada por varios de los integrantes de la red.