Pages

Derribando mitos: “Bitcoin no es escalable” (segunda parte)

En respuesta a las primeras embestidas de los Blockstream boys, ya en 2015 Gavin Andresen impugnaba –en esta entrada– la idea de que si no mantienes un nodo completo no estás usando Bitcoin. Hoy, Thomas Zander ataca el mismo mito (“Bitcoin, per se, no es escalable”) desde otro ángulo.


Este mito es duro de matar. Durante años, hemos visto a personas que dan números, muestran resultados y realizan optimizaciones de diseño que claramente indican que la cadena de bloques de Bitcoin es escalable, principalmente por medio de bloques más grandes.

Sin embargo, el mito de que esto es imposible persiste. Uno de los argumentos más escuchados en contra de la escalabilidad de la cadena de bloques de Bitcoin se basa en la mera intuición. Si tomamos un cierto grupo de personas muy numeroso (digamos, un país) y les permitimos efectuar X transacciones por día, eso significa que los bloques serán de n Gigabytes. Cada 10 minutos. Y cuando consideramos el número resultante por día o mes, nos parece inviable.

El mito básico a rebatir aquí no tiene que ver específicamente con Bitcoin y su cadena de bloques. El problema al que nos enfrentamos es que los humanos no tenemos ninguna experiencia natural con el crecimiento exponencial, y por lo tanto la mayoría de nosotros todavía no tomamos consciencia de cuán lejos han llegado las computadoras en las últimas dos décadas gracias al crecimiento exponencial. Quiero decir, claro que puedes transmitir un video en calidad 4K a través de Internet y verlo usando un dispositivo de 3 por 1 pulgada que conectas a tu televisor, la gente acepta hoy eso. Pero procesar todos los días una gran cantidad de datos en una sala de servidores, eso simplemente parece no tener sentido…

Este mito es tan generalizado ahora, en 2020, por la misma razón que en 1970, 1980 y nuevamente en 1990, en 2000 y en 2010 la gente simplemente no podía comprender la magnitud de los avances que traerían los siguientes 10 años.

Podemos rebatir este mito apelando a la evidencia puramente histórica. Tenemos literalmente 50 años de datos y pruebas que respaldan la afirmación de que la cadena de bloques es escalable. El primero en afirmarlo fue el propio Satoshi:

Realmente nunca llegamos a un techo de escalabilidad. (…)
Según la ley de Moore, cabe esperar que el hardware sea 10 veces más rápido en 5 años y 100 veces más rápido en 10. Incluso si Bitcoin crece a tasas de adopción demenciales, creo que la velocidad de las computadoras se mantendrá por delante del número de transacciones.

Lo realmente difícil es no olvidar esa historia cuando alguien afirma que no podemos esperar que una computadora haga X cosa en 20 años.

Escalabilidad: ¿cómo?

Echemos un vistazo a una pequeña parte de la historia reciente.

En 2016, se prueba que un buen ordenador de escritorio puede procesar 368 millones de transacciones por día.
En junio de 2019, se prueba que un buen ordenador de escritorio puede procesar 1.944 millones de transacciones por día.
En noviembre de 2019, se prueba que un servidor simple puede procesar 3.480 millones de transacciones por día.

La conclusión es que, a partir de la evidencia reunida, ya tenemos un rendimiento posible multiplicado por 10 tan solo en los últimos 3 años de desarrollo de software e introducción de hardware más nuevo.

Las mejoras en el software son, en gran medida, el resultado de la creencia generalizada en este mito. A pesar de que no hay en este momento necesidad de un gran salto adelante, yo mismo he dedicado mucho tiempo al tema de la escalabilidad trabajando en optimizaciones del software. El uso real de la red hoy en día es aproximadamente 1000 veces menor que lo que podemos procesar según las pruebas realizadas. Ahora bien, imagina lo que toda la industria podría lograr si en un determinado momento estuviéramos acercándonos a los límites que impone la tecnología. ¡Una industria entera! ¿Puedes imaginarlo? Quiero decir: cuando hay un fuerte incentivo, de repente la gente puede volverse muy creativa.

La computadora moderna sigue volviéndose más rápida cada año. La Ley de Moore todavía se mantiene firme y sin señales de perder validez. Moore era ingeniero de Intel e Intel se ha quedado atrás en los últimos años, pero AMD se ha adelantado y ha vencido a Intel en materia de escalabilidad. Este es un mercado totalmente abierto, donde el efecto a largo plazo no se ha visto interrumpido.

El resultado es que simplemente comprando el hardware más reciente cada 2 años, obtienes el doble de velocidad, o sea que puedes servir al doble de personas cada 2 años.

Entonces, en resumen:

La Ley de Moore sigue vigente, aunque Intel ya no esté a la vanguardia. Cabe anticipar que en 10 años podremos atender al menos 100 veces la cantidad de personas que podemos atender hoy.

Además de esto, las innovaciones en software permitirán acelerar aún más el progreso. La ganancia mencionada anteriormente (en solo 3 años multiplicación por 10 de la cantidad de transacciones que pueden procesarse), por ejemplo, está muy por encima de lo que solo el nuevo hardware podría permitir. Y eso tuvo lugar en un proyecto de software con un número muy limitado de programadores. Imagina lo que puede hacer un equipo mucho más grande trabajando en pos del mismo objetivo.

A principios de 2019 se demostró que es posible tener bloques de 250 MB en la red de Bitcoin Cash, mientras que la actividad económica era en ese momento, en promedio, de alrededor de 250 KB por bloque. Una diferencia de 1000 veces. Tenemos un gran margen de crecimiento aún sin mucha innovación en materia de escalabilidad.

Nuestra industria ha demostrado que puede acompañar un crecimiento (más que) exponencial.

Satoshi tenía razón: al usar bloques más grandes, nunca llegamos a un techo de escalabilidad.

Leer texto original, en inglés