La descentralización de Bitcoin y las criptomonedas NO es binaria

Este artículo nace de una conversación que sostuve hace unas semanas con mi prima filósofa, pues cuando empezamos a hablar de Bitcoin, ella me preguntó:

 

¿A qué te refieres tú cuando hablas de descentralización?

 

Mi reacción inmediata fue decirle que la descentralización en Bitcoin no se puede medir en términos absolutos, sino que hay varios elementos a considerar y cada uno de estos elementos tiene distintos grados de descentralización (o centralización). Los que entienden un poco de Bitcoin, saben que para el correcto funcionamiento de esta blockchain se necesitan distintos actores. Principalmente, en Bitcoin tenemos:

 

  1.     Mineros: utilizan su poder computacional para mantener la seguridad de la red a cambio de una recompensa en bitcoin (la criptomoneda).
  2.     Desarrolladores: se encargan de mantener el código y proponen actualizaciones al software de Bitcoin.
  3.     Nodos: guardan una copia de la blockchain de Bitcoin y verifican que los nuevos bloques cumplen con las condiciones del algoritmo de consenso.

 

Se podría argumentar que hay muchos más actores involucrados en la blockchain de Bitcoin, como billeteras (monederos o llaveros), exchanges, y comercios, pero por simplicidad solamente vamos a analizar estos tres grupos.

 

Mineros de Bitcoin

 

Más de una vez he escuchado personas argumentando que algunas criptomonedas son más descentralizadas que Bitcoin, porque en Bitcoin hay 3 piscinas de minería (mining pools) que controlan más del 51% del poder total de minería (hashrate). Incluso, algunos entusiastas de EOS dicen que su sistema con 21 validadores escogidos por las mayorías es más descentralizado que Bitcoin.

 

Aunque el objetivo de este artículo no es argumentar que una u otra criptomoneda es más o menos descentralizada que las demás, es importante que las personas entiendan que:

 

  1.     Las piscinas de minería de Bitcoin no tienen control absoluto sobre los mineros que las componen y los mineros pueden fácilmente cambiarse de una piscina a otra.
  2.     Los mineros y las piscinas de minería están económicamente incentivados a seguir las reglas del algoritmo de consenso, pues de lo contrario corren el riesgo de perder cientos de miles de dólares de inversión en equipos y energía.
  3.     Una vez los mineros intentan incluir un nuevo bloque a la blockchain de Bitcoin, todos los nodos deben verificar que ese bloque es válido.
  4.     Si algún minero quisiera hacer algo deshonesto, como incurrir en un doble gasto, los nodos tienen el poder de rechazar ese bloque e incluir uno que sí cumpla con las condiciones acordadas.
  5.     Ha habido intentos y propuestas de intentar revesar la blockchain de Bitcoin (también conocido como un ataque del 51%), pero hasta el momento no ha sido posible poner de acuerdo todos los mineros que serían requeridos para hacer esto.
  6.     Además, tener más del 51% del hashrate de Bitcoin no garantiza el éxito de un ataque a esta blockchain.

 

Aunque no se sabe a ciencia cierta cuántos mineros tiene Bitcoin, de acuerdo con BTC Wires, se calcula que hay más de 300,000 mineros a nivel mundial. ¿Es 300,000 un número suficiente como para considerar que Bitcoin es descentralizado? La respuesta se la dejo al lector.

 

Desarrolladores de Bitcoin

 

Por otro lado, existen varios grupos de desarrolladores de Bitcoin, siendo Bitcoin Core la implementación de referencia. Para introducir un cambio al código de Bitcoin, la persona (o grupo de personas) que quiere hacer el cambio debe proponer el nuevo código que desea incluir. Esta propuesta debe ser revisada y comentada por la comunidad de desarrolladores, con pruebas minuciosas en la testnet de Bitcoin antes de cualquier implementación.

 

Si la propuesta es aprobada por la comunidad, el nuevo código empieza a formar parte Bitcoin. Esto es una simplificación de la realidad, pero creo que es suficiente para el objetivo del artículo.

 

El código de Bitcoin está guardado en un repositorio al que solo tiene acceso un selecto grupo de desarrolladores, escogidos por su inmensa trayectoria en Bitcoin. Aunque algunos argumentan que este grupo representa un foco importante de centralización, si este grupo de desarrolladores decidiera implementar un cambio en el código de Bitcoin que no ha sido aprobado por la comunidad, la comunidad podría decidir no actualizar su nodo y continuar con el código actual.

 

