Ahora que SegWit ha fijado, la guerra civil de Bitcoin que duró tres años parece estar llegando a su fin. Si bien no estamos completamente fuera de toda inconveniencia, todavía –quedan preguntas sobre el aumento de bloques pendientes este otoño, y sobre la viabilidad a largo plazo de Bitcoin Cash– el conflicto parece estar casi resuelto.
El siguiente paso es la activación de SegWit, que vendrá en aproximadamente dos semanas después de que la dificultad de la minería de Bitcoin se vuelva a encender. Una vez activado SegWit, más transacciones serán capaces de encajar en cada bloque de 1 MB, y la congestión en la red se reducirá. Otras mejoras como la lightning network podrán avanzar, tal vez revolucionando la moneda digital.
De regreso al principio
De lo que esperamos sea el final, echemos un vistazo al principio. Es fácil quedar atrapado en la política y abrazar el punto de vista de su propio lado, pero es más difícil mirar hacia atrás objetivamente y buscar las causas reales del infame "debate del tamaño de bloques".
A principios del 2014, era obvio que tendría que haber cambios en el código de Bitcoin para permitir que la red escalara. La red Bitcoin sólo pudo procesar cerca de cuatro transacciones por segundo, y el interés por Bitcoin estaba creciendo. Aunque todavía no había un atraso en las transacciones, estaba claro que, a menos que se tomara una medida, eventualmente existiría.
Grandes Bloqueadores vs. Core
En términos generales, la comunidad se dividió en dos grupos: los que apoyaban bloques más grandes que a su vez podían tener más transacciones y los que favorecían una solución más matizada técnicamente. Al final, estos bandos llegaron a ser conocidos como "los grandes bloqueadores" y los seguidores de "SegWit" o "Core".
La visión de Satoshi
Cuando Satoshi originalmente creó Bitcoin, previó una red en la que todos ejecutarían un nodo. Cada nodo tiene toda la Blockchain (y las sirve a sus pares), asegurando que la Blockchain es inmutable y no puede ser controlada por una sola entidad. En ese momento, Blockchain era muy pequeña, y ejecutar un nodo era casi libre.
Con el tiempo, como la popularidad de Bitcoin creció, también lo hizo el tamaño de la Blockchain. A medida que la Blockchain de Bitcoin crecía, ejecutar un nodo completo requería una computadora con un disco duro grande y un montón de ancho de banda de Internet. Como el espacio de almacenamiento y el ancho de banda son caros, varios nodos voluntarios comenzaron a abandonar la red.
Me gustan los grandes bloques ...
Cuando se enfrentaron a desafíos de escalabilidad en el 2014, la solución de los grandes bloqueadores fue simple: aumentar el tamaño de bloques. Si cada bloque puede contener más datos, entonces la red puede procesar más transacciones por segundo. La desventaja es que cuanto más grandes son los bloques, más grande es Blockchain.
Un Blockchain más grande conduce a menos nodos (puesto que es más costoso almacenar y servir esa cantidad de datos). Menos nodos conduce a menos descentralización. Los grandes bloqueadores insistieron en que esto estaba bien, porque suficientes voluntarios aún ejecutarían nodos que Bitcoin podría permanecer descentralizados.
La oposición de los desarrolladores
La mayoría de los desarrolladores de Core Bitcoin se alinearon detrás de una solución diferente: Segregated Witness. Esta solución permitiría dividir los datos de transacción y las firmas. Las firmas podrían ser "comprimidas" y más transacciones podrían encajar en bloques de tamaño normal (1 MB). Básicamente, Core estaba abogando por un sofisticado tipo de compresión de datos.
Tal compresión mantendría la cadena de bloques más pequeña, permitiendo que más nodos la alojaran. Sin embargo, hubo algunos problemas con esto. En el primer caso, SegWit es bastante complicado y se esperan algunos desafíos de implementación. Nadie estaba seguro, por ejemplo, de si requeriría una bifurcación suave o dura.
En el segundo caso, la mayoría de los desarrolladores Core que apoyaban a SegWit eran empleados por una empresa privada llamada Blockstream. Muchos en la comunidad vieron esto como una toma de poder por una empresa privada tratando de ejercer influencia indebida sobre un proyecto descentralizado.
¿Descentralizado o distribuido?
A pesar de las numerosas cuestiones secundarias, el punto crucial del debate de la escalabilidad se redujo a la pregunta:
“¿Cuánta descentralización es suficiente?”
El problema es que nadie sabe la respuesta a esa pregunta. La descentralización se ha convertido en un mantra tan poderoso en la comunidad de la criptomoneda que parece que el concepto se confunde un poco. Una red descentralizada es aquella que no está controlada por una sola entidad o grupo de entidades y es resistente al ataque de la misma.
Filosóficamente hablando, decenas o incluso cientos de miles de nodos serían ideales, pero eso no es realmente práctico. Dicha red sería distribuida, no descentralizada. Una red distribuida es una que es masivamente descentralizada, donde prácticamente todo el mundo ejecuta un nodo. Dados los costos de funcionamiento de un nodo, es poco probable que Bitcoin llegue a ser verdaderamente distribuido.
Al mismo tiempo, un proyecto con unas pocas docenas de nodos no puede legítimamente llamarse descentralizado y resistente a los ataques. En este momento hay poco más de 9200 nodos que sirven a la red Bitcoin. ¿Es eso suficiente para mantener el proyecto realmente descentralizado? ¿Serían 4000 nodos suficientemente buenos? ¿1000?
Antes de avanzar con discusiones sobre otras mejoras de escalabilidad como la lightning network, la comunidad necesita llegar a un consenso sobre una cuestión básica pero fundamental:
¿Cuánta descentralización es suficiente?