El debate en torno a la escalabilidad y el aumento del tamaño de los bloques en la red Bitcoin ha sido una de las discusiones más polémicas con que ha tenido que lidiar la comunidad desde el nacimiento de la criptomoneda en el año 2009.
En la medida que la adopción de bitcoin se va expandiendo hacia la masificación y son más las personas las que realizan transacciones con criptomonedas, se hace necesario aumentar el tamaño actual de los bloques de la blockchain. Para poder satisfacer los requerimientos de la creciente demanda, sin que ese aumento afecte la velocidad y costo de las transacciones, es inevitable buscar alternativas a la condición presente.
Muchos han sido quienes han presentado sus propuestas. Ingenieros, desarrolladores y personalidades influyentes del ecosistema bitcoin se han esforzado por diseñar la mejor alternativa basada en conocimientos técnicos del sistema para poder solucionar esta problemática. A continuación, te ofrecemos una lista de las Propuestas de Mejora de Bitcoin (BIP, por sus siglas en inglés) más importantes hasta la fecha:
BIP 100
BIP 100 fue la primera alternativa para el aumento del tamaño de los bloques, propuesta por Jeff Garzik. Garzik es una personalidad importante en el ecosistema bitcoin y computacional en general. Trabajó como desarrollador en BitPay y actualmente es Co-Fundador de Bloq.
Garzik propone una bifurcación fuerte que sustituya el límite estático de 1MB por un límite flotante nuevo de 1MB, mientras el límite estático histórico de 32 MB se mantenga. Este megabyte irá aumentando por votación de los mineros en un solo sentido, cerrado cada vez que 12.000 bloques sean minados, lo cual sería, aproximadamente, cada 3 meses. Los mineros votarían introduciendo un código en el Scriptsig del coinbase con el límite del tamaño de bloque que deseen. El nuevo límite no puede ser mayor a dos veces el límite actual, ya sea para ascenso o descenso. Los votos se evalúan eliminando el 20% más bajo y el 20% más alto, para luego escoger el mínimo común.
El consenso en la comunidad debe alcanzar un 90% para que esta propuesta se concrete. Esto con el fin de que las grandes piscinas de minería no se aprovechen y manipulen los aumentos. Para agosto de 2015, piscinas de minería como F2Pool, BTCChina, BitFury, KnCMiner, 21 Inc y otras pequeñas piscinas de minería, apoyaban esta alternativa.
BIP 101 – Bitcoin XT
BIP 101 es una propuesta de Gavin Andresen para Bitcoin Core, a la cual posteriormente se alineó Mike Hearn para operar en el cliente alternativo a Bitcoin, Bitcoin XT. Esta ha sido una de las propuestas más polémicas en el ecosistema bitcoin, generando expulsiones de foros y otras amenazas.
BIP 101 es una alternativa de bifurcación fuerte que apunta a cambiar el tamaño actual de los bloques de 1Mb a 8Mb, aumentando el doble cada 2 años hasta junio de 2036, con un máximo de 8,192GB. Para lograrlo, el protocolo necesitaría la aceptación (consenso) de al menos 75% de todos los nodos de la red Bitcoin.
El incremento del tamaño se basa en las expectativas a largo plazo de mejoras en el poder computacional, de almacenamiento y de ancho de banda del Internet. Este protocolo fue uno de los que mayor respaldo obtuvo en el 2015, recibiendo apoyo de empresas como Coinbase, Bitstamp, Slush Pool, Coinify, BitPay, Bitnet, Circle, Blockchain, Xapo, itBit, BitGo y KnCMiner. Sin embargo, por la dificultad que presentaba para la adopción en las piscinas de minería chinas, no se alcanzó el apoyo necesario.
BIP 102
Esta propuesta también es planteada por el desarrollador Jeff Garzik. BIP 102 busca aumentar la cantidad total de data de transacción permitida en un bloque de 1MB a 2 MB, tan pronto como el 75% de los últimos 1.000 bloques hayan firmado su apoyo. La propuesta aumenta el máximo de bloques de las Operaciones con Firmas (SigOps, por sus siglas en inglés) por un factor similar, preservando la formula TAMAÑO/50.
Los antiguos clientes no serían compatibles con este cambio. El primer bloque que exceda 1MB, separará a los clientes nuevos de los antiguos. Esta solución se plantea a corto plazo, buscando obtener mayor tiempo para que nuevas soluciones se desarrollen. Entre los actores que han respaldado esta alternativa se pueden mencionar a Bobby Lee de BTCChina y Erik Voorhees de Shapeshift.
BIP 103
BIP 103 es una de las propuestas del desarrollador co-fundador de Blockstream, Pieter Wuille. Plantea un incremento del tamaño de los bloques por bifurcación fuerte que intente acomodarse a las mejoras de hardware y otras tecnologías en el futuro previsible.
Busca aumentar el tamaño de los bloques progresivamente –un aumento cada 97 días-, entre enero de 2017 y julio de 2063. Cada incremento aumentaría el tamaño máximo de los bloques un 4,4%, produciendo un aumento general de 17,7% cada año. Estos pequeños aumentos son pensados de esta manera para reducir el riesgo de grandes cambios en el mercado o en la tecnología. El aumento de 17,7% al año se basa en el incremento promedio del índice de ancho de banda en los últimos años.
El proyecto recibió el apoyo de Gregory Maxwell, desarrollador de Bitcoin Core y de Blockstream, Wladimir J. van der Laan, responsable de Bitcoin Core, entre otros.
BIP 105
Esta propuesta que lleva el título de “algoritmo de re-trazado del tamaño de los bloques basado en consenso”, fue pensada por el desarrollador bitcoin que actúa bajo el pseudónimo BtcDrak en agosto de 2015. Como su nombre lo dice, busca alterar el tamaño máximo de los bloques del protocolo Bitcoin mediante una aproximación basada en consenso.
El límite inicial se mantiene en 1MB. De manera similar a BIP 100, se propone un sistema de votación en el que cada vez que un minero crea un bloque, deberá votar si incrementar o descender el tamaño de los bloques en un máximo de 10% con relación al que sea el tamaño del momento. Los votos serán usados para recalcular el nuevo límite cada 2016 bloques minados, tomando y aplicando la media del resultado de los votos. El límite no podrá ser menor de 1 MB.
Con el fin de evitar que los mineros utilicen su ventaja para aumentar el tamaño de los bloques arbitrariamente, si un minero vota por un aumento, el hash del bloque deberá cumplir con una dificultad proporcionalmente mayor a la dificultad estándar, basada en el porcentaje de incremento por el cual votó. Esta se basa en las ideas propuestas por Meni Rosenfeld y Gregory Maxwell de Flexcaps.
BIP 106
Esta propuesta fue pensada por el desarrollador Upal Chakraborty. Plantea reemplazar el megabyte actual por un tamaño máximo de bloques dinámicamente controlado que pueda incrementarse o disminuirse con los cambios en la dificultad de minería. Chakraborty plantea dos propuesta: o que la variación dependa solo de los cálculos de los tamaños de bloques previos, o bien de éstos y de las tasas de transacción recolectadas por los mineros.
En la primera propuesta, si más del 50% del tamaño de los bloques encontrados en los primeros 2000 bloques del último período de dificultad corresponden a más del 90% del máximo del tamaño de los bloques, el tamaño deberá duplicarse; si es menos al 50%, el tamaño de los bloques deberá reducirse a la mitad. Si no se alcanza ninguna de estas condiciones, el tamaño permanece igual.
Bajo la segunda propuesta, no se aumentará el tamaño máximo de los bloques si la tasa recolectada de transacciones no está aumentando y, por tanto, creando una mayor presión en el mercado.
BIP 202
Esta es la última de las alternativas planteadas por Jeff Garzik de manera individual. BIP 202 complementa su idea inicial de aumentar el tamaño a 2MB, agregándole un aumento de 20 bytes cada 10 minutos, si el 75% de los últimos 1.000 bloques minados firman dándole apoyo.
Bitcoin Unlimited
Bitcoin Unlimited es una extension al cliente Bitcoin, como lo es Bitcoin XT, propuesta por Andrew Stone. Este cliente crea la posibilidad de flexibilizar la elección del tamaño máximo del bloque a cualquier valor según la decisión de cada minero, permitiéndoles generar bloques más grandes.
El tamaño predeterminado será de 1 Mb, como lo es actualmente. Si los mineros eligen bloques mucho más grandes que el tamaño de aceptación predeterminado y el número de bloques no está profundo en la blockchain, el tamaño establecido por el usuario no será procesado inmediatamente. El tamaño de aceptación predeterminado es de 16 mb y la profundidad de 4 bloques. El tamaño máximo aceptado del mensaje solo podrá ser 10 veces el tamaño predeterminado. Cualquier bloque de mayor tamaño será rechazado para prevenir ataques.
Bitcoin Classic
Bitcoin Classic ha sido la propuesta que más interés ha generado en la comunidad en los último días. Producto del trabajo conjunto de Marshall Long, Olivier Janssens, Ahmed Bodiwala, Jonathan Toomim, Michael Toomim y Gavin Andresen, propone directamente aumentar el tamaño de los bloques de Bitcoin a 2MB mediante una bifurcación fuerte.
Bitcoin Classic está en sus primeras fases de desarrollo y espera anunciar pronto nuevas características que darán mayor información sobre la propuesta. Aunque todavía no se han dado detalles específicos sobre el funcionamiento de la propuesta, ya más de un 70% de la comunidad ha expresado su apoyo a la iniciativa.
Piscinas de minería como Antpool, F2Pool, BitFury, BW, HAOBTC, KnCMiner, Genesis Mining y Avalon; compañías como Coinbase, OKCoin, Bitstamp, Blockchain.info, Xapo, Bitcoin.com, Foldapp, Bread Wallet, Snapcard.io, Cubits, Vaultoro, Coinify y Bitso; y usuarios como Olivier Janssens, Michael Toomim, Roger Ver y Peter Ng, son parte de aquellos que han expresado que se plegaran a esta propuesta, opción que en este momento parece que será la ganadora en este debate.
Segregated Witness
Segregated Witness fue la solución a la escalabilidad propuesta por el desarrollador Pieter Wuille el segundo día de Scaling Bitcoin en Hong Kong. Esta propuesta obtuvo mucha aceptación por parte de la comunidad, al punto que los desarrolladores de Bitcoin Core la incluyeron dentro de su hoja de ruta como la respuesta definitiva a la escalabilidad.
La alternativa propone eliminar de los bloques la información correspondiente a las firmas de los usuarios que realizaron la transacción y en su lugar habilitar un “testigo” que indique que la firma fue realizada y se validó la transacción. Al reducir dicha información, la opción de SegWit reduce hasta en un 75% el tamaño total de los datos incluidos en los bloques o, visto de otra forma, eleva a 4Mb el tamaño de los bloques donde sí se registra la información de las firmas.
El debate sobre la escalabilidad ha generado muchísimo revuelo dentro de la comunidad bitcoin, con varios actores presionando constantemente para tratar de alcanzar una solución que satisfaga los requerimientos técnicos de la comunidad. Se creyó que SegWit sería aquella solución. Tanto así, que Bitcoin Core emitió un comunicado con la firma de 31 desarrolladores que avalaban la solución, entre los que se incluyen nombres como los de Gregory Maxwell, Charlie Lee, Wladimir J. van der Laan, Eric Lombrozo, entre otros, además de lanzar una blockchain de prueba para la alternativa.
Sin embargo, con la reciente aparición de Bitcoin Classic, la comunidad se ha dividido nuevamente en torno a este debate. De ponerse en marcha esta alternativa, los desarrolladores lograrían hacer la tan esperada bifurcación fuerte a la red. Hasta ahora no se conoce ninguna declaración oficial de la comunidad de desarrolladores de Bitcoin Core. Sin embargo, si no actúan eficazmente, lo más probable es que Bitcoin Classic se establezca definitivamente como solución a la escalabilidad.