- OroyFinanzas.com - https://www.oroyfinanzas.com -

Gavin Andresen y la re-descentralización en el desarrollo de Bitcoin (Core, XT, Unlimited, Classic)

(OroyFinanzas.com) – El lanzamiento de Bitcoin Classic [1], el nuevo hard fork de Bitcoin [2] que propone aumentar el tamaño de los bloques a 2MB, ha vuelto a intensificar el largo debate [3] que viene acompañando a la industria Bitcoin desde hace algún tiempo. El hecho de que Gavin Andresen, anterior lead developer [4] del Bitcoin Core [5], participe en su desarrollo, no pasa desapercibido a nadie del ecosistema, y él lo sabe mejor que nadie. Por ello, resulta tremendamente revelador entender las razones por las que Andresen ha apostado por Bitcoin XT [6], Bitcoin Classic o Bitcoin Unlimited, sin abandonar su participación en Bitcoin Core, por las implicaciones que tiene para el futuro de Bitcoin y que podría resumirse, como él mismo argumenta, en que la madurez actual de Bitcoin permite que se avance en el proceso natural de la especialización en su desarrollo, como estrategia para evitar los únicos puntos de fallo. ¿Otra vuelta de tuerca más a la descentralización de Bitcoin, ahora en sus equipos de programadores?: la re-descentralización en el desarrollo de Bitcoin.

Gavin Andresen y su historia en Bitcoin

Antes de adentrarnos en el texto de Andresen, conviene recordar que su participación en el desarrollo de Bitcoin se remonta a mediados de 2010 y fué Satoshi Nakamoto [9] el que le encomendó la tarea de liderar el desarrollo del código fuente de Bitcoin, como él mismo explicó en la primera conferencia mundial de Bitcoin:

“En diciembre de 2010 Satoshi había empezado a distanciarse del proyecto. Lo hizo de un modo interesante: me envió un email solicitándome autorización para añadir mi dirección de email en la página bitcoin.org, así la gente podría contactarse conmigo. Yo le respondí “claro, por supuesto, puedes poner mi dirección de email; no hay problema”. Así que lo hizo, pero al mismo tiempo borró del sitio su propia dirección de email [risas del público], cosa que yo no esparaba. Creo que fue su modo de decir… de empujarme… En Abril de 2011 recibí su último email”.

Desde aquel momento, Andresen fue el lead developer del Bitcoin Core, puesto que, por propia iniciativa, abandonó exactamente tres años más tarde [10], en abril 2014. En aquel momento aseguró [11]: “Estoy contento de poder centrarme más en aspectos a nivel de protocolo [12], cuestiones transversales y menos en temas específicos del software del Bitcoin Core”.

En agosto 2015, Andresen desarrolló junto a Mike Hearn, el Bitcoin XT. A pesar de que actualmente el 9,7% de los nodos de la red Bitcoin tiene instalado este software, el fork no se ha efectuado, al llegar a la fecha señalada sin alcanzar la cantidad de nodos requeridos (75%). Sin embargo, parece que XT está condenado a desaparecer, ya que, Mike Hearn abandonó el proyecto hace unos meses para trabajar con R3 [13], y Andresen, parece que también ha pasado página en este proyecto.

En enero 2016 anuncia su participación en Bitcoin Classic y adelanta que participará en Bitcoin Unlimited y en Bitcoin Core, a la vez que deja la puerta abierta a “otros proyectos de código abierto [14]” que puedan nacer en el futuro.

Desarrollo de Bitcoin con una visión general del ecosistema

“Cuando era el desarrollador principal del Core tenía tres prioridades: 1) Mantener el sistema seguro, 2) Mantener la red para el procesamiento de transacciones de forma fiable, y 3) Eliminar los puntos únicos de fallo. Esas son todavía mis prioridades, pero trato de tener una visión más general, mirando a todo el ecosistema Bitcoin en lugar de sólo centrarme en la implementación del software del Core. Así que si estas son mis propridades, ¿en qué trabajo ahora?”.