Ahora, si consideramos que algunos de los nodos de Bitcoin instalan actualizaciones de forma automática y que no todos los usuarios tienen las habilidades técnicas necesarias para operar su nodo por sí mismos, se podría decir que este grupo de desarrolladores tienen bastante influencia en el futuro de Bitcoin.

 

Y si te estás preguntando ¿qué pasa cuando una parte de la comunidad quiere implementar una versión del código y otra parte quiere implementar una versión actualizada?, la respuesta es que ocurre una bifurcación o un fork de Bitcoin. Pero como esto no es parte del artículo, te dejo este video que hice hace casi dos años explicando qué es un fork y cuál es la diferencia entre Bitcoin y Bitcoin Cash.

 

Nodos de Bitcoin

 

Finalmente, llegamos a los nodos, que para mí son los componentes más importantes de la descentralización de Bitcoin. Los nodos de Bitcoin son la columna vertebral del sistema, pues cada nodo tiene toda la blockchain de Bitcoin desde el bloque génesis, incluyendo todas y cada una de las transacciones que se han hecho en la historia de Bitcoin.

 

Cada nodo de Bitcoin tiene guardada su propia historia (que debe coincidir con la historia de los demás nodos) y cada vez que un nuevo bloque se va a incluir a la blockchain, todos los nodos verifican (de forma independiente) que éste cumpla con las condiciones acordadas en el algoritmo de consenso. Si algún nodo recibe un bloque que no cumple con las condiciones acordadas, este bloque será rechazado y no será incluido en la blockchain.

 

Si los nodos de Bitcoin están corriendo distintas versiones del software y un grupo de nodos acepta un bloque como válido mientras que otro grupo rechaza este mismo bloque, nuevamente ocurriría lo que se conoce como una bifurcación o un fork de Bitcoin. En este caso, los nodos que aceptaron el nuevo bloque van a continuar en la blockchain Bitcoin A, mientras que los nodos que rechazaron el bloque van a continuar en la blockchain Bitcoin B.

 

Si esto llegara a ocurrir, como ya ha pasado, los operadores de cada nodo deberán decidir en qué blockchain quieren estar (Bitcoin A o Bitcoin B), basado en las reglas de software que consideran más alineadas con sus principios. Así que, si un grupo de nodos decidiera cambiar las reglas del algoritmo de consenso, esto únicamente afectaría a este grupo de nodos.

 

Conclusiones y algunas preguntas

 

Volviendo al principio del artículo, para responder a la pregunta de mi prima, cuando yo hablo de descentralización me refiero a la distribución del poder para controlar un sistema en distintos actores. Aunque es difícil medir el grado de descentralización de cualquier sistema, es razonable afirmar que el poder para controlar Bitcoin está repartido en distintos actores y ninguna persona, organización o grupo de entidades, está en total control de Bitcoin.

 

La descentralización, como todo en la vida, tiene distintos matices y no se puede medir en una única dimensión. En general, tener dos entidades controlando un sistema hace que éste sea más descentralizado que tener solamente una, tener tres entidades es más descentralizado que tener dos, y tener 1,000 es más descentralizado que 50. Sin embargo, ¿cuál es el número de actores que deben estar involucrados en el control de un sistema para que éste sea considerado centralizado o descentralizado?

 

Como lo dice el título de este artículo, la descentralización no es binaria y nadie tiene la última palabra para decidir si un sistema es descentralizado o no. De forma similar, deberíamos entender que la mayoría de cosas en la vida no son binarias.

 

La gente no es de izquierda o derecha, la gente tiene algunas posiciones conservadoras y otras posiciones más liberales. Las cosas no son buenas o malas, las cosas son lo que son y nosotros les damos la interpretación que queremos. Así que te invito a dejar de ver el mundo desde una perspectiva binaria y abrir tu mente para ver las cosas desde otro punto de vista.

 

Por cierto, si todavía consideras que Bitcoin no es descentralizado porque tiene varios elementos centralizadores (como los mineros, los desarrolladores y/o los nodos), te propongo hacer el ejercicio de identificar los elementos centralizadores de tu criptomoneda favorita y compartir tu opinión en los comentarios.