Bitcoin o ‘blockchain’: ¿descentralizado o distribuido? (y 2)
FIRMA INVITADA

Bitcoin o ‘blockchain’: ¿descentralizado o distribuido? (y 2)

En 'blockchain', ¿es lo mismo 'descentralizado' que 'distribuido'? Alex Preukschat y otros tres autores tratan de responder en esta segunda entrega una cuestión aparentemente secundaria para los que no siguen este mercado a diario, pero reveladora para los interesados en ella

En nuestro nuestro último artículo explicamos las diferencias entre un sistema distribuido y descentralizado desde un punto de vista técnico. Pero cuando hablamos de descentralización no podemos hacerlo de forma tan categórica porque la descentralización se define por muchos elementos, como algoritmos, arquitectura, lógica o política incorporados en cada blockchain. El análisis de estas características son muy útiles para poder valorar su nivel de descentralización.

 ¿Qué relevancia tienen los algoritmos de consenso para la descentralización?

Bitcoin se crea como un sistema descentralizado por diseño. Los intentos de creación de monedas digitales anteriores fracasaron en gran medida por basarse en modelos centralizados, con un punto único de fallo (single point of failure). Esta deficiencia permitía que el sistema en el que se basaban pudiera tener vulnerabilidades críticas para el mismo, ya fuera de forma interna, como fue el caso de Digicash del famoso criptógrafo David Chaum, ya fuera de forma externa, como fue el caso de e-gold, cerrado por el FBI.

Las criptomonedas de código abierto, por su diseño descentralizado, precisan de algoritmos de consenso que solucionen el problema de los generales bizantinos, es decir, hay que alinear los intereses particulares de los actores intervinientes para lograr el objetivo común de mantener la red conectada en el tiempo -y la cooperación de unos con otros-, introduciendo información en el sistema sin necesidad de que exista una confianza previa. En el caso de Bitcoin, el algoritmo de consenso que se utiliza es el de Prueba de Trabajo o Proof-of-Work (PoW).

Sin embargo, se han utilizado otros algoritmos de consenso que intentan facilitar la gobernanza descentralizada de los sistemas basados en la blockchain, como la Prueba de Participación (Proof-of-Stake o PoS) o la tolerancia a fallos bizantinos (byzantine fault tolerance o BFT)

¿Cuáles son los elementos que hacen que una red pueda ser considerada descentralizada?

Vitalik Buterin en un artículo referencia de 2017 describió que un sistema descentralizado debe serlo a nivel: arquitectónico, lógico y político. La Descentralización Arquitectónica se da en una red P2P (peer-to-peer o entre pares en español) con nodos distribuidos en varios sistemas autónomos (autonomous systems) que son las vías troncales de internet.  En la descentralización arquitectónica nos tenemos que preguntar aspectos como cuántos ordenadores reales (nodos) se compone el sistema  o cuántos de esos ordenadores puede tolerar el sistema que se caigan de la red en cualquier momento.

La descentralización lógica se debe al hecho de ser de código abierto (open source en inglés) además de ser transparente con equipos de desarrolladores independientes y diferentes implementaciones del protocolo, aunque como destaca José Manuel Arenillas, el mismo Satoshi en 2010 todavía era de la opinión que múltiples implementaciones no serían una buena idea. En la descentralización lógica nos tenemos que preguntar: ¿Son los interfaces y estructuras de datos del sistema un único ente o son un enjambre no identificable? ¿Qué pasaría si pudiéramos cortar el sistema por la mitad, entre proveedores y usuarios? ¿Seguirán operando como unidades independientes?

La centralización lógica dificulta la descentralización arquitectónica y política y aunque no es imposible, son más difíciles de mantener que, por ejemplo, un sistema como BitTorrent.

Y la descentralización política, en la que se produce una separación de poderes mediante incentivos y teoría de juegos que impide que un grupo (desarrolladores, mineros, inversores, mercados, usuarios,.. ) pueda cambiar el protocolo de forma unilateral sin contar con la mayoría de esos grupos. En la descentralización política nos tenemos que preguntar cuántos individuos u ordenadores controlan los ordenadores de los que se compone el sistema.

Esta última parte es la ideológica y marca quizás una de las diferencias más importantes entre lo que es el mundo Blockchain y DLT. La descentralización política es uno de los puntos más controvertidos y suele suceder que diferentes proyectos que compiten a veces entre ellos recurren al manido argumento de “esto no es descentralizado” para hablar de la “verdadera descentralización” y deslegitimar a otras tecnologías como argumento definitivo. En algunos casos con argumentos razonados y en otros muchos de forma egoísta.