Tras asegurar que el protocolo Bitcoin está “haciéndolo muy bien desde el punto de vista de seguridad”, y que aún sigue pendiente de “evitar errores en la evolución del protocolo”, Andresen explica que tiene preocupación “por la fiabilidad de la red en el corto plazo”, razón por la que ha hecho hincapié en el límite del tamaño de los bloques, y por lo que está apoyando alternativas al Bitcoin Core. “A largo plazo, creo que todo saldrá bien, pase lo que pase con el límite de los bloques”, afirma.

Y continúa: “Ingenieros inteligentes encontrarán maneras de trabajar alrededor del límite, ya sea ‘extension blocks’ (o bloques extendidos) [15] o lightning network [16] o una cadena lateral (sidechain) [17] a la que todo el mundo mueve sus monedas… realmente no importa. Yo preferiría una buena solución, simple, limpia, pero soy lo suficientemente viejo como para saber que la mayoría de las grandes tecnologías del mundo se construyen en la parte superior de horripilantes montones de legado inútil, y funcionan muy bien casi todo el tiempo. Y Bitcoin sobrevivirá sin una solución a corto plazo, pero la adopción y el crecimiento podrían retrasarse en uno o dos años”.

La re-descentralización del desarrollo Bitcoin: Bitcoin Core, XT, Classic, Unlimited

Precisamente, son, según él, los “problemas de escala a corto plazo” los que le llevan a la que ha descrito al principio como su tercera prioridad: eliminar los puntos únicos de fallo: “También conocido como “descentralizar todas las cosas” / “la diversidad es buena” / “la competencia es buena””.

Para ello, Andresen asegura que, teniendo los recursos para ello, una buena estrategia para eliminar puntos únicos de fallo es “probar paralelamente diferentes soluciones para resolver un problema”, con ello, “incrementas las posibilidades de éxito, porque sólo fallarías en resolver el problema, si todas las soluciones fallasen (…) Hace seis años el ecosistema Bitcoin no tenía los recursos para soportar múltiples equipos de desarrollo, algo que, sin duda, ahora sí tiene”.

“La especialización es algo natural según las tecnologías van madurando (…) Estoy haciendo lo que puedo para acelerar este proceso natural para Bitcoin”.

“Voy a estar contribuyendo con mi consejo y experiencia (y con la revisión de código y desarrollo de código [18]) con Bitcoin Classic y Bitcoin Unlimited y Bitcoin Core y tal vez otros proyectos de código abierto que nazcan. Espero que todos sean exitosos, y averiguar en qué parte del ecosistema Bitcoin deben especializarse – quizás Bitcoin Classic será la distribución preferida para los mineros y Bitcoin Unlimited se centrarán en funcionalidad para los usuarios finales. Quizás Bitcoin Core decida centrarse en mejoras a largo plazo en el nivel de protocolo principal”.

“O tal vez se especializarán en tener culturas de desarrollo diferentes o procesos para la toma de decisiones. Si eso suena descabellado, os animo a profundizar en cómo las diferentes distribuciones de Linux se diferencian en las prioridades, la toma de decisiones, la cultura, etc. La diversidad es buena”.

Satoshi Nakamoto y el consenso en Bitcoin

A modo de conclusión, Andresen cita a Satoshi: “¿Y si las diversas implementaciones no pueden ponerse de acuerdo en algo que todos tienen que hacer igual? (…) ¿quién va a tomar la decisión final sobre cuáles son las reglas de consenso en Bitcoin?”, se pregunta Andresen.

“Satoshi respondió a esa pregunta en las últimas frases de su libro blanco: “Los nodos [19] pueden salir y unirse a la red a voluntad, aceptando la cadena de prueba de trabajo (proof-of-work) como prueba de lo sucedido durante su ausencia. Ellos votan con su potencia CPU [20], expresando su aceptación de los bloques válidos trabajando en su ampliación y rechazando los bloques no válidos al negarse a trabajar en ellos. Cualquier regla necesaria y los incentivos se pueden hacer cumplir con este mecanismo de consenso””.

© OroyFinanzas.com