- OroyFinanzas.com - https://www.oroyfinanzas.com -

¿Puede la blockchain sustituir al 100% de las bases de datos tradicionales?

(OroyFinanzas.com) – Blockchain es la tecnología de moda. Está llamada a protagonizar el siguiente paradigma computacional de la mano del Internet de las Cosas (Internet of Things – IoT) [1]y a cambiar por completo la operativa del sector financiero pero, ¿es superior a las bases de datos centralizadas en todos los escenarios? Quizás algún día pero, si la confianza y solidez no son una prioridad, no hay nada que la tecnología blockchain consiga que las bases de datos existentes no puedan hacer.

Esto es un punto clave en torno al cuál hay mucha confusión. En lo relativo a tipos de datos que se pueden almacenar y las transacciones que pueden llevarse a cabo con ellos, la tecnología blockchain no añade nada nuevo. Para que quede claro, esto también se extiende al concepto de “contratos inteligentes o smart contracts [2]”, por muy atractivos y novedosos que suenen. Un contrato inteligente no es más que un programa que se ejecuta sobre todos los nodos [3] de una blockchain, algo que hasta ahora se ha venido haciendo con lo que se conoce como “procedimientos almacenados” [4] con las bases de datos centralizadas.

Lo cierto en relación a la blockchain es que, aunque tiene algunas ventajas, también tiene sus inconvenientes y evaluar esto es al final lo que hace que nos decantemos por un sistema u otro.

Veamos cuatro factores claves que favorecen las bases de datos centralizadas:

1. Confidencialidad: A favor de las bases de datos centralizadas.

Como ya hemos visto, todos los nodos de una blockchain verifican y procesan cada transacción de forma independiente.

Pueden hacer esto porque tiene visibilidad completa sobre:

Ésta es, sin duda, una manera genial de estructurar una base de datos, y esta transparencia es increíblemente valiosa para muchas aplicaciones, especialmente las de naturaleza financiera.

¿Cómo se enfrentan a esto las bases de datos tradicionales? De igual forma que en una blockchain, restringen las transacciones que pueden llevar a cabo determinados usuarios, pero estas restricciones se imponen en un punto central.

Como resultado, todos los contenidos de la base de datos sólo necesitan ser visibles en ese lugar en vez de en múltiples nodos.

Los permisos para acceder a esos datos también pasan por esa autoridad central, que puede aceptar o rechazar esas peticiones si lo cree conveniente.

Existen muchas formas de mitigar este problema, que van desde hacer transacciones desde muchas direcciones diferentes, a soluciones criptográficas más avanzadas como transacciones confidenciales [5] o “zero knowledge proofs [6]”.

Además, cuanta más información quieras ocultar en una blockchain, mayor será el poder computacional requerido para generar y verificar transacciones.

Aunque esto pueda aligerarse con el tiempo, nunca será tan sencillo como la opción de hacerlo directamente con una base de datos tradicional.

2. Desintermediación: A favor de la blockchain

El valor principal de la blockchain es que permite que la base de datos sea compartida gracias a un algoritmo de consenso sin requerir un administrador central. Esto es posible porque las transacciones contienen su propia prueba de validez y su propia prueba que las autoriza, en vez de depender de la lógica del software de la base de datos central.

Por tanto, la transacciones pueden ser verificadas y procesadas independientemente por múltiples nodos, que el cliente y protocolo fuerzan a estar sincronizados.

¿Por qué esto tiene valor? Porque aunque una base de datos es simplemente información, también es algo tangible.

Los contenidos de la base de datos se almacenan en la memoria de un dispositivo en concreto y cualquiera que tenga acceso a ese dispositivo puede destruirlo o corromper su contenido.

De esta forma, en el momento en que confías tus datos a una base de datos tradicional, también estás confiando de manera indirecta en la organización humana que la custodia.

Cierto es que en el mundo hay muchas organizaciones que se han ganado nuestra confianza, como (algunos) gobiernos, bancos, universidades o empresas como Google o Facebook. En algunos casos, de hecho, funcionan francamente bien.

De todas formas, no importa lo eficientes y seguras que puedan ser. Siempre habrá un riesgo aunque su personal esté muy cualificado y los procedimientos que rijan el control de estos datos sean sólidos.

En este caso, la tecnología blockchain ofrece “delegar” esta confianza en la objetividad e imparcialidad de las matemáticas haciendo este proceso ultraeficiente y ultraseguro.

3. Rendimiento: A favor de las bases de datos centralizadas

Las blockchains siempre serán más lentas que las bases de datos descentralizadas. Esto no tiene tanto que ver con el desarrollo en que se encuentra la tecnología sino como resultado del concepto de blockchain en sí mismo.

