Blockchain (II). Un modelo distribuido fiable de seguridad. ¿La panacea?

26 de febrero de 2017
Supongamos por un instante que deseamos establecer una comparativa entre las características y mecanismos de seguridad actuales (habitualmente centralizados) y lo que blockchain (paradigma de modelo distribuido) podría aportarnos. Esto es tan ecuánime e imparcial como comparar la venta de productos en un comercio de barrio con los mecanismos de venta en un comercio online, o sea, resulta injusto. Porque blockchain no solo responde a un novedoso hito conceptual, sino que se ha visto altamente influenciado por los avances tecnológicos y una mayor idoneidad social y cultural en una comunidad mucho más abierta y capacitada. Pero aun así repasaremos estas diferencias.

Comparativa

Se puede comprobar por tanto que el enfoque Blockchain es distinto a los modelos de seguridad habituales, y durante mucho tiempo ha supuesto un reto conseguir que se considere su aplicación a las mismas situaciones y usos que el modelo tradicional. Tantas diferencias y sin embargo presumiblemente mucho más seguro… puede que que esa sea precisamente esa su mayor virtud.


Comparativa. Hacer click para ampliar.

Fortalezas

A continuación, se presentan el resto de aspectos funcionales que permiten comprender cómo unas características tan distribuidas, sustentan una verificación y seguridad supuestamente tan sólida e inquebrantable. Para ello vamos a retomar el ejemplo de la primera entrada e introducir un nuevo tipo de individuo en la sala. Los Testigos. Estas personas no pueden imprimir nuevas hojas (crear bloques de datos) pero sí forman parte del equipo que decide si una hoja nueva se agrega o no a las anteriores. De esta manera no tienen que invertir tanto esfuerzo como los Operarios, pero sí guardan copias de la lista de hojas para contrastarlas con el resto.

Disponibilidad
Al ser una red distribuida, el hecho de que uno de los nodos caiga no afecta al conjunto total de la red P2P ya que la información replicada resuelve de manera instantánea este suceso. A diferencia de un modelo centralizado donde la caía del servidor impediría el acceso y uso del sistema. Además, mantener el histórico completo de operaciones garantiza que no se perderán datos en los futuros procesos de intercambio y distribución. Ante esto, podemos establecer que el modelo blockchain es capaz de resistir ataques de denegación de servicio (DoS) con lo que resultaría bastante inviable afectar al funcionamiento global de blockchain. En nuestro ejemplo de la primera entrada, hay que diferenciar entre los participantes que desean expresar sus comentarios de aquellos que quieren recogerlos y confirmarlos de manera impresa. Pero todos interactúan a través de comunicación persona a persona (P2P) con lo cual jerárquicamente están al mismo nivel. Si bien es cierto su rol funcional difiere entre ellos.


Modelo distribuido en blockchain
Inmutabilidad
Los datos de las transacciones y las operaciones son imposibles de modificar una vez hayan sido incorporadas al blockchain. Podemos también entenderlo como acciones irreversibles e incorruptibles. No existe posibilidad alguna de modificar, alterar, falsear, rectificar o borrar ningún nodo de los que componen el histórico de operaciones que forman el blockchain. Tanto operarios como testigos poseen copias de todo el material que ha sido aceptado, por tanto, cualquier intento de alterar un dato del pasado es directamente rechazado (y criptográficamente imposible). Además, cada ampliación, al hacerse de manera consensuada impide que haya desviaciones respecto a la información incorporada a la cadena de datos. Cuanto más tiempo un bloque en el blockchain, más complejo modificarlo puesto que implicaría modificar criptográficamente todos los posteriores.

Inmutabilidad del blockchain

¿Y cómo garantizamos esta inmutabilidad? Para ello tenemos que alejarnos un poco de nuestro ejemplo didáctico y bajar a un nivel algo más técnico donde en vez de imprimir comentarios en hojas, vamos a demostrar la autenticidad de una serie de transacciones en bloques. Es decir, vamos a ver cómo blockchain consigue recopilar en un bloque de información un conjunto de transacciones entre usuarios de la red de manera no repudiable y segura. Para ello utiliza el cifrado asimétrico donde cada usuario posee un par de claves pública-privada que le permite garantizar que una transacción ha sido realizada por él. Este proceso en próximas entregas cuando ahondemos en detalle la relación blockchain y las criptomonedas.

Debilidades

