Blockchain – El futuro de la seguridad, ¿o no? Breve análisis sobre el concepto de Blockchain, así como las implicaciones que tiene a nivel de seguridad y sus posibles usos en distintos ámbitos

¿Qué son los blockchains?

Me volvió esa pregunta a la mente como hará dos semanas, principalmente porque vi un discurso bastante alentador del economista Don Tapscott en TEDXTalks.

Pero bueno, sabiendo un poco de inglés, podemos tomar la traducción literal del término para situarnos. Se trata, efectivamente, de «una cadena de bloques de registros».

Esta información está fundamentada en una base de datos distribuida en una red (o sea, que la gestionan muchos ordenadores al mismo tiempo), y tiene relación con el bloque de información anterior. En lo que al bloque respecta, se genera mediante una serie de cálculos de funciones hash (funciones matemáticas que cifran una entrada de datos y la comprimen a la salida) hechos en ordenadores de los conocidos como miners.

Estos mineros son, en esencia, ordenadores.

¿Qué ordenadores?

Depende del alcance del proyecto: en el caso del Bitcoin, cualquiera puede ser un minero. Simplemente es cuestión de conectarse a una red, descargarse una aplicación y dejar al PC hacer cálculos.

Sin embargo, alguien puede cuestionarse:

¿Y por qué es esto algo que pueda considerarse como importante?

Porque, aparentemente, ofrece una seguridad sin precedentes, que se basa en dos puntos:

  1. La red distribuida de miners. Este detalle es fundamental, porque cuando, por lo general, escuchamos en las películas que «los hackers (técnicamente hablando, crackers) hackean el servidor» es porque atacan a un único punto que suele ser un servidor central, así que se puede llegar a saber su localización, etc. Al tratarse de una estructura distribuida, todos los ordenadores implicados en la creación de un bloque de registros deberían ser atacados simultáneamente para poder obtener acceso al bloque; cosa que ya se hace bastante más complicadilla.
  2. La correlación entre los bloques de información. Si lo anterior parecía difícil a primera vista por la coordinación que requiere, esta característica hace el proceso más difícil aún. A la hora de generar un bloque, este bloque contiene dentro de sí, entre otros, un enlace al bloque anterior y la fecha y hora de creación en formato UNIX (iniciando el 1 de enero de 1970 en segundos). Por lo tanto, para que alguien acceda a una información almacenada mediante blockchain de manera externa, lo más probable es que tenga que recorrer una larga ristra de bloques antes de llegar al registro deseado; lo cual requiere de una gran potencia de cálculo.

Gráficamente lo podemos entender así:

Representación gráfica de un blockchain, o cadena de bloques
(Fuente: Creative Commons)

Y los colores representan:

  • Verde: El bloque más reciente.
  • Negro: La cadena de bloques que sigue al último bloque.
  • Morado: Bloques » huérfanos» (orphan) que se salen de la cadena principal.

¿Y esto qué aplicaciones tiene?

Pues esta idea inicialmente se desarrolló por la persona o grupo de personas llamado Satoshi Nakamoto para el proyecto Bitcoin. El Bitcoin, dicho de manera breve, es una criptodivisa (o sea, un medio de intercambio digital) que está totalmente descentralizada, con lo que no depende de ningún gobierno ni entidad que vaya a crear o manipular esta divisa. De ahí que el carácter distribuido del blockchain tenga sentido en este proyecto.

A día de hoy (23 de octubre de 2016), el cambio BTC – EUR (Bitcoin – Euro) está a 595,91 €. (Si os interesa ver información actualizada en vuestro momento, podéis mirar este enlace)

Logo de Bitcoin

Por otra parte, también han surgido lo que se denominan smart contracts (contratos inteligentes), que lo que hacen, dicho también bastante rápidamente, es generar unas relaciones contractuales virtuales. Así pues, si hay 2 entidades que se han puesto de acuerdo para intercambiarse una serie de bienes o servicios al darse unas condiciones, el contrato inteligente hará esta gestión automáticamente, evitando que haya errores, olvidos, equívocos, … intermedios.

Por poner un ejemplo más de andar por casa (y eso que yo soy muy poco futbolero), voy a tomar el ejemplo dado en la Wikipedia española. Dice lo siguiente:

«Digamos que quieres apostar 20 € a que el Eibar va a ganar, mientras que su amigo está apostando la misma cantidad a que la Real Sociedad ganará el partido. El primer paso es que tú y tu amigo coloquéis el dinero en una cuenta neutral controlada por un contrato inteligente. Cuando el juego haya terminado y el contrato inteligente sea capaz de verificar a través de un sitio de noticias quién ha ganado, el contrato inteligente depositaría automáticamente los euros en la cuenta del amigo que haya ganado la apuesta.»

Con lo cual, se puede decir que hace que los contratos o relaciones pactadas tengan mayor seguridad, mayor certeza de que finalmente vayan a suceder. De hecho, hay un proyecto bastante sonado para la gestión de smart contracts que es Ethereum. 

Ethereum, esencialmente, es una plataforma descentralizada que permite gestionar smart contracts entre pares; con lo cual, cualquier desarrollador con conocimientos en el tema puede crear aplicaciones que generen estos contratos virtuales.Logo de Ethereum

En fin, que parece que sí que tiene cierta aplicación, además de otras áreas pendientes de explorar destacadas por expertos en el tema como el señor Tapscott. Sin embargo, mi pregunta es:

¿Hasta qué punto es todo esto seguro?

Por ejemplo, en el caso del Bitcoin, se suele decir que el coste de ruptura de la seguridad existente es matemáticamente posible, pero que el coste actualmente para hacerlo es demasiado alto (una capacidad de computación superior a la de empresas tecnológicas como Google), además de que puede haber cierta tasa de error al intentar descifrarlo. Con lo que, simplemente, no renta intentarlo.

A pesar de ello, un avance que podría hacer bajar ese coste (y quizá, hacerlo accesible) es el del ordenador cuántico.

¿Qué aporta un ordenador cuántico?

Pues, utilizando las propiedades de la Física a nivel subatómico, se puede llegar a unas capacidades de cálculo desmesuradas, lo que puede que eche por la borda todo esto de lo que hablo. Si os interesa saber un poco más de qué trata esto de los ordenadores cuánticos, pongo a continuación un vídeo de Kurzgesagt | In a Nutshell (un canal de divulgación científica en inglés), que da varias ideas preliminares sobre estos ordenadores.

Aunque, ¿podría un blockchain formado a partir del procesamiento de ordenadores cuánticos evitar el potencial peligro que este mismo avance puede crear? La verdad, no tengo ni la más remota idea. 😀

En fin, os dejo también a continuación la charla de Don Tapscott (con subtítulos en español) sobre los Blockchains.