Hace unos años era relativamente sencillo leer todas las noticias y artículos que aparecían en medios de comunicación y blogs del mundo sobre bitcoin, tanto en español como en inglés y además en el mismo día. Sin embargo, a día de hoy, esa labor es prácticamente imposible por la cantidad de opiniones y propuestas nuevas -y en muchas ocasiones enfrentadas- que se van suscitando dentro de una comunidad en desarrollo continuo.
En esta especie de guerra civil de la comunidad Blockchain hemos asistido a la resistencia de las ideas y propuestas de Gavin Andresen, a la salida de Mike Hearn de Bitcoin, a diferentes propuestas de escalabilidad y a conflictos de interés de los diferentes participantes de la comunidad Bitcoin. Estas actitudes han frenado el desarrollo de Bitcoin mientras otras iniciativas como Ethereum (llevada a cabo por algunas de las mismas personas que participaron activamente en Bitcoin) han vivido un auge espectacular.
Como parte de esa guerra de intereses parece ser que hemos llegado a una resolución que se concretará en el mes de agosto de 2017, porque esa es la fecha señalada en el calendario para un posible un hard fork o soft fork de la cadena de bloques de Bitcoin. Así que el mes de agosto podría ser el inicio de un mes de enorme volatilidad para bitcoin y todas las criptomonedas.
Jaime Núñez Miller, socio consultor de servicios web en Zentank, co-autor del libro "Blockchain la revolución industrial de internet" y pionero del ecosistema Bitcoin en España, aclara la situación y recopila información autorizada de todo lo que está ocurriendo.
¿Qué es y por qué es importante el problema de la escalabilidad de Bitcoin?
Bueno, en realidad la escalabilidad es un debate típico en muchos sistemas, y especialmente en todos los relacionados con Internet. En estos casos se debe configurar la arquitectura para que sea capaz de dar respuesta a una fuerte demanda sin comprometer la seguridad. El debate se abre en el momento en el que se proponen varias soluciones válidas a un mismo problema. Esto es lo que está ocurriendo ahora con Bitcoin.
El protocolo Bitcoin está artificialmente limitado en el volumen de transacciones que se pueden registrar en cada bloque. Cada nuevo bloque es como una nueva página que se añade a un libro contable al que llamamos blockchain o cadena de bloques. Ese límite de 1Mb por bloque se impuso para evitar el spam, es decir, para evitar que alguien pudiera colapsar la red enviando millones de transacciones por minuto sin valor alguno.
Como consecuencia de su crecimiento natural, ahora los usuarios envían más transacciones por minuto que las que caben en los bloques, por lo que siempre hay una lista de espera de transacciones pendientes de ser confirmadas. Las transacciones que dejan una propina o comisión (fee) mayor tienen más probabilidad de conformarse rápidamente. Hace sólo un par de años ese fee podía ser de 1 céntimo, sin embargo hoy necesitas añadir fees de 1 o 2 euros si quieres que tu transacción se confirme en el siguiente bloque.
Para desahogar esta situación se han propuesto dos estrategias distintas: una muy sencilla que consiste en aumentar directamente el tamaño de los bloques y por tanto el número de transacciones que caben en cada bloque; y otra más sofisticada que lo que hace es reducir el tamaño de las transacciones.
En ambos casos se requiere cambiar las reglas de consenso, que es algo así como cambiar la "ley electoral" de Bitcoin y esto es muy importante porque va a ser la primera vez que se haga un cambio de este tipo en una situación de fuerte controversia. Hay que recordar que este sistema de consenso al que se conoce como "Consenso Nakamoto" carece de una autoridad central que determine su futuro, y que esa es precisamente la principal propuesta de valor en casi todas las blockchains.
En este momento hay fuertes intereses contrapuestos y todos deben ponerse de acuerdo. En estos próximos meses veremos en directo si Bitcoin es capaz de lograr su mayoría de edad.
¿Puedes describirnos cuáles han sido esos intereses contrapuestos en la comunidad Bitcoin en los últimos dos años y qué iniciativas se han propuesto por estos grupos para resolver el problema de la escalabilidad?
El debate sobre la escalabilidad de Bitcoin ha estado ahí desde los inicios. Siempre nos hemos preguntado si tiene algún sentido o si es técnicamente viable mantener una blockchain que conserve absolutamente todas las transacciones. Me refiero incluso a las más pequeñas, por ejemplo micropagos de un céntimo.
Una blockchain por grande que sea siempre será un recurso escaso. El sentido común nos lleva a pensar que en la cadena de bloques se deberían registrar sólo las transacciones más valiosas, las que necesitan toda la funcionalidad de una blockchain como son la irreversibilidad, la inmutabilidad o la descentralización; y que todas las demás transacciones, las menos importantes, como el pago de un café, podrían registrarse en cadenas laterales o en otro tipo de ramificaciones de la blockchain principal y no consumirian recursos valiosos.
A estas soluciones se les llama "Layer 2" (Lightning Networks, Rootstock, Blockstream, etc) o de segunda capa y están aún en desarrollo. Los mineros bitcoin las miran con recelo pues tendrían lugar fuera de la cadena principal, de sus bloques, la mayor parte de las transacciones. Eso podría reducir sus ganancias por comisiones y quizás otras ventajas competitivas que tienen ahora.
Lo de las comisiones es importante porque es de lo que tendrán que vivir en un futuro próximo cuando ya no obtengan recompensa con la generación de nuevos bitcoins. Por eso y algunos otros motivos algunos mineros prefieren la solución de aumentar el tamaño de los bloques directamente.
En mi opinión esa solución sería la mejor si no fuera porque: 1) conlleva inevitablemente una mayor centralización de la red y 2) debe hacerse con un hardfork, una bifurcación de la red no compatible con la red histórica, que es un cambio incompatible con los wallets que no se hayan actualizado.
¿Por qué es importante la descentralización?
La fuerza de Bitcoin reside en su capacidad de resistencia a los ataques y esa fuerza proviene fundamentalmente de su descentralización. Cuantos más nodos (ordenadores o servidores conectados en red) tenga la red, es decir, cuantas más copias existan de la blockchain, más fuerte será ésta.
Cualquiera puede poner en marcha un nodo en la red Bitcoin, pero un nodo consume ancho de banda y no produce ningún beneficio económico para el operador. La única ventaja es que mejora la salud de la red en su conjunto y aumenta la independencia y la privacidad de ese operador. Actualmente hay unos siete mil nodos activos en la red Bitcoin, pero si se dobla o triplica el tamaño de los bloques se aumentaría proporcionalmente el coste de tener un nodo y por tanto muchas personas ya no podrían mantenerlo. Hasta qué punto eso supone un riesgo real es algo muy difícil de evaluar.
Por otro lado, las soluciones de segunda capa aún no están listas y sus críticos las rechazan porque las transacciones realizadas en esa segunda capa no contarían con las mismas ventajas que las realizadas en la cadena principal. Pero hay que señalar que tendrían otras, como la rapidez y un menor coste, que son más adecuadas para esas pequeñas transacciones de las que hablábamos.
Así que ya tenemos dos visiones distintas para ampliar la capacidad de la red, cada una de ellas con sus ventajas e inconvenientes. El peso o importancia que se otorgue a esas ventajas e inconvenientes dependerá también de las prioridades de cada persona.
En un lado están quienes priorizan la seguridad porque utilizan Bitcoin como una reserva de valor y en consecuencia rechazan cualquier cosa que provoque una mayor centralización. Por otro lado están quienes valoran más su utilidad como red de pagos y quieren una solución rápida.
Parece que el primer grupo es bastante más numeroso y cuenta con la mayoría de los usuarios y desarrolladores, por lo que su propuesta es en este momento la más aceptada. El problema es que para que se produzca un cambio, son los mineros quienes tienen la última palabra y estos están por el momento bastante divididos.
¿Cómo se ha llegado a que SegWit (Segregated Witness) tenga una opción a ser implementado? ¿Qué otras opciones se pueden implementar en agosto de 2017?
Los esfuerzos por llegar a una solución previa consensuada han fracasado y en este momento se están echando pulsos para determinar qué solución es la que se acabará imponiendo. No es el escenario ideal, pero ahora ya es la única forma de desbloquear la situación.
Lo que ha ocurrido es lo siguiente. Los desarrolladores del software de referencia Bitcoin Core, que es el usado por más del 80% de los nodos, dieron un primer paso incorporando una solución para hacer que las transacciones ocupen menos espacio en los bloques, es decir, se incrementa el número de transacciones por bloque sin necesidad de recurrir a un hardfork.
Esta solución se llama SegWit y sólo se activará si el 95% de los mineros la acepta. Ese nivel de consenso en principio parece que no se va a poder alcanzar, salvo que ocurra algo especial que induzca o fuerce a los mineros a aceptarlo.
Ese algo especial ya ha sucedido y es que parte de los usuarios y desarrolladores han creado una versión del software que activará SegWit el próximo 1 de agosto, independientemente de si tiene o no apoyo de los mineros. Por eso el nombre que recibe es UASF (de User Activated Soft Fork). Si el 1 de agosto no tiene el apoyo mayoritario de los mineros, la blockchain se dividirá en dos y todo el mundo tendrá el doble de bitcoins, pero unos serán bitcoins tipo A y otros bitcoins tipo B.
Una cadena tendrá SegWit y la otra no. La probabilidad de que ambas sobrevivan en el tiempo es muy pequeña. Si se llega a producir esta situación que nadie quiere, ni siquiera los mineros, implicaría un gran riesgo para quienes hagan transacciones a partir de esa fecha, especialmente para aquellos que las hagan en la cadena que acabe desapareciendo.
Ahora todos los esfuerzos se centran en evitar que eso suceda y la única forma de lograrlo es que la mayoría de los mineros acepten SegWit antes de que se produzca esa potencial bifurcación de la cadena. Todo indica que se logrará evitar esa situación gracias a un reciente acuerdo entre un importante grupo de mercados y de mineros.
Ese acuerdo, al que se ha llamado SegWit2x es un compromiso de tipo político que evitaría la bifurcación. A cambio de que los mineros acepten SegWit, se incluiría en una nueva versión del software (Segwit2x) también una ampliación directa del tamaño de los bloques a 2Mb.
Este compromiso ha dejado el escenario dividido en tres grupos: los que sólo quieren Segwit (Bitcoin Core y UASF), los que sólo quieren ampliar el tamaño de los bloques (un pequeño grupo de mineros) y los que están dispuestos a aceptar ambas cosas con tal de que Bitcoin no se rompa en dos (Segwit2x).
Sin entrar en detalles técnicos, que son bastante enrevesados, hay que decir que los plazos para que se acepten y luego se activen cada una de estas funcionalidades juegan un papel muy importante. Cabe la posibilidad de que se acepten los cambios y no se activen o que se activen tarde, lo que daría lugar en teoría a diferentes escenarios.
¿Qué pasará si hay un hard fork y qué pasará si se hace un soft fork?
Lo más probable es que se active SegWit y eso se hará mediante un softfork, lo que no implica un riesgo para nadie pues el cambio es compatible con los wallets antiguos que no se hayan actualizado. Ahí no tendremos ningún problema.
Sin embargo, la activación de los bloques de 2Mb tres meses después, es decir en noviembre, que es lo propuesto por SegWit2x, sólo se puede hacer mediante un hardfork, que es una fórmula muy arriesgada si no cuenta con el apoyo de toda la red. Un cambio mediante hardfork no es compatible con el software anterior y siempre deja en otra cadena a los que no se hayan actualizado. Por eso siempre se ha tratado de evitar.
Este asunto tiene innumerables matices en todos y cada uno de sus factores, tanto técnicos como económicos e incluso humanos, pero me voy a mojar y haré una predicción: estaremos haciendo transacciones SegWit a finales de agosto y no habrá un hardfork de 2Mb en noviembre. Antes de noviembre ya estaremos empezando a usar soluciones de segunda capa como Lightning Network y muy pocos van a querer reabrir este debate para solucionar algo que ya está resuelto.
En cuanto al pequeño grupo de mineros liderado por la empresa china Bitmain y que apuestan por excluir SegWit y hacer su propio Bitcoin con bloques ilimitados, no llegan a la mayoría suficiente para hacer un hardfork, por lo que ni siquiera lo intentarán. En cuanto SegWit se active se diluirá el debate y se abrirán grandes posibilidades de crecimiento para Bitcoin. En este momento mi visión es moderadamente optimista.
¿Qué otras iniciativas importantes ha habido que han intentado resolver el problema de la escalabilidad y cuál ha sido su aceptación en la comunidad Bitcoin?
Para entender esta evolución hay que aclarar que el protocolo Bitcoin es un software de código fuente libre, cualquiera puede copiarlo, modificarlo y llamarlo CoinCoin o lo que sea. Son los usuarios los que deciden qué software usar, pero si añaden una funcionalidad incompatible con los demás nodos de la red, sus transacciones serán rechazadas por el resto.
Hay distintas aplicaciones que utilizan el protocolo Bitcoin, la más usada es Bitcoin Core y es la que por el momento marca las líneas maestras que todos los demás deben seguir, por eso se le suele llamar software de referencia. Pero eso no tiene por qué ser siempre así. Si algún otro software lograra obtener popularidad suficiente podría convertirse en el software de referencia.
A lo largo de estos últimos tres años hemos visto varias propuestas, especialmente abordando el asunto de la escalabilidad mediante un aumento del tamaño de los bloques, pero ninguno de ellos ha logrado alcanzar el consenso suficiente, lo que terminó por fragmentar en parte la sintonía que hasta entonces reinaba el desarrollo de Bitcoin.
El primer intento con el nombre de Bitcoin XT surgió a finales de 2014 de la mano de Mike Hearn, entonces empleado de Google y una figura muy conocida que contaba con el apoyo de Gavin Andresen que hasta ese momento actuaba como director de orquesta o estratega de todo el desarrollo Bitcoin.
Gavin heredó la batuta del propio Satoshi Nakamoto, el misterioso creador de Bitcoin, pero eso no fue suficiente para convencer al resto de desarrolladores que fundamentalmente se oponían a cualquier tipo de hardfork para solucionar el problema de la escalabilidad. Bitcoin XT proponía aumentar gradualmente el tamaño de los bloques hasta alcanzar los 8Mb.
El rechazo de Bitcoin XT provocó una airada respuesta por parte de Mike Hearn que decidió abandonar el mundo Bitcoin y dedicarse a partir de entonces al desarrollo de blockchains privadas con R3. Gavin continuó trabajando para aumentar el tamaño de los bloques, esta vez con el apoyo de Jeff Garzik, otro conocido y respetado desarrollador, que por cierto es quien lidera el desarrollo de SegWit2x, la más reciente entrega de esta saga.
Entre esa primera Bitcoin XT y SegWit2x hay otras dos propuestas que han logrado tener un apoyo significativo, se trata de Bitcoin Classic y Bitcoin Unlimited. Bitcoin Classic aumenta el tamaño a 2Mb y Bitcoin Unlimited introduce un sistema mucho más complejo en el que el tamaño se puede configurar por los propios usuarios.
Esta última ha obtenido una buena respuesta por parte de los mineros, pues les otorga además ciertos privilegios adicionales para influir en el equipo de desarrolladores.
Sin embargo, tanto los desarrolladores de Bitcoin Core como una mayoría de usuarios se ha opuesto radicalmente a Bitcoin Unlimited recelosos de la creciente concentración de poder en manos de unos pocos mineros. Por el momento ninguna propuesta que implique un hardfork ha obtenido el apoyo suficiente.
Todo esto refleja un complejo sistema de gobierno, muy resistente a cualquier cambio que no esté previamente aceptado por la inmensa mayoría de los poderes fácticos en juego. Bitcoin no deja de ser un experimento social, fascinante, y que de tener éxito sin duda tendrá un fuerte impacto en otro muchos órdenes de nuestra vida.
Jaime Núñez Miller es socio consultor de servicios web en Zentank, es coautor junto a Alex Preukschat del libro 'Blockchain: La revolución industrial de Internet' publicado por Ediciones Gestión 2000 (Grupo Planeta) ya disponible en Amazon.es. Las novedades se pueden seguir en @LibroBlockchain y LibroBlockchain.com.