Hemos visto las numerosas virtudes y el cambio tan radical de enfoque que blockchain establece. Pero este compendio de virtudes y capacidades acarrea una serie de condicionantes o debilidades tanto funcionales como operativas derivadas de las propias características de blockchain.

Ataque del 51
¿Es la democratización la mejor solución? Siempre que nadie pueda alterar la opinión de los individuos para imponer su propio interés se podrá llegar a la solución más adecuada para la mayoría. Qué ocurre en nuestro caso si la mayoría de Operarios, es decir el 51%, decide que se va a imprimir solo los comentarios que ellos quieran, ignorando la opinión del resto. En definitiva, la serie de hojas impresas solo contendrían la información que este subgrupo quisiera aceptar, e incluso podrían falsear nuevos datos e inventarse hipotéticos comentarios de individuos ficticios, ya que ellos podrían decidir el aceptar datos erróneos.

Pues en eso consiste el ataque del 51. En el caso de los bitcoins, donde los Operarios son mineros que tratan de validar bloques de blockchain (por lo que se les motiva con una recompensa, recordemos), existe el riesgo patente de que el 51% se pongan de acuerdo en confirmar solo las transacciones que ellos deseen (por ejemplo, las que les reporten mayor beneficio), que podrían ser falsas o alteradas para su propio beneficio. Este poder sería absoluto, ya que en cualquier instante de tiempo donde alguien controle el 51% de la capacidad computacional de la red blockchain podría empezar a añadir transacciones de desvío de criptomonedas cuyas transacciones se han realizado de manera legal. Podría anular el trabajo del resto de mineros de la red, rechazando su construcción de nuevos bloques. El panorama actual en bitcoin demuestra que estamos alejados de ese riesgo pero que supone una preocupación real cuanto mayor aumente el interés por las criptomonedas.


Distribución actual del pool de minería en bitcoin. Fuente: news.bitcoin.com
Lentitud
En nuestro ejemplo desde que un individuo hace su comentario hasta que los operarios consensuan su opinión y la imprimen puede pasar un período de tiempo aceptable. Pero a nivel mundial con la cantidad de transacciones que se realizan y que se debe consensuar el 51% de todos los nodos, se puede entender que es un proceso costoso y para nada inmediato. En el caso de bitcoin, los mineros son capaces de aceptar de media un bloque cada diez minutos, eso no garantiza que nuestra transacción esté incluida en ese bloque ni que se vaya a confirmar de manera definitiva.

Existe un proceso que no hemos comentado aún que estipula que mientras los nodos de la red consensuan su decisión de aprobar un nuevo bloque, otros se siguen generando simultáneamente. Para solucionar esto, durante la verificación de nodos, no se confirman nuevos bloques hasta que no haya seis confirmaciones posteriores. De esta manera se evita la aceptación de transacciones anómalas ya que su validez habrá sido corroborada con un margen futuro bastante amplio. Por tanto, hasta obtener seis confirmaciones podrían llegar a transcurrir hasta 60 minutos para obtener una confirmación de nuestra transacción. La lentitud de confirmación es la principal lacra actual detectada en los usos de blockchain actuales como bitcoin. Y en un sector tan dinámico como las tecnologías de la información y la gestión financiera este lastre pesará cada vez más.

Sin embargo, es curioso ver que el crecimiento del tamaño del blockchain que acumula todo el histórico de transacciones no añade ningún retraso para el global de funcionamiento. Donde el tamaño actual se sitúa por encima de los 100Gb de datos. El proceso de localizar transacciones muy atrás en el tiempo no supone un retraso significativo para los grandes servidores de minería durante el proceso de verificación.

Tamaño actual del blockchain

Usuarios
No podíamos olvidarnos del factor humano dentro de la lista de principales debilidades de blockchain. En última instancia, flotando sobre el océano transaccional del blockchain y bitcoin. Protegiendo sus activos monetarios a través de algún mecanismo de credenciales más o menos resistente, habita el usuario. Con experiencia, interés y capacidad suficiente como para adentrarse en el mundo de las criptomonedas pero con las mismas debilidades propias del individuo, expuesto a vulnerabilidades, malware y acciones de ingeniería social habituales.

En la siguiente entrega comenzaremos nuestra andadura por el Bitcoin como moneda. Observando cómo se ha gestado su uso a partir de blockchain y la analizaremos para poder explicar cuál es el verdadero motor que ha conseguido alzarla al status que ostenta actualmente.

Marcos Arjona
Innovación y laboratorio
marcos.arjona@11paths.com



*También te puede interesar: