Blockchains frente a las bases de datos centralizadas

Las cadenas de bloques son simplemente un nuevo tipo de base de datos. Pero hay algunas diferencias principales entre las cadenas de bloques y las bases de datos centralizadas que es importante entender.

Diferencias y similitudes entre las cadenas de bloques y las bases de datos regulares

Una blockchain es una base de datos que puede ser compartida directamente, y en la que puede escribir un grupo no seguro, sin necesidad de un administrador central. Esto difiere de las bases de datos SQL o NoSQL, que son controladas por una sola fuente aunque su estructura sea variada.

En algunos aspectos, las cadenas de bloques son más seguras que las bases de datos normales, y en otros, son menos seguras. Si se busca seguridad y rendimiento, las cadenas de bloques ofrecen la misma solidez que una base de datos normal.

Por ejemplo, los tipos de datos que se pueden almacenar, y las transacciones que se pueden realizar con esos datos, son los mismos en las bases de datos tradicionales y en las cadenas de bloques. Los contratos inteligentes -piezas de código informático que se ejecutan en cada nodo de una cadena de bloques- también entran en esta categoría. Los procedimientos almacenados son la versión de las bases de datos centralizadas de los contratos inteligentes.

Sin embargo, aunque las cadenas de bloques tienen ventajas, también tienen inconvenientes.

Desintermediación: Las cadenas de bloques ganan

El valor fundamental de una blockchain es que permite compartir directamente una base de datos a través de líneas de seguridad, sin necesidad de un administrador central. Esto se debe a que las transacciones de la blockchain contienen una prueba de validez y autorización, a diferencia de las bases de datos, que requieren un lugar centralizado de aplicación. Por lo tanto, las transacciones pueden ser verificadas y procesadas de forma independiente por múltiples “nodos”, y la cadena de bloques garantiza que esos nodos se mantengan sincronizados.

El contenido de una base de datos se almacena en la memoria y el disco de un sistema informático, y cualquiera con acceso a ese sistema puede destruir o corromper sus datos. En consecuencia, cuando se almacenan datos en una base de datos normal, se depende de la organización de la base de datos.

En la mayoría de los casos -como en el caso de los bancos, el gobierno, las universidades, las asociaciones comerciales y las empresas privadas-, éstas funcionan muy bien. El problema, sin embargo, es que si una organización controla una base de datos, también necesita muchas personas y procesos para evitar la manipulación, lo que requiere tiempo y dinero.

Las cadenas de bloques sustituyen a estas organizaciones por una base de datos distribuida y asegurada mediante criptografía. Los procesos humanos se sustituyen por código y, una vez escrito y depurado, el código es mucho más barato que el poder humano necesario.

Confidencialidad: Las bases de datos centralizadas ganan

Cada nodo de una cadena de bloques verifica y procesa una transacción de forma independiente. Los nodos tienen este poder porque tienen una perspectiva completa de la base de datos, incluyendo su modificación según lo solicitado por una transacción, y su firma digital que muestra el origen de la transacción. Esta es una forma inteligente de construir una base de datos. Sin embargo, para muchas aplicaciones, especialmente las financieras, la transparencia total no es ideal.

Los sistemas construidos sobre bases de datos regulares evitan este problema porque restringen las transacciones que los usuarios pueden realizar, pero estas restricciones son específicas de una ubicación central . Por lo tanto, el contenido de la base de datos sólo es visible en esa ubicación, en lugar de en múltiples nodos. Las solicitudes de lectura de datos también pasan por este punto central, que puede aceptar o rechazar dichas solicitudes. Una base de datos normal es de lectura controlada y de escritura controlada, una blockchain sólo es de escritura controlada.

Existen estrategias para evitar este problema con las cadenas de bloques, que incluyen completar las transacciones bajo múltiples direcciones de la cadena de bloques y utilizar técnicas avanzadas de criptografía. Cuanta más información se oculte en una blockchain, más pesada será la carga de generar y verificar sus transacciones. Independientemente de cómo se desarrollen las técnicas, seguirán siendo complicadas.

Robustez: Las cadenas de bloques ganan

