Tu empresa no necesita una Blockchain

El hype alrededor de la tecnología blockchain es masivo. Para ser consciente del hype que tienen esta tecnología basta con ver que punto se encuentra ahora mismo:

  1. Blockchain resolverá la desigualdad de ingresos
  2. Blockchain hará que los datos estén seguros para siempre
  3. Blockchain hace que todo sea más eficiente y de confianza cero
  4. Blockchain salvará a los bebes moribundos del mundo.

Un momento… ¿Qué narices es blockchain? ¿Realmente puede hacer todas estas cosas? ¿De verdad puede aportar algo sorprendente a industrias tan diversas como la sanidad, las finanzas, las gestiones de las cadenas de suministros o los derechos de autor musicales?

¿No ser pro Bitcoin significa que eres pro Blockchain? ¿Cómo puedes ser pro Bitcoin y hablar mal de la tecnología que lo ampara?

En este artículo intento responder a muchas de esas preguntas, mirando lo que es una blockchain y lo que es más importante, lo que realmente no es.

¿Qué es una blockchain?

Para encontrar respuesta a alguna de estas afirmaciones debemos definir antes que es una blockchain y en este punto radica la confusión. Muchas empresas usan la palabra “blockchain” para referirse a alguna especie de dispositivo mágico por el cual todos los datos que albergue nunca serían incorrectos. Ese dispositivo, por supuesto, no existe, al menos cuando el mundo real está involucrado.

que es una blockchainEntonces, ¿Qué es una blockchain? Técnicamente hablando, una blockhain es una lista de bloques y un bloque es un grupo de transacciones ordenadas. Si no has entendido esta última frase, puedes pensar en una blockchain como un subconjunto de una base de datos, con algunas propiedades adicionales claro.

La principal diferencia entre una blockchain y una base de datos normal es que existen reglas específicas sobre cómo poner datos en la base de datos. Es decir, no puede entrar en conflicto con los datos que ya estaban en la base de datos (consistentes), los que son de sólo conexión (inmutables) y los datos que están bloqueados para un propietario, son replicables y están disponibles. Finalmente, todos están de acuerdo sobre cuál es el estado en la base de datos (canónico) sin un ente central (descentralizada)

Este último punto es el que realmente es el santo grial de Blockchain. La descentralización es muy atractiva porque implica que no hay un solo punto de fallo. Es decir, ninguna autoridad única podrá quitarte tu activo o cambiar el historial para cubrir sus necesidades.

Esta auditoría inmutable donde no tienes la necesidad de confiar en nadie es el objetivo que todos los que están trasteando con esta tecnología buscan, esta búsqueda, aunque no lo creas, tiene un gran coste.

El coste de Blockchain

Esta auditoría inmutable sin control por ninguna parte singular es realmente útil, pero existen muchos costes para crear dicho sistema, examinemos alguno de los problemas que nos encontraremos.

     El desarrollo es más estricto y más lento

Crear un sistema probadamente consistente no es tarea fácil. Un pequeño error podría dañar toda la base de datos o hacer que algunas bases de datos sean diferentes. Por supuesto, una base de datos corrupta o dividida ya no tiene garantías de coherencia.

Todos estos sistemas deben diseñarse desde el principio para ser consistentes. No existe la opción de “moverse rápido y romper cosas” en una blockchain. Si rompes las cosas, pierdes consistencia, la cadena de bloques se corrompe y no sirve para nada.

 programacion agil

Seguramente estés pensando, ¿Por qué no se puede simplemente arreglar la base de datos o empezar una nueva y pasar página? Eso sería bastante fácil de estar usando un sistema centralizado, pero no olvides que estamos usando un sistema descentralizado, algo que haría muy difícil esto que planteas.

Necesitas consenso, o el acuerdo de todos los usuarios del sistema, para cambiar la base de datos. Blockchain tiene que ser un recurso público que no esté bajo el control de una sola entidad (Descentralización, ¿Recuerdas?), o todo el esfuerzo que le dediques será una manera muy cara de crear una base de datos lenta y centralizada.

     Las estructuras de incentivos son difíciles de diseñar

Es necesario tener muy presente el agregar las estructuras de incentivos adecuadas y asegurarse además de que todos los actores del sistema no puedan abusar y corromper la base de datos. Una blockchain puede ser consistente, pero eso no sirve para nada si tiene muchos datos inútiles y frívolos porque los costes de meter datos en ella son muy bajos. Tampoco es útil una blockchain consistente si casi no tiene datos porque los costes de añadirlos son altísimos.

 blockchain dificil

¿Qué les da la finalidad a los datos? ¿Cómo puedo asegurarme de que las recompensas estén alineadas con los objetivos de la red? ¿Por qué los nodos conservan o actualizan los datos y qué los hace elegir un dato sobre otro cuando están en conflicto?

Todas estas son preguntas de incentivo que necesitan ser bien respondidas y deben alinearse no sólo al principio, sino en todo momento en que la tecnología y la empresa cambien en el futuro, de lo contrario, la blockchain es inútil.

