Compartir este artículo

Tras un "gran fracaso", la revisión del código de Bitcoin se pone bajo escrutinio

A raíz de una grave vulnerabilidad de código, los desarrolladores de Bitcoin se preguntan si los procesos actuales de revisión de código son suficientes para evitar más fallas.

IMG_3569

"Shock" es quizás la palabra que mejor describe el estado de ánimo desde que ONE de los errores más graves de Bitcoin fue descubierto y solucionado la semana pasada.

Mientras la comunidad se tambalea por la vulnerabilidad que fue...escondido en el código durante dos años, y eso podría haber sidoexplotado para imprimir más bitcoinsComo es de esperar que se produzcan más de 21 millones, los desarrolladores se preguntan: ¿existe alguna forma de evitar que un error tan grave se vuelva a añadir al código?

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de Crypto Long & Short hoy. Ver Todos Los Boletines

Días después del descubrimiento, no ha habido propuestas formales. Sin embargo, esto no significa que el evento no haya generado debate sobre el funcionamiento de Bitcoin y cómo se pueden identificar y resolver errores similares en la implementación de software más popular de la criptomoneda, Bitcoin CORE, en el futuro.

También es una pregunta importante: ¿qué pasaría si un atacante hubiera descubierto el exploit primero? ¿Y si ahora mismo existen otros errores ocultos en el código?

Hasta este punto, el moderador seudónimo del subreddit de Bitcoin, 'Theymos', instó a la comunidad a no olvidar el error.

Él argumentó"Fue innegablemente un gran fracaso", dijo en una publicación de amplia circulación, y agregó:

Si todas las políticas y prácticas de Bitcoin Core se mantienen iguales, es inevitable que vuelva a ocurrir un fallo similar, y puede que no tengamos tanta suerte con el resultado esta vez.

Dicho esto, se puede argumentar que Bitcoin CORE, impulsado por una red abierta de participantes globales, ahora tiene un proceso más sólido para la revisión de código que en cualquier otro momento en la historia de la tecnología.

En este momento, la implementación hamás desarrolladores que nunca Contribuyendo al código base de código abierto. Y se prueba con bastante BIT; según una estimación, las pruebas representan casi el 20 % del código base.

La culpa es de la comunidad

Aún así, los desarrolladores argumentan que se podría hacer más para garantizar que el dinero digital funcione sin problemas.

Theymos cree que una opción sería desarrollar pruebas más sofisticadas, diseñadas para localizar errores graves pero difíciles de detectar, como el de la semana pasada. "Quizás la comunidad debería esperar que todas las grandes empresas de Bitcoin asignen especialistas en pruebas cualificados a CORE", continuó, y añadió:

"Actualmente muchas empresas no aportan nada al desarrollo del CORE ".

James Hilliard, colaborador de Bitcoin CORE , enfatizó prácticamente lo mismo, sugiriendo que los desarrolladores pueden aumentar la cantidad y la calidad de las pruebas. Sin embargo, esto podría ser más fácil de decir que de hacer. Greg Maxwell, colaborador de Bitcoin CORE, coincidió en el hilo de Theymos en que las pruebas son importantes, pero la calidad y el detalle de las mismas lo son.

Dedicar más esfuerzos a las pruebas ha sido un desafío a largo plazo para nosotros, en parte porque el arte y la ciencia de las pruebas no son menos difíciles que cualquier otro aspecto de la ingeniería del sistema. Las pruebas requieren habilidades y aptitudes particulares que no todos poseen, dijo Maxwell.

Es difícil encontrar este tipo de experiencia.

"El desarrollo de Bitcoin está en gran medida limitado por la revisión de código y no hay una gran cantidad de personas que puedan hacerlo", dijo Hilliard a CoinDesk.

Sin embargo, muchos otros creen que la responsabilidad no debería recaer únicamente en los desarrolladores. Un sentimiento común fue que, como proyecto descentralizado sin líderes, mantener Bitcoin libre de errores es una responsabilidad compartida.

"Mi principal problema con gran parte de la reacción negativa es que la gente señala a desarrolladores específicos para culparlos. Todo el proyecto es abierto, no hay 'membresía' y los usuarios tienen la misma responsabilidad de auditar el código que los desarrolladores que contribuyen activamente", dijo a CoinDesk el entusiasta seudónimo de Bitcoin Shinobimonkey.

Wladimir van der Laan, mantenedor de Bitcoin CORE, compartió este sentimiento:tuiteó"Estuvo mal que se fusionara el código con errores. Sí, nos equivocamos, pero el 'nosotros' que nos equivocamos es muy amplio. Toda la comunidad se equivocó al no revisar los cambios de consenso lo suficientemente a fondo".

John Newberry, ingeniero de Chaincodeacordado. Aunque no escribió el código con errores, argumentó que, como desarrollador en el mundo de Bitcoin , también jugó un papel en el error, al no mirar con suficiente atención.

Llegó incluso a decir que el código en cuestión le había parecido extraño. Sin embargo, supuso que otros ya lo habían comprobado.

"En lugar de comprobarlo por mí mismo, confié en que personas más inteligentes y sabias que yo lo tenían todo bajo control. Di por sentado que alguien más lo había hecho", afirmó.

Múltiples núcleos de Bitcoin

Aun así, algunos argumentan que siempre existirá el riesgo de que haya errores.

Ha habido errores en Bitcoin antes y volverá a haberlos. Es solo software. No tiene nada de mágico. tuiteóSamson Mow, director de operaciones de Blockstream.

En esta línea, hay otra idea popular circulando.

Hoy en día en Bitcoin, hay un software principal de Bitcoin , Bitcoin CORE, administrado por 95 por ciento de nodos de Bitcoin . (Al menos eso es según un recuento; curiosamente, no hay forma de ver todos los nodos de Bitcoin , porque algunos nodos desean mayor Privacidad y no anuncian su existencia al resto de la red).

Una idea, entonces, es crear más implementaciones de código de Bitcoin . De esta manera, si una implementación presenta un error grave que bloquea la red, las demás podrían seguir funcionando correctamente, manteniendo Bitcoin en funcionamiento.

Y, hasta cierto punto, esto ya existe. Existen implementaciones de código menos conocidas, como Bitcoin Knots y Btcd. En el resto del mundo de las Criptomonedas , esto se está convirtiendo en la norma. Por ejemplo, Ethereum tiene dos implementaciones principales: geth y parity, ambas disponibles para cualquier persona que ejecute el software.

Aun así, muchos desarrolladores de Bitcoin se preocupan de que agregar más de una implementación podría introducir problemas que serían incluso peores que la vulnerabilidad de la semana pasada.

"Lo que mucha gente no se da cuenta es que tener personas ejecutando diferentes implementaciones facilita que los atacantes dividan la red", dijo Andrew Chow, colaborador de Bitcoin CORE. argumentóen una conversación en la que se exponen los pros y los contras.

Por ello, los desarrolladores no necesariamente están de acuerdo sobre lo que hay que hacer exactamente.

Quizás Theymos lo expresó mejor cuando dijo:

No sé exactamente cómo se puede evitar que esto vuelva a ocurrir, pero sí sé que sería un error que la comunidad ignorara este error solo porque esta vez resultó ser prácticamente inofensivo.

Escudo de metalimagen vía Shutterstock

Alyssa Hertig

Alyssa Hertig, periodista y periodista especializada en Bitcoin y la red Lightning, colabora en CoinDesk . Su trabajo también ha aparecido en VICE, Mic y Reason. Actualmente escribe un libro que explora los entresijos de la gobernanza de Bitcoin . Alyssa posee algunos BTC.

Alyssa Hertig