Las bases de datos impulsadas por blockchain también pueden tolerar bien los fallos.Con las bases de datos normales, la disponibilidad se consigue mediante una infraestructura costosa y la recuperación de desastres. Una base de datos primaria se ejecuta en un hardware de alta gama, que se supervisa estrechamente, con transacciones replicadas a un sistema de copia de seguridad en una ubicación física diferente.Si la base de datos primaria falla debido a un corte de energía o un fallo de hardware, la actividad informática se traslada automáticamente a la copia de seguridad, que se convierte en el nuevo sistema primario. Cuando el sistema que ha fallado se arregle, pasará a convertirse en la nueva copia de seguridad cuando sea necesario. Sin embargo, esto es caro y deja mucho margen de error.

Sin embargo, con 10 nodos de blockchain funcionando en todo el mundo, los nodos estarían densamente conectados, compartiendo transacciones de igual a igual y utilizando una blockchain para asegurar el consenso. Los usuarios de las transacciones podrían conectarse a cinco de estos nodos, por lo que una pérdida de comunicación de otros nodos no importaría. Si uno o dos nodos fallaran es probable que nadie lo notara. Google, por ejemplo, utilizó esta combinación de sistemas de bajo coste y alta redundancia para su motor de búsqueda. Las cadenas de bloques pueden hacer lo mismo con las bases de datos.

Rendimiento: Las bases de datos centralizadas ganan

Las cadenas de bloques siempre serán más lentas que las bases de datos centralizadas, porque la tecnología es nueva y no está optimizada, y por las cargas adicionales que llevan las cadenas de bloques:

  • Verificación de firmas . Cada transacción de la cadena de bloques debe ser firmada digitalmente utilizando un esquema de criptografía pública-privada como ECDSA . Esto es necesario porque las transacciones se crean entre nodos de igual a igual, por lo que no se puede demostrar su origen. La creación y verificación de estas firmas es compleja desde el punto de vista computacional, y es el principal cuello de botella de las cadenas de bloques. Por el contrario, en las bases de datos centralizadas, una vez que se ha creado una conexión, no es necesario verificar individualmente cada solicitud que llega a través de ella.
  • Mecanismos de consenso . En una base de datos distribuida como un blockchain, se requiere un esfuerzo para asegurarse de que los nodos de la red alcancen un consenso. Dependiendo del mecanismo de consenso, esto puede significar una serie de comunicaciones o lidiar con las bifurcaciones y sus retrocesos. Las bases de datos centralizadas también deben lidiar con transacciones conflictivas y fallidas, que son menos probables cuando las transacciones se alinean y procesan desde un solo lugar.
  • Redundancia . La cantidad total de computación que requiere un blockchain proviene de una base de datos centralizada que procesa las transacciones una vez (o dos), pero debe ser procesada independientemente por cada nodo de la red.

Conclusión

Hay otras formas de comparar las cadenas de bloques y las bases de datos normales, como por ejemplo a través de la madurez de la base de código, el atractivo para los desarrolladores, la amplitud del ecosistema, y más, pero ninguna de estas cuestiones son inherentes a la tecnología. A la hora de tomar una decisión a largo plazo sobre el uso de una cadena de bloques, hay que considerar qué es más importante: la desintermediación y la solidez, o la confidencialidad y el rendimiento.

El mayor problema de las cadenas de bloques suele ser la confidencialidad. Lo más probable es que los participantes en un mercado competitivo prefieran la privacidad de una base de datos centralizada, en lugar de revelar sus actividades a los demás. Esto es especialmente cierto si existe una parte central y puede proporcionar el territorio neutral para la base de datos. Aunque trabajar con un proveedor central puede ser costoso, el precio puede estar justificado por el valor de la privacidad. Por lo tanto, en lo que respecta a la privacidad, la única motivación para un cambio a las cadenas de bloques sería una nueva normativa de confidencialidad.

Las cadenas de bloques pueden ser favorables si la desintermediación y la solidez son más importantes que la confidencialidad y el rendimiento, por ejemplo, para las pistas de auditoría entre empresas, el seguimiento de la procedencia y los sistemas financieros ligeros.

Deja un comentario