Bitcoin no es un protocolo estático. Los desarrolladores trabajan en Bitcoin para corregir errores críticos y ofrecer actualizaciones que garanticen que el protocolo resiste el paso del tiempo. ¿Pero quién decide qué cambios se hacen en Bitcoin? Dado que Bitcoin está descentralizado, el proceso para hacerlo evolucionar es muy diferente al de una entidad centralizada en la que las decisiones pueden tomarse de forma descendente. En realidad, el término "gobernanza" no es estrictamente aplicable a Bitcoin. La razón es que implica una situación en la que los líderes actúan como apoderados de las masas, y no es así como funciona Bitcoin. Aunque algunos sistemas descentralizados soportados por blockchain integran procesos formales de gobierno como la capacidad de votar propuestas en la cadena o elegir líderes, Bitcoin no tiene nada de eso.
¿Qué es el gobierno de Bitcoin?
El proceso para mejorar el protocolo de Bitcoin es casi político en el sentido de que las partes interesadas deben competir por el poder y la influencia. Sin embargo, no es una democracia, una plutocracia o cualquier otro tipo de sistema político formal. El proceso de evolución de Bitcoin es más bien un proceso de creación de consenso, en el que la deliberación y la persuasión son fundamentales, pero en el que todos los participantes mantienen siempre su voluntad. En otras palabras, se trata de un sistema opt-in en el que cada uno tiene la opción de seguir su propio camino, y lo que Bitcoin es depende de las personas que lo utilizan. Es importante destacar que la cultura por defecto entre los Bitcoiners es que el protocolo no cambia a menos que sea absolutamente necesario. Esto significa que, a menos que la gran mayoría de los participantes estén de acuerdo con un cambio, no habrá ningún cambio - y aquellos que deseen cambiar son siempre libres de seguir su propio camino.
Entendiendo que, al final del día, Bitcoin es lo que sus usuarios dicen que es, existe un proceso formalizado para decidir, a nivel de desarrolladores, qué cambios son necesarios y cómo integrarlos. Este es el proceso de desarrollo del cliente de software Bitcoin Core que la comunidad de nodos elige ejecutar. Este software define las reglas del protocolo Bitcoin, por lo que en cierto modo es Bitcoin.
El proceso de implementación de actualizaciones de código de Bitcoin se formaliza mediante el uso de Propuestas de Mejora de Bitcoin (BIPs). Éstas se redactan, se revisan por pares, se debaten públicamente y se prueban rigurosamente con el objetivo de establecer un "consenso aproximado" entre la comunidad. Se dice que el consenso aproximado se alcanza cuando la mayoría de la gente está convencida de que las objeciones a la propuesta son erróneas.
Una vez que se ha logrado el consenso aproximado, el siguiente paso es integrar un BIP en la implementación del cliente de software de Bitcoin conocido como Bitcoin Core. Este paso es completado por uno de un pequeño número de "desarrolladores del núcleo" que tienen "acceso de compromiso" al repositorio de código (lo que significa que pueden subir el código a una plataforma pública específica que la comunidad reconoce). Una vez que el BIP ha llegado al repositorio de código de Bitcoin Core, el paso final es que la red de usuarios (nodos) instale la nueva versión del cliente de software. Este paso final es crítico porque significa que los usuarios finales mantienen el control final sobre lo que es Bitcoin.
Sólo cuando un umbral definido de nodos instala la actualización puede considerarse activada, y la barrera para la activación de los BIPs que hacen cambios materiales en el protocolo de Bitcoin es extremadamente alta. Por ejemplo, el BIP 141 (SegWit) requirió que el 95% de los mineros de la red señalaran la actualización durante un periodo fijo de 14 días.
Es importante destacar que la mayoría de los BIPs consecuentes introducen cambios "retrocompatibles" en el protocolo. La compatibilidad hacia atrás significa que los nodos que utilizan la nueva versión del software siguen siendo compatibles con los nodos que ejecutan la versión anterior (y viceversa). La retrocompatibilidad permite que sean los nodos, y no los desarrolladores, los que tengan la última palabra sobre la aplicación de una propuesta. Una actualización compatible hacia atrás se denomina a veces "soft fork".
¿Qué es un hard fork?
Cuando un BIP no es compatible con versiones anteriores, la única forma de introducirlo es a través de lo que se conoce como "hard fork". En este caso, sólo los nodos que ejecutan la nueva versión son compatibles entre sí. Esto significa que toda la comunidad de nodos debe estar de acuerdo en utilizar la nueva versión. Si algún segmento de la comunidad no está de acuerdo en instalar y ejecutar el nuevo software, el resultado son dos cadenas separadas que ya no se comunican. Bitcoin Cash, que es la mayor y más consecuente de las bifurcaciones de Bitcoin, comenzó en agosto de 2017 después de que los participantes en el ecosistema de Bitcoin no pudieran ponerse de acuerdo sobre los métodos para escalar la criptodivisa.