Por todo esto pensar en llamar a un proyecto descentralizado tiene poco sentido. Lo importante es valorar la descentralización en los diferentes elementos del sistema y, si cumple con todos, entonces sí podemos hablar de un sistema descentralizado o parcialmente descentralizado.

¿Cuáles son las ventajas de un sistema descentralizado desde un punto de vista técnico?

Desde un punto de vista técnico un sistema descentralizado debe ser resistente a fallos (fault tolerance), resistente a ataques (attack resistance) y resistente a colisión (collusion resistance).

La resistencia a fallos significa que los sistemas descentralizados siguen funcionando aunque haya un fallo en una parte de la red, porque se apoyan en muchos componentes separados que siguen operativos.

La resistencia a ataques significa que los sistemas descentralizados son más caros de atacar, destruir o manipular porque no tienen puntos centrales que pueden ser atacados. Un ataque debe ser organizado en proporción de la capacidad total del sistema. Por eso argumentamos muchas veces que bitcoin es como un virus que es muy difícil de matar desde un punto de vista tecnológico, mientras existan suficientes nodos conectados.

La resistencia a colisión significa que en sistemas descentralizados es mucho más difícil que los participantes colisionen para beneficiarse a costa de otros participantes.

Para que un sistema descentralizado sea resistente a los tres niveles (fallos, ataques y colisión) debe haber variedad de clientes y que no todos o la mayoría de los nodos corran el mismo software aunque también hay prestigiosos desarrolladores con opiniones distintas. Jameson Loop, por ejemplo, defiende que un único sistema concentra toda la energía y la transforma en una solución. Al final, lo importante es evitar un colapso de la red si existe un error en el software o porque los desarrolladores resultan ser corruptos o comenten fallos. En una blockchain de proof-of-work, si el 70% del hardware de minería se encuentran en el mismo país, añadimos un riesgo de confiscación por parte de las autoridades del país si así lo estiman conveniente. También añadimos riesgo si tenemos a una empresa dominando la producción del hardware de minado y es sobornada o coaccionada para implementar elementos que permitan el control de su operativa. Por otro lado, en un sistema de proof-of-stake, añadimos riesgos si, por ejemplo, el 70% de los tokens se almacenan en un casa de cambio.

Es por tanto la suma de todos los elementos del sistema la que ayuda a definir si son resistentes.

¿Por qué la descentralización es importante para el mundo?

Desde un punto de vista ideológico existe la creencia -por parte de los más firmes creyentes de la tecnología blockchain- de que la descentralización ofrece un posible camino para mejorar el mundo. La descentralización facilita la creación de sistemas resistentes a la censura y ayudan a que ni la información -ni la decisión sobre la información-, pueda ser dominada por unos pocos.

La descentralización hace que una red sea resiliente eliminando los puntos únicos de fallo que, cuando existen, favorecen que uno o varios jugadores puedan controlar una red, convirtiéndola en centralizada.

Bitcoin permite mantener la resistencia a censura y la inmutabilidad de las transacciones, eliminando la necesidad de tener que confiar en un ente central. Con Bitcoin se distribuye la confianza entre muchos entes, posibilitando un dinero descentralizado gestionado también de forma descentralizada.

Han colaborado en este artículo: José Antonio Bravo, economista, miembro fundador de AvalBit.org@AvalBit y co-administrador del foro Telegram de BlockchainEspana.com; Javier Domínguez Gómez, Nodo programador y co-administrador del foro Telegram de BlockchainEspana.com; Alex Preukschat es autor coordinador del libro 'Blockchain: La revolución industrial de Internet' Ediciones Gestión 2000 (Grupo Planeta) y de la novela gráfica'Bitcoin: la caza de Satoshi Nakamoto'@BitcoinComic y nodo coordinador de BlockchainEspana.com@BlockchainES, AlianzaBlockchain.org@AlianzaBlock y SSIMeetup.org@SSIMeetup. Con edición de Iñigo Molero @Imolman

Retina

18/08/2019
07
¿Pero quién conduce este mundo?

¿Pero quién conduce este mundo?

No queremos que el robot se siente en la cabina, por si se hace con los mandos; pero lo cierto es que no controlaremos esas palancas sin su asistencia

Normas