Seguramente te estés volviendo a preguntar por qué no se puede “arreglar” un incentivo roto. Otra vez, esto sería más fácil en un sistema centralizado, pero en uno descentralizado, simplemente no puedes cambiar nada sin consenso. No hay nada que “arregle” algo roto a menos que haya un acuerdo entre todos.

     El mantenimiento es muy costoso

Una base de datos centralizada tradicional sólo necesita ser escrita una vez, una blockchain debe escribirse miles de veces. Una base de datos centralizada tradicional sólo necesita verificar los datos una vez, una blockchain necesita verificar los datos miles de veces. Una base de datos centralizada tradicional necesita transmitir los datos para su almacenamiento una sola vez, una blockchain necesita transmitir los datos miles de veces.

Los costes de mantener una blockchain son infinitamente mayores, este coste debe justificarse por la utilidad de esta. La mayoría de las aplicaciones que buscan algunas de las propiedades indicadas anteriormente como la consistencia o la confiabilidad, pueden obtener dichas propiedades por mucho menos dinero, usando comprobaciones de integridad, recibos y copias de seguridad.

     Los usuarios son soberanos

Esto puede ser algo realmente interesante ya que a las empresas no les gusta la responsabilidad de almacenar datos de los usuarios. Sin embargo, esto puede ser algo bastante dañino si el usuario se está “portando mal”, no hay forma de expulsar al usuario que está enviando spam a tu blockchain o ha descubierto una forma de obtener ganancias de alguna manera que causa muchos inconvenientes a otros usuarios.

Esto está directamente relacionado con la observación anterior de que las estructuras de incentivos tienen que diseñarse realmente bien, de esa manera el usuario que descubre un exploit es probable que no quiera renunciar a ellos.

Puedes estar pensando que simplemente podrías retirar el servicio a usuarios malintencionados, lo que una vez más sería muy fácil de ser un sistema centralizado, sin embargo, a diferencia de ese sistema, el rechazar a alguien aquí es muy complicado porque ninguna entidad tiene la autoridad de hacerlo.

Blockchain tiene que ser imparcial y hacer cumplir las reglas definidas por el software, si estas son insuficientes para disuadir el mal comportamiento… mala suerte, aquí no hay un “representante” de la ley, por lo tanto, vas a tener que tratar con usuarios maliciosos o que tengan mal comportamiento, durante mucho tiempo.

     Todas las actualizaciones son voluntarias

Una actualización obligatoria no es una opción, los usuarios de la red no tienen la obligación de cambiar su software. Si la tuvieran, dicho sistema sería mucho más fácil, más rápido y mucho más barato de construir con un sistema centralizado. El objetivo de una blockchain es que no esté bajo el control de una sola entidad y esto se infringe con una actualización forzada.

actualizaciones voluntarias

En cambio, todas las actualizaciones deben de ser compatibles con las versiones anteriores. Obviamente esto es bastante difícil, especialmente si deseas agregar nuevas funciones y sobre todo cuando se piensa desde una perspectiva experimental. Cada versión del software agrega mucho a la matriz de prueba y alarga el tiempo de lanzamiento.

Si estuviéramos hablando de un sistema centralizado, esto sería súper fácil de corregir dejando de dar soporte a los sistemas más antiguos. En un sistema descentralizado no se puede hacer esto, ya que no puedes obligar a nadie a hacer nada.

     Escalar es realmente difícil

Finalmente, la escalabilidad es también infinitamente más complicada que en un sistema centralizado tradicional. El motivo es obvio, la misma información tiene que vivir en cientos o miles de sitios diferentes.

La sobrecarga de transmisión, verificación y almacenamiento es enorme ya que cada copia de la base de datos supone el mismo coste una y otra vez, en lugar de asumir los costes una sola vez como en una base de datos tradicional y centralizada.

Por supuesto, puedes reducir la carga al reducir el número de nodos, pero en ese momento ¿Para qué necesitas un sistema descentralizado? ¿Por qué no hacer una base de datos centralizada si los costes de la escalabilidad son tu principal preocupación?

La centralización es el camino más fácil

Habrás observado que los sistemas descentralizados son muy difíciles de trabajar, costosos de mantener, difíciles de actualizar y difíciles de escalar. Una base de datos centralizada es mucho más rápida, menos costosa, más fácil de mantener y más sencilla de actualizar que una blockchain.

Entonces, ¿Por qué la gente sigue empleando la palabra blokchain como si fuera una panacea para todos sus problemas?

centralizacion blockchain

En primer lugar, muchas de estas industrias a las que se les vende la tecnología blockchain van realmente atrasadas para las actualizaciones de las infraestructuras tecnológicas, la asistencia sanitaria funciona con un software terriblemente malo, las entidades financieras todavía ejecutan software de los años 70, el software de las cadenas de suministro es difícil de usar y difícil de instalar…

La mayoría de las empresas en estas industrias se resisten a la actualización debido al riesgo involucrado. Hay muchas actualizaciones que cuestan cientos de millones y terminan siendo revertidas de todos modos. Blockchain es una forma de vender estas actualizaciones de IT y hacerlas un poco más atractivas.

