Let’s fork’em all!!

La primera vez que escuché hablar del asunto de la limitación del tamaño del bloque, me pareció una nimiedad. Recuerdo incluso haber pensado que si estaban hablando de eso, era porque había que rellenar páginas y páginas de medios. No pensaba que llegase a ser uno de los primeros cismas a los que se enfrentaría la “bitcoinomía” en su historia. Cisma serio, de los que amenazan con una solución bíblica cual plaga o salomónica cual despiece –a espada– del niño en disputa.

poseidonNo llegué a imaginar esto, porque mi postura frente al tema fue algo que adquirí con rapidez. No sé si por buena visión de los argumentos mostrados y de la historia previa del asunto o por alguna otra razón. Me explico. A lo mejor estoy viendo algo mal o hay algo que no veo, y por más que miro no consigo ver.

El límite del bloque de transacciones actual en Bitcoin es de 1MB, y eso representa un cuello de botella que afectará –obviamente– al desarrollo y crecimiento de Bitcoin, y no digamos de su posible adopción masiva. Nadie querría estar en manos de una moneda, vendida como instrumento liberador, que no puede transferir valor sin horas de espera, buena suerte y tarifas que rivalizan con las que se imponen al dinero fiat.

Ese cuello de botella, en el que un volumen creciente de transacciones nos ha colocado, se instauró de forma temporal para evitar posibles malos usos a nivel de spam. No es un dogma. Nadie quiso que fuera un dogma y fue una simple solución temporal que –de salir bien el desarrollo de la moneda– debía ser eliminado en el futuro por el mismo motivo: es un impedimento directo al crecimiento de la moneda. Y si queremos que Bitcoin pueda ser usado por una globalidad de personas en el planeta, es necesario retirar ese límite de 1MB y ponerlo en otro punto, más grande por necesidad.

La cosa es así de simple. Tenemos muchas transacciones y no damos abasto: o subimos el tamaño del bloque o aumentamos el número de bloques por hora (mucho menos factible que cambiar el tamaño, por no decir imposible).

forkLos pros en este asunto están muy claros: permitir el crecimiento de la moneda sin limitarlo al admitir un volumen de transacciones más adecuado al momento actual. ¿Y los contras? Pues la verdad que no lo tengo nada claro, si soy sincero. Como argumentos en contra del aumento del tamaño, he podido ver que eso implicará un mayor requerimiento de memoria y ancho de banda para verificación y transmisión –lo cual es obvio– y que eso repercutirá negativamente en los mineros y otros dueños de nodos completos, que al encontrarse con una actividad más cara pueden dejar de estar interesados, y eso repercutir en el mantenimiento de la red haciendo “plausible” un ataque tipo 51%.

Mi pregunta, si enfrento ambos argumentos, es quién estará interesado en organizar un ataque del 51% contra una red que sostiene a una moneda ahogándose en las malas elecciones de su comunidad de usuarios, como podría ser ese inmovilismo en el asunto del tamaño del bloque. Si de por sí un ataque del 51% es una “posibilidad teórica” a tener en cuenta, no es que parezca probable que exista ese escenario. ¿A quién beneficiaría y qué recursos económicos habría que invertir a día de hoy para intentar siquiera semejante asalto? ¿Lo haría alguien para ganar un animal moribundo como sería el Bitcoin con esa limitación?

Las posturas a favor y en contra en la arena pública están representadas por gente como Gavin Andresen o Roger Ver en un lado (a favor de una subida, en principio, a 20MB para dicha limitación) y desarrolladores como Gregory Maxwell y exchanges chinos como BTCChina y Huobi, que se muestran contrarios a dicha subida.

A pesar de las reticencias mostradas, ambos exchanges reconocen que existe un cuello de botella que debe ser evitado pero ponen pegas al valor escogido, proponiendo soluciones más temporales todavía que la de los 20MB –que no sería eterna, pero resolvería el problema unos cuantos largos años–. Es decir, llega el cambio para no morir asfixiado y todos lo saben. ¿Pero por qué tanta reticencia a dar un paso que no parece traer consigo especiales dificultades y es entendido por todos? Tal vez Gavin Andresen haya sido demasiado audaz al lanzar su propuesta, pero alguien tenía que hacerlo y no es un número elegido al azar. Se escuchan cosas como una limitación intermedia a 10MB (una solución a medio camino) o como buscar una que simplemente cubra el próximo año “mientras lo discutimos”. Otros proponen diversos mecanismos para que el aumento sea automático y no haya que debatir nunca más la cuestión.

Fork-in-RoadPor inteligencia, suelo ser amigo del consenso. Es cierto que hace todo más fluido, cuando se puede alcanzar con facilidad, y no imposibilita sino que ayuda a que existan futuros acuerdos porque existe un “bien común” por el que acordar las cosas, como en este caso es Bitcoin en su estado actual. Es cierto que la opción de 10MB en este caso, no es lo peor del mundo y no acabo de ver claras las razones para que esa diferencia pueda hacer que no se llegue a un acuerdo por interés común. Acuerdo, consenso, sí. ¿Pero qué pasará si tengo que tomar partido? No hacer nada en esta situación equivale a tomar una postura con la que no estoy de acuerdo. ¿Qué ocurre si llegamos al punto del cisma?

Nunca he creído en un Bitcoin democrático. No quiero un Bitcoin que se rija mediante la masa, sino mediante las opciones más brillantes aunque no puedan ser distinguidas por todos. Bitcoin me parece una herramienta inteligente, creada por una mente inteligente para otras mentes inteligentes. Y la inteligencia –con grado de brillantez– no suele ser una cualidad de la masa y por ende de la democracia entendida de esa forma, en la que todo “vale igual” y se confunden opiniones con argumentos.

Espero que este asunto llegue a una “resolución amistosa” entre todos los interesados. Amistosa e inteligente, porque si no va a servir de poco. Pero si llegado el momento tengo que elegir entre “mamá” y “papá”, elijo aumentar el tamaño del bloque ya y la opción defendida por quien por algo es el desarrollador que Satoshi Nakamoto eligió para ocupar su lugar. Entiendo que dicha opción no trae consigo ningún impedimento técnico-informático y que, a pesar de ser un riesgo como cualquier cambio, no es mayor riesgo que el escenario de inmovilismo.

Si al final esto se reduce a elegir entre dos modelos de Bitcoin, y son el Bitcoin como está a día de hoy –Bitcoin Core– o el Bitcoin con la implementación de Andresen –Bitcoin Xt–, me temo que mi elección está ya tomada.

¡¡Que les forken –hard– a todos!!