Recientemente la prensa especializada en blockchain y criptomonedas ha destacado en sus titulares la alta probabilidad de un hard fork en la red Bitcoin, con el objeto de superar la limitación de escalabilidad actual de un MB por bloque, que atribuyen a la inacción de parte de Bitcoin Core, el grupo de desarrollares responsables de la evolución del código fuente de la red, en atender este problema.
Desde el punto de vista tecnológico, las partes de esta contienda están muy bien definidas y sus posiciones puestas sobre la mesa. Por un lado se encuentra Bitcoin Core, cuya posición es la de una evolución controlada que garantice la estabilidad y seguridad de la red. Su propuesta es un soft-fork llamado Segregated Witness, liberado en noviembre del año pasado en la red Bitcoin, que incluye un amplio rango de características, la mayoría técnicas, dispuestas para resolver varios problemas técnicos y sentar las bases para Lightning Network (una propuesta de escalabilidad de la red Bitcoin que implementa el uso de canales de pago), y aprovecha “…para elevar el límite de tamaño de bloque a casi 4 MB y agrega un nuevo límite de coste para asegurar que los bloques permanezcan equilibrados en su uso de recursos (esto resulta efectivamente en un límite efectivo de 1,6 a 2 MB)”. Esta propuesta está actualmente pendiente de aprobación por parte de la comunidad de mineros.
La otra parte del conflicto es Bitcoin Unlimited, un grupo separado de desarrolladores que consideran “que el tamaño del bloque NO forma parte del consenso de la cadena de bloques” y por tanto no debe “depender de un ‘comité directivo’ centralizado para fijar apropiadamente el tamaño máximo del bloque”.
Bitcoin Unlimited plantea el control manual del límite del tamaño de bloque de Bitcoin por parte de usuarios y mineros. O, más exactamente, hacer este control más explícito y más fácil de manejar por parte de los nodos y los mineros, para luego, a través de un proceso llamado “consenso emergente”, lograr hacer converger la red a un único tamaño de bloque que se alcanzaría por la convicción de que todos los participantes en el ecosistema de Bitcoin tienen un incentivo (económico) bastante fuerte para encontrar consenso sobre una sola cadena de bloques, incluso si su software no lo hace automáticamente.
Los críticos de Bitcoin Unlimited señalan que su propuesta es débil y riesgosa, acarreando más problemas que los que pretende resolver.
BIFURCACIONES EMERGENTES
La facilidad de control del límite del tamaño del bloque por parte de los nodos y mineros conduce a la división de la red Bitcoin en dos (o más) redes y monedas incompatibles, ya que los nodos y mineros que no puedan, o no quieran, manejar el nuevo límite pueden bifurcar la red con transacciones de menor tamaño.
Bitcoin Unlimited no incluye mecanismos de consenso técnicos tan confiables como las reglas de consenso actuales de Bitcoin. En su lugar, se apoya en el “consenso emergente” que provocaría los incentivos económicos de los participantes de la red para converger a una única blockchain. Ve a Bitcoin como un consenso entre personas principalmente, por lo que le da un alto valor a los acuerdos fuera de red hasta parecer asumirlos como un mecanismo de actualización. Pero estos mecanismos a menudo tienen un líder o tienden a fragmentarse y dividirse en facciones una vez que el número de participantes alcanza un cierto tamaño.
Como señalara el periodista Aaron van Wirdum en un artículo de su autoría:
Bajo condiciones adversas esto último es probablemente aún más cierto. Si las personas de estos grupos no se conocen o confían entre sí, no tienen manera de saber si las otras personas están diciendo la verdad o mintiendo. Incluso un solo adversario puede pretender ser muchos usuarios y comunicar muchas falsas preferencias. Esto hace que la coordinación y el consenso sean un problema muy difícil de resolver.
Con un historial de cerca de 8 años, el principal logro tecnológico de Bitcoin es un protocolo basado en matemáticas que realiza un consenso de maquina robusto, rápido, escalable y automatizado para grandes grupos de personas que no se conocen o confían entre sí.
Aaron Van Wirdum
CENTRALIZACIÓN EMERGENTE
El incremento del tamaño del bloque no es gratis, conlleva a mayores costos de ancho de banda, procesamiento y memoria que tendrían que soportar los nodos para mantenerse competitivos, lo que eventualmente llevaría a una mayor centralización de la red en unos pocos actores con poder económico para seguir el ritmo de su incremento y consecuentemente dominar la red. Así lo explica David Vorick, desarrollador de Bitcoin Core, ex desarrollador de software de IBM y cofundador de la plataforma de almacenamiento en nube descentralizada Sia.
Es decir, una mayoría circunstancial de los más grandes pools de minería, casas de cambio y procesadores de pago actuales, 2-3 de cada uno de ellos, cubrirían más que una mayoría en el ecosistema Bitcoin y, cuando estos jugadores centralizados decidan subir el tamaño del bloque, suben los requerimientos (costos) para participar en el ecosistema, sacando de juego primero, a los nodos completos independientes y finalmente, a jugadores centralizados pequeños que no pueden costear la subida, conduciendo a una centralización aun mayor.
ERRORES EMERGENTES
La calidad del código de Bitcoin Unlimited está en entredicho por muchos desarrolladores, incluso algunos que apoyan su propuesta, por carecer de la rigurosidad en los procedimientos de análisis, evaluación y pruebas de las modificaciones propuestas. Tan reciente como del martes 14 de marzo de 2017, el 70% de los nodos corriendo BU fueron desconectados por un bug en el código, el cual había sido advertido previamente por una investigadora de seguridad que se identifica a sí misma como “Charlotte Gardner“, según señaló en entrevista a Bitcoin Magazine, en la cual tuvo expresiones para Bitcoin Unlimited como las siguientes:
“Estoy bastante fuera de mí misma en cómo un proyecto que apunta impulsar una red de $ 20 mil millones puede hacer errores de principiante como este”; o, “Estoy bastante consternada por el bajo nivel de calidad del código en Bitcoin Unlimited y sospecho que hay una serie de otros problemas”.
Esta no fue la primera vez que el código de Bitcoin Unlimited fue cuestionado. A finales de enero 2017, el pool de minería bitcoin.com minó un bloque inválido causado por un bug. Antes de eso, los desarrolladores de Bitcoin Core ya habían advertido sobre código con problemas en varias ocasiones.
Andreas Antonopoulos, experto en seguridad de la información, señaló que tal vez el principal problema de Bitcoin Unlimited, es que carece de una comunidad de desarrollo importante para realizar un análisis de calidad adecuado. El código que incluía la vulnerabilidad explotada se fusionó después de ser revisado por una sola persona, no mucho para el código crítico de seguridad que protege el dinero de la gente.
Si bien el retraso en la confirmación de las transacciones en la red Bitcoin causa molestias entre los usuarios, la solución de este problema no puede ser una implementación que divida la red Bitcoin en dos redes y monedas incompatibles, mucho menos una que impulse la centralización y carezca de un proceso riguroso de revisión de código. Como señalara James Hilliard de BitmainWarranty, “La pregunta no es, ¿debe Bitcoin escalarse?, la pregunta es, ¿cómo podemos escalar Bitcoin sin romperlo?”.