En segundo lugar, blockchain es una manera de dar a entender que estás a la vanguardia de la tecnología, nos guste o no, esta palabra ha cobrado vida propia. Muy pocas personas entienden realmente de que se trata, pero quieren aparentar estar a la moda. De la misma manera que “nube” significa el ordenador de otra persona y “AI” significa un algoritmo realmente ajustado, “blockchain” en este contexto significa un base de datos lenta y costosa.

En tercer lugar, a la gente realmente no le gusta el control gubernamental que existe en ciertas industrias y desea un mecanismo de adjudicación diferente al marco legal, que la mayoría de las veces es lento y costoso. Para ellos, “blockchain” es simplemente una forma de deshacerse del pesado aparato de regulación gubernamental. Esto es exagerar lo que puede hacer la tecnología blockchain ya que esta no elimina mágicamente el conflicto humano.

El resultado es que mucha gente llega a entusiasmarse con las expectativas sin entender realmente las aplicaciones, los costes y lo que es peor, los detalles y costes técnicos reales se abstraen de muchos VC y ejecutivos de tal forma que se oculta lo que una blockchain puede y no puede hacer. Todos los que están debajo de la cadena de mando temen decir que el emperador va sin pantalones.

Entonces, ¿Para qué sirve la tecnología blockchain?

Vale, ya hemos establecido que una blockchain es muy costosa en comparación con las bases de datos centralizadas, entonces, la única razón por la que deberías usar una blockchain es descentralizar, es decir, eliminar el único punto de falla o de control.

Esto, naturalmente, significa que el software o la base de datos no debe cambiar las cosas a menudo, en todo caso, debería haber pocas ventajas para la actualización y mucho menos para ajustar o cambiar las reglas.

La mayoría de las industrias no son así, la mayoría de las industrias requieren de nuevas características o actualizaciones y la libertad de cambiar o expandirse según sea necesario. Dado que las cadenas de bloques son difíciles de actualizar, difíciles de cambiar y difíciles de escalar, la mayoría de las industrias no tienen mucho uso para una blockchain.

La única excepción que hemos encontrado es el dinero. A diferencia de la mayoría de los casos de uso industrial, el dinero es mejor si no cambia, la inmutabilidad y la dificultad para cambiar las reglas es positiva para el dinero y no un perjuicio. Por eso la tecnología blockchain es la herramienta perfecta para trabajar cuando estamos hablando de Bitcoin.

Lo que está claro es que muchas empresas que buscan aplicar la tecnología blockchain no desean realmente una cadena de bloques, sino actualizaciones de IT para su industria en particular. Eso está genial, pero usar la palabra “blockchain” para llegar a ese punto es deshonesto y sobrevende su capacidad.

Conclusión

Esta claro que blokchain es un termino muy popular estos días y lamentablemente, ese meme de “blochain sí, bitcoin no” no va a morir. Si eres un servicio centralizado, una blokchain no te ofrece nada que no puedas hacer mil veces más barato con una base de datos centralizada.

programacion java
Si eres un servicio descentralizado, probablemente te estés engañando a ti mismo y no estés pensando en los puntos únicos de falla que existen en tú sistema. No habría un “tú” absoluto en un servicio realmente descentralizado.

Probablemente este es el mejor de todos los chistes

Ya a principios de la década de los 2000, muchos ejecutivos de la industria de la tecnología presionaron para usar java y XML. A pesar de que estas dos cosas eran herramientas y no productos reales, muchos ejecutivos insistieron en su uso, sin importar cuán pobre era el ajuste con respecto a lo que sus ingenieros estaban tratando de conseguir.

Blockchain es muy parecido a eso. Concéntrate en los problemas que estás resolviendo y las herramientas se harán evidentes. Concéntrate en las herramientas que deseas usar y terminarás fabricando máquinas Rube Goldberg que no hacen nada especialmente bien.

De cierta manera, las concepciones actuales de blockchain están tratando de hacer lo imposible, quieren la seguridad de un sistema descentralizado con el control de uno centralizado. El querer es lo mejor de ambos mundos, pero también lo que termina recibiendo es lo peor de ambos mundos. Al final recibirías los costes y las dificultades de un sistema descentralizado con los modos de fallas de uno centralizado.

Blockchain se usa tanto como una palabra de moda para vender un montón de aceite de serpiente inservible. Cuanto más rápido nos deshagamos de toda está publicidad engañosa, mejor será para todos al largo plazo.

Cuando contactamos con Jimmy Song para pedirle permiso para traducir al castellano sus artículos y así hacerlos más comprensibles para los no angloparlantes respondió que le entusiasmaba la idea.

Eso hemos hecho en Bitcobie, esperamos estar a la altura de Jimmy, al que no podemos si no agradecer que haya querido aportar su granito de arena a nuestro proyecto.

Podéis consultar el artículo original publicado en Medium aquí

Valora nuestro artículo

Deja un comentario