Al procesar transacciones, la blockchain tiene que hacer todo lo que hace una base de datos tradicional y otras tres cosas más:

  1. Verificar la firma: Toda transacción que tiene lugar sobre una blockchain tiene que estar firmada digitalmente utilizando un par de claves pública-privada tipo ECDSA [7]. Es necesario porque las transacciones se propagan entre los nodos entre pares [8], así que su fuente no podría ser probada de otra forma. La generación y verificación de estas firmas es computacionalmente complejo y constituye el principal cuello de botella. En las bases de datos centralizadas, una vez se establece una conexión, no hay necesidad de verificar individualmente cada petición.
  2. Mecanismos de consenso: En una base de datos distribuida como la blockchain el esfuerzo debe emplearse en asegurar que los nodos de la red alcanzan el consenso. Dependiendo del mecanismo que se utilice, esto puede implicar un embrollo comunicativo considerable. Aunque es cierto que las bases de datos centralizadas también tienen que lidiar en cierta medida con problemas de este tipo, los resuelven de forma mucho más eficiente.
  3. Redundancia: Esto no hace referencia al rendimiento de un nodo individual sino al poder computacional agregado que requiere la blockchain. Mientras que las bases de datos centralizadas procesan las transacciones una o dos veces, en una blockchain deben ser procesadas de forma independiente por todos los nodos de la red, con lo que una cantidad considerable de trabajo se realiza de forma repetida para conseguir el mismo resultado.

4. Solidez: A favor de la blockchain

Como acabamos de ver, cada nodo de una blockchain procesa cada transacción, por lo que no hay ningún nodo que sea esencial para la red a nivel individual. Además, como los nodos se conectan entre sí por P2P [8], pueden fallar muchos enlaces antes de que el rendimiento de la red se vea comprometido. La tecnología blockchain garantiza que los nodos que se caigan, siempre podrán “ponerse al día” con el resto eventualmente. Así que mientras que es cierto que las bases de datos tradicionales ofrecen muchas formas de replicación [9], la blockchain lleva esto a otro nivel.

Para empezar, no hay nada que configurar, simplemente conectar algunos nodos entre sí basta para que se sincronicen automáticamente. Además, los nodos pueden añadirse o quitarse libremente de una red sin ninguna preparación ni consecuencias.

Por último, los usuarios externos pueden enviar sus transacciones a cualquier nodo o a varios a la vez y estas transacciones se propagarán automáticamente a todos los demás. Esta robustez transforma en esencia la disponibilidad en términos económicos de la base de datos.

En las bases de datos tradicionales, este nivel de disponibilidad se consigue gracias a combinar una carísima infraestructura y un servicio de “backups” de alto nivel.

Una base de datos primaria utiliza hardware a la última que se monitoriza en tiempo real para evitar problemas, replicando las transacciones en un backup que se copia en diferentes lugares físicos.

Si esta base de datos falla (porque haya un corte de corriente o un desastre natural), la actividad se deriva automáticamente al backup, que se convierte en la nueva base primaria. Una vez se arregle el sistema, pasará a ser de nuevo un backup.

Aunque todo esto es realizable, evidentemente resulta caro y es menos eficiente que la solución que proporciona la blockchain porque podríamos tener perfectamente 10 nodos en diferentes lugares del mundo conectados entre sí, corriendo sobre un hardware más modesto, compartiendo transacciones entre pares y utilizando la blockchain para asegurar el consenso. Los usuarios finales podrían conectarse, por ejemplo, con 5 de estos nodos de tal manera que si se cae algún enlace no pase nada. O si por ejemplo se destruyen dos nodos completos por la razón que sea, seguirá habiendo otros 8 que mantengan el sistema en plena forma.

Conclusión sobre las ventajas y desventajas de la blockchain frente a las bases de datos centralizadas

Estas son sólo cuatro formas en las que se pueden comparar las bases de datos tradicionales y la tecnología blockchain, aunque son las más esenciales a nivel conceptual.

Aunque es posible que en un futuro relativamente lejano la blockchain acabe capilarizando la mayor parte de los servicios que requieran bases de datos (si es que hay alguno que no las utilice), pero por el momento, no es útil en el 100% de los casos.

por Blockchain Toolkit [10]

¿Quieres saber más sobre la Blockchain? Blockchain Toolkit [10] es el curso que te permite entender su tecnología para poder aplicar su potencial en áreas o procesos de tu empresa y detectar oportunidades en su mercado o en otros nuevos.

Está distribuido en cuatro niveles para que, sea cual sea la base de la que partes, siempre vayas a más. Haz click aquí [10] para ver en detalle el programa y apuntarte ahora.