La escalabilidad de Bitcoin ha sido uno de los temas mรกs รกlgidos que ha vivido el ecosistema desde que la criptomoneda madre fuera lanzada en el aรฑo 2009. Cรณmo dar cabida a la creciente base de usuarios que cada dรญa adopta Bitcoin, sin modificar las bases fundamentales sobre las que se sostienen el cรณdigo y los principios รฉticos de la moneda, al tiempo que se resguarda la seguridad y confianza en la red; ha supuesto un largo e ininterrumpido debate.
Mรกs de dos aรฑos han transcurrido en medio de propuestas, crรญticas, mesas redondas y conversaciones infructuosas entre desarrolladores, mineros, empresarios y usuarios de Bitcoin โsi bien la necesidad de escalar la red se hizo evidente mucho antes, al ver que los bloques de la blockchain comenzaban aย trabajar a mรกxima capacidad. Contra todo pronรณstico en un debate que parecรญa interminable, durante la reciente semana, en los espacios dispuestos por el evento Consensus 2017, como si el nombre del evento lo hubiera vaticinado, la comunidad Bitcoin, por fin,ย alcanzรณ el consensoย al respecto de este รกlgido tema.
Ahora, ยฟpor quรฉ resulta tan importante este pacto y por quรฉ fue tan difรญcil alcanzarlo? Para abordar estas interrogantes parece necesario clarificar dos nociones que nos salen al paso cuando pensamos la cuestiรณn: escalabilidad y consenso.
Aunque la palabra escalabilidad no es sinรณnimo exacto de crecimiento, ambas nociones se encuentran cercanamente emparentadas. Bitcoin, sin duda alguna, ha crecido. Ha crecido su nรบmero de usuarios y laย confianza en la moneda, impulsando a su vez el precio de este activo financiero; ha crecido el nรบmero de mineros y ha crecido la dificultad que requiere su labor. Pero en medio de el crecimiento masivo que ha ganado la criptomoneda, el diseรฑo de cada bloque que contiene las transacciones de la red ha permanecido invariable, quedando rezagado frente al resto del crecimiento que ha experimentado la criptomoneda.
Escalabilidad puede entenderse entonces como la capacidad que tiene un sistema o red para manejar una creciente cantidad de trabajo o su potencial de adaptarse para sobrellevar ese crecimiento. A mayor nรบmero de entradas โen este caso, transacciones- la red debe ser capaz de procesarlas de manera รณptima sin saturarse.
El lรญmite actual de bloque es de tan solo 1MB. Sin embargo, el tamaรฑo del bloque es tan solo uno de las variables que inciden en la escalabilidad. Cada bloque puede pensarse como un contenedor. Si bien aumentando el tamaรฑo del contenedor aumenta la cantidad de cosas que puede contener -esto es, las transacciones-, reduciendo el tamaรฑo de las transacciones sustrayendo la informaciรณn (data) innecesaria tambiรฉn alivia la cantidad de espacio utilizada para almacenarla.ย Pero tambiรฉn mejorar los tiempos en que los contenidos son introducidos en el contenedor es una necesidad para escalar la red, la cual debe optimizarse en tiempo y espacio.
Propuestas como X-Thin blocksย procura mejoras temporales puesto que, mediante la introducciรณn de los llamados filtros Bloom, los cuales seleccionan previamente las direccionesย hashย de las transacciones no repetidas entre los nodos para luego propagarlas entre ellos, para asรญ evitar que los nodos reciban dos veces las mismas transacciones, lo cual aumentarรญa elย tamaรฑo de los bloques de forma innecesaria e implicarรญa pรฉrdidas en tiempo al trabajar mรกs de una vez sobre una misma transacciรณn. Esta soluciรณn comprime 24 veces el tamaรฑo de los bloques y mejora considerablemente sus tiempos de propagaciรณn.
No obstante, en la actualidad los bloques siguen presentando deficiencias de propagaciรณn y trabajando con un lรญmite de espacio de 1MB, soportando un promedio de 2.000 transacciones por bloque, trabajando a bloques llenos y confirmando mรกs de 300.000 transacciones diarias que, al aรฑo, darรญa un promedio de 109 millones de transacciones. Visa procesรณ 26.3 billones de transacciones tan solo en el primer trimestre de 2016. Y observando el crecimiento del volumen de transacciones en bitcoin de los รบltimos 8 aรฑos, esa es una cifra a la que se podrรญa aspirar.
El problema de fondo persiste: el cรณdigo que determina los atributos del software de la red no se ha acoplado a los cambios en el panorama actual del ecosistema, y mucho menos ha tomado en consideraciรณn el amplio horizonte de adopciรณn de Bitcoin que se avecina en el futuro cercano.
Como consecuencia, la red se ha saturado. Miles de transacciones quedan diariamente aguardando confirmaciรณnย en una lista de espera que parece interminable. Y quienes no son tan pacientes, pagan mayores tasas a los mineros para que sus transacciones sean priorizadas, creando un mercado de comisiones en una red que se suponรญa debรญa ser inmediata y casi gratuita.
Ya se va entendiendo la gravedad de no escalar la red, atentando no solo contra su rendimiento, sino contra sus principios fundacionales y contra la posibilidad de devenir una moneda de uso masivo, objetivo al que se apunta.
ยฟPor quรฉ, entonces, no se solucionรณ antes esta problemรกtica? Es aquรญ donde entra el consenso. Consenso en Bitcoin se entiende en dos sentidos: uno tรฉcnico y otro que podrรญamos llamar polรญtico-social. El sentido tรฉcnico se desprende de la raรญz misma de Bitcoin: el libro blanco de Satoshi Nakamoto.ย Otros simulacros de dinero digital fueron ensayados previos a Bitcoin (por ejemplo, el b-money de Wei Dai)ย La contribuciรณn de Nakamoto fue articular estos sistemas con criptografรญa, agregando el engranaje necesario para dejar de depender de terceros de confianza, al tiempo que se previene el doble gasto: una red de consenso distribuida usuario-a-usuario. Nakamoto dixit:
Proponemos una soluciรณn al problema del doble gasto utilizando una red usuario-a-usuario. La red coloca estampas de tiempo a las transacciones al crear un hash de las mismas en una cadena continua de pruebas de trabajo basadas en hashes, formando un registro que no puede ser cambiado sin volver a recrear la prueba de trabajo. La cadena mรกs larga no solo sirve como la prueba de la secuencia de los eventos testificados, sino como prueba de que vino del gremio de poder de procesamiento de CPU mรกs grande. Siempre que la mayorรญa del poder de procesamiento de CPU estรฉ bajo el control de los nodos que no cooperan para atacar la red, estos generarรกn la cadena mรกs larga y le llevarรกn la ventaja a los atacantes.
Satoshi Nakamoto
Creador de Bitcoin
Puede observarse que el consenso nace de la raรญz misma de Bitcoin. Para que un bloque sea aรฑadido a la cadena principal (la รบnica vรกlida), debe contar con el consenso de todos los participantes de la minerรญa, quienes sirven como testigos de las transacciones. (Cabe aclarar que desde hace muchos aรฑos las computadoras domรฉsticas no tienen suficiente rendimiento para minar).
Es precisamente este consenso tรฉcnico, seguir las reglas del juego, lo que le da valor a Bitcoin. Que todos los participantes de la red, a travรฉs de la minerรญa, certifiquen las transacciones realizadas, confirmando que los bitcoins que se transan no se estรฉn gastando mรกs de una vez, sumando nuevos bloques a la cadena principal y otorgando seguridad a la red, es lo que le confiere validez a las monedas que los mineros minan. De ahรญ la importancia radical del consenso: si no hay consenso, no hay confianza y el valor de Bitcoin se desploma.
En cuanto al consenso polรญtico-social, al ser una red distribuida sin ningรบn ente central que la gobierne, es decir, al teรณricamente encontrarse todos los participantes en una relaciรณn horizontal de igualdad respecto a los otros; es indispensable, para realizar cualquier modificaciรณn al cรณdigo base de la red, que estoย sea consensuado por todos los miembros del ecosistema. En este sentido, la forma de gobierno โesperada- en Bitcoin, semejarรญa a la democracia directa ateniense, donde la palabra y voluntad de cada ciudadano tenรญa el mismo peso y era expresada directamente por su propia voz el รกgora sin depender de representaciones. Y estimรกndose que para el 2019 la base de usuarios de Bitcoin roce los 5 millones, poner de acuerdo a tal cantidad de personas parece un proceso, por lo mรญnimo, arduo.
Con todo, luego de muchas discusiones, y a pesar de que el proceso de toma de decisiรณn semeja mรกs una representatividad autoelecta que una democracia directa, el consenso polรญtico-social para escalar bitcoin ha sido alcanzado y suscrito por una vasta mayorรญa de mineros, desarrolladores y compaรฑรญas ligadas al ecosistema; escogiรฉndose la propuesta Segwit2MB.
En primer lugar, se activarรก inmediatamente Segregated Witness por el 80% del poder de procesamiento de la red. Esta propuesta, emanada del grupo de desarrolladores Bitcoin Core, consiste en remover de las transacciones la data vinculada a las firmas para reducir su peso en bits, logrando que mayor cantidad de transacciones puedan ser incluidas en un bloque.
En segundo lugar, se activarรก un hard fork de la red que aumente el lรญmite del tamaรฑo de los bloques a 2MB. Esto significa que, de la cadena principal actual, se realizarรก una bifurcaciรณn a una nueva cadena con lรญmite de 2MB por bloque a la que todos los nodos y mineros deberรกn migrar, dejando atrรกs la antigua cadena de un 1MB. O al menos eso se espera; siempre existe el riesgo de que ciertos nodos y mineros se mantengan trabajando con la cadena anterior โtal como sucediรณ cuando naciรณ Ethereum Classic– dando pie a la apariciรณn de dos cadenas de Bitcoin distintas, las cuales tendrรญan que luchar por legitimidad entre los usuarios. Sin embargo, hasta los momentos esta posibilidad parece no haber sido planteada pรบblicamente por ningรบn miembro de la comunidad.
Los beneficios de implementar estas medidas parecen obvios. En primera instancia, la red, actualmente saturada, tendrรญa un respiro y podrรญa dar confirmaciรณn a las miles de transacciones que diariamente quedan en cola o simplemente no se confirman. Al eliminar la saturaciรณn, se agilizarรญa relativamente el tiempo de confirmaciรณn de transacciones, haciendo desaparecer el mercado de comisiones que se encuentra creciendo en la actualidad y devolviendo a Bitcoin a su tasa por transacciรณn casi gratuita.
Transacciones de menor peso y un mayor lรญmite de bloques posibilitarรญa una mayor adopciรณn de Bitcoin, moneda que si bien no fue diseรฑada para ser de uso masivo, el destino la recondujo hacia esos horizontes. Al ser una criptomoneda cuyo precio se rige bajo las leyes de la oferta y la demanda, a mayor demanda y manteniendo estables el resto de las condiciones, el precio de bitcoin en el mercado seguirรก creciendo.
Siendo la criptomoneda mรกs popular en la actualidad, es probable que sea la primera en ser adoptada masivamente para pagos, si bien su dominancia en el mercado con respecto al resto de las criptomonedas disminuye cada dรญa mรกs.
Que Bitcoin llegue a ser superada por otras criptomonedas que ofrecen nuevas posibilidades โcomo los contratos inteligentes de Ethereum, por mencionar alguno- solo el tiempo lo dirรก. En este sentido, poniendo el futurible supuesto de que Bitcoin llegue a equiparar el volumen de transacciones diarias de Visa, quizรกs SegWit y bloques de 2MB no sean suficientes. Puede observarse que las modificaciones planteadas por estas bifurcaciones inciden exclusivamente en la dimensiรณn espacial de Bitcoin. Se hace necesario escalar en tรฉrminos espacio-temporales en conjunto para optimizar la agilidad de la red.
Muchas otras alternativas para la escalabilidad han sido propuestas: Lightning Network, desde el mismo Bitcoin Core; los bloques de extensiรณn propuestos por BitPay y Purse; el mismo X-Thin Blocks, anteriormente mecionado; entre otros. Estas propuestas no serรกn descartadas por el hecho de haberse optado, en estas circunstancias, por Segwit2Mb.ย Por el contrario, parte del compromiso de quienes suscribieron esta propuesta ha sido mantener la investigaciรณn y el desarrollo. Para esto es indispensable la presencia de acadรฉmicos que nutran con su conocimiento el debate.
De igual manera, a fin de profundizar la participaciรณn de la comunidad en la toma de decisiones, se hace necesario mejorar los mecanismos de interacciรณn y comunicaciรณn con los usuarios a fin de dar mรกs apertura a una red que se pretende distribuida.
Con todo, el consenso apenas fue alcanzado esta semana y seis meses es un largo periodo de tiempo hasta que se active elย hard fork. De llegarse a concretar esta propuesta, algo que parece la vasta mayorรญa de la comunidad espera, resulta imperativo procurar por todos los medios que esta saturaciรณn no vuelva a ocurrir; realizar el intercambio de saberes necesario para que bitcoin siga escalando en la misma medida que su base de usuarios crece, para asรญ consolidar el รฉxito de la red.
Escalar es el mayor reto de las redes blockchain y este apenas es el comienzo.ย Hay muchas alternativas que probar aรบn para demostrar su eficiencia y seguridad para el crecimiento de la criptomoneda madre. Pero si algo hay que tener en mente para seguir escalando la red bajo sus fundamentos es no aรฑadir nuevos intermediarios a la ecuaciรณn. En otras palabras, los intermediarios en las redes blockchain siempre deben ser los mineros: mรกquinas autodirigidas por el cรณdigo de la red que dan validez a nuestros acuerdos en la sociedad digital distribuida. Escalar una red pรบblica basada en blockchain siempre debe orientarse a profundizar la distribuciรณn y la descentralizaciรณn.