Derribando el «Escándalo AsicBoost» de Bitcoin: Las Soluciones

Como reveló por primera vez el desarrollador de Bitcoin Core y cofundador de Blockstream y CTO Gregory Maxwell, y posteriormente confirmado por Bitmain a través de un comunicado de prensa, el principal fabricante chino de hardware para minería ha incluido la tecnología AsicBoost en sus chips ASIC especializados.

Esto es polémico, en gran parte porque AsicBoost está patentado y, por lo tanto, puede distorsionar el ecosistema minero de Bitcoin por la regulación gubernamental. Además, el uso encubierto de AsicBoost, tal y como resulta, es en gran medida incompatible con una horquilla Segregated Witness soft fork (SegWit), la actualización de protocolo propuesta por el equipo de desarrollo de Bitcoin Core.

Aunque no está claro que Bitmain haya utilizado AsicBoost, y la compañía niega que esta sea la razón por la que bloquea SegWit, muchos creen que se necesita una respuesta.

Después de haber roto el «escándalo AsicBoost» en un artículo anterior, lo que sigue a continuación son algunas opciones para seguir adelante.

AsicBoost

En primer lugar, un breve resumen sobre la minería Bitcoin y AsicBoost. (Saltar si ya conoce los detalles.)

Los mineros de Bitcoin construyen bloques de datos. Estos bloques incluyen transacciones, algunos datos aleatorios (un «nonce») y más. Una vez construido, un minero hace un hash de su bloque, que es un truco matemático que codifica y comprime todos los datos en una cadena corta y aleatoria de números: un hash. Si este hash comienza con ceros suficientes, el bloque es válido y puede ser enviado a la red. Si no es válido, el minero tendrá que intentarlo de nuevo, por ejemplo, cambiando el nonce.

Para construir y hashar un bloque, los mineros tienen que invertir un poco de potencia de computación, por lo tanto, energía. En efecto, esto significa que cada vez que un minero encuentra un bloque válido, debe haber invertido estadísticamente mucha más energía para todos los bloques inválidos que también construyó.

Un hash válido es por lo tanto, literalmente, la prueba de que un minero hizo una cantidad específica de trabajo, por lo que este proceso se llama «prueba de trabajo». Esta prueba de trabajo es lo que hace que Bitcoin sea relativamente inmutable. La única forma en que un atacante puede reescribir la historia es tener acceso a hardware especializado e invertir energía real para rehacer todo el trabajo.

AsicBoost permite a los mineros tomar un «atajo». En lugar de hacer un hash ciego de tantas variaciones de un bloque como sea posible, AsicBoost permite a los mineros reutilizar un determinado cálculo en el proceso de hash a través de varios intentos. Esto ahorra entre un 15 y un 30 por ciento de energía.

AsicBoost puede utilizarse de dos maneras: de forma abierta y encubierta. El uso abierto sería obvio para cualquiera; se detecta fácilmente mirando los bloques que produce un minero. El uso encubierto, sin embargo, es mucho más difícil, si no imposible, de detectar. Sólo el uso encubierto es en gran medida incompatible con SegWit.

Los chips de Bitmain permiten tanto el uso abierto como el encubierto, pero la compañía ciertamente no ha utilizado AsicBoost abiertamente. Hay varios indicios de que Bitmain ha utilizado AsicBoost de forma encubierta, pero la empresa niega que lo haya hecho, y hasta ahora no ha sido probado.

Opción Uno: No hacer nada

La primera opción a la luz de las revelaciones de AsicBoost es, por supuesto, no hacer nada en absoluto.

Suponiendo que Bitmain utilice AsicBoost, o que lo utilice en el futuro, los mineros (o, más exactamente, los fabricantes de hardware para la minería) tendrán que acceder también a la patente, o competir por otros motivos. Dependiendo de cuánto beneficio adicional proporcione realmente AsicBoost (esto es algo discutido), esto podría ser viable al menos a corto plazo. Sin embargo, es mucho menos seguro que sea viable a largo plazo.

Alternativamente, la patente podría ser gratuita para el público.

Uno de los titulares de la patente, Sergio Demian Lerner, sugirió esto como una opción, aunque no parece muy interesado en hacerlo sin ninguna recompensa.

Y en su comunicado de prensa Bitmain aludía también a la liberación de la patente, la escritura:

«Si todos los equipos mineros pudieran utilizar AsicBoost, se reduciría el coste de J/GH y la tasa de hash total de la red aumentaría, lo que haría que la red Bitcoin fuera aún más fuerte. Por lo tanto, el método AsicBoost no es un’ataque encubierto’ a la función PoW de Bitcoin. Es una optimización de ingeniería».

Y:

«Sugerimos trabajar con los dueños de la patente para que la patente pueda ser usada por el público.»

Si bien esta podría ser una buena opción, cabe señalar que (contrariamente al comunicado de prensa de Bitmain) la liberación de la patente no aumentaría realmente la seguridad de Bitcoin de manera significativa.

Esto se debe a que en un paisaje minero competitivo, cualquier energía ahorrada por los mineros realmente tendría que ser reinvertida para aumentar la tasa de hash. Pero el propósito de la prueba de trabajo no es, en sí mismo, encontrar hashes válidos. Los hash son sólo números aleatorios y no proporcionan seguridad por sí mismos.

Más bien, el propósito de la prueba del trabajo es …. probar el trabajo.

Si todos los mineros utilizaran AsicBoost, la tasa de hash aumentaría, pero los mineros no invertirían más energía. En otras palabras, si todos los mineros toman el mismo «atajo», ese atajo se convierte en la «ruta principal».

Como tal, la anulación de una transacción no sería más difícil. Un atacante seguiría necesitando acceso a hardware especializado y tendría que invertir la misma cantidad de energía.

Eso no es un problema, pero tampoco beneficia a nadie.

Opción Dos: Bloqueo de AsicBoost encubierto

Por supuesto, la razón principal por la que Maxwell reveló que Bitmain está implementando AsicBoost en sus chips no fue tanto por el propio AsicBoost, sino por Segregated Witness. Más concretamente, dado que el uso encubierto de AsicBoost es en gran medida incompatible con SegWit, puede impedir que Bitmain active la horquilla blanda SegWit propuesta.

En su borrador de la Propuesta de Mejora de Bitcoin (BIP) enviada a la lista de correo de desarrollo de Bitcoin, Maxwell propuso bloquear sólo la versión encubierta de AsicBoost (o, en realidad, hacer que su uso sea significativamente más caro). Si se bloquea el uso encubierto de AsicBoost, al menos eliminaría esa razón para bloquear SegWit.

Los usuarios de Bitcoin pueden bloquear el uso encubierto de AsicBoost con una horquilla blanda activada por el usuario (UASF), lo que obliga a los mineros a elegir entre dos opciones: los mineros tendrían que activar Segregated Witness, o bien incluir algo en sus bloques que en realidad no hace nada, excepto bloquear AsicBoost.

Esto dejaría a los mineros con la opción de activar o no la opción de Testigo Segregado. Y también podrían usar la versión abierta de AsicBoost.

Como tal (y a diferencia de lo que Bitmain sugirió en su comunicado de prensa), el PBI no supondrá una pérdida para los titulares de patentes. En todo caso, ayudaría a los titulares de las patentes: garantizaría que nadie violara encubiertamente la patente. De hecho, Lerner apoya el bloqueo del uso encubierto de AsicBoost, e incluso volvió a presentar la propuesta BIP de Maxwell utilizando una terminología diferente.

Bitmain, sin embargo, no ha hecho comentarios sobre el PBI hasta ahora, y todavía no está claro si la empresa lo apoyará. (Por supuesto, si la empresa no está usando AsicBoost de forma encubierta, tendría pocas razones para oponerse a la propuesta.)

Alternativamente, AsicBoost puede bloquearse adoptando la última iteración de Extension Blocks, una solución alternativa de escalado propuesta por el equipo de desarrollo de Bcoin.

Como otra opción, el desarrollador de Bitcoin Jimmy Song sugirió que en lugar de hacer imposible el uso encubierto de AsicBoost, tal vez debería incentivarse el uso abierto. Este incentivo adicional podría combinarse con Segregated Witness, que podría dar a los mineros una razón más para activar la horquilla blanda.

Opción tres: Bloqueo de todo AsicBoost

Para algunos, sin embargo, bloquear la versión encubierta de AsicBoost por sí sola no es suficiente.

Dado que AsicBoost está patentado y que las patentes son impuestas por el Estado, la preocupación es que esto podría llevar a una situación en la que la minería se convierta en semipermiso: la explotación minera requeriría de manera rentable el permiso de los titulares de las patentes y del Estado o los Estados que las aplican. Esto, a su vez, podría conducir a un ecosistema minero más centralizado, y quizás incluso regulado.

Los desarrolladores de Bitcoin Core, Peter Todd y Matt Corallo, por ejemplo, han sugerido que el protocolo de Bitcoin debería cambiarse para hacer que AsicBoost sea totalmente irrelevante.

Por supuesto, esto se puede hacer con un tenedor duro; la idea inicial era agruparlo con un tenedor duro que formaba parte del Consenso de la Mesa Redonda de Bitcoin (más conocido como el «Acuerdo de Hong Kong»). Sin embargo, dado que las propuestas iniciales que se derivan de este acuerdo no han logrado un consenso hasta la fecha, esta opción parece estar fuera de discusión por el momento. Alternativamente, AsicBoost puede ser bifurcado suavemente fuera del protocolo actual.

Pero tal vez no es sorprendente que a los titulares de las patentes no les gusten estas opciones, mientras que otros temen que cambiar el protocolo en respuesta a lo que consideran una optimización desincentivaría la innovación futura. Bloquear todo AsicBoost, por lo tanto, todavía parece una posibilidad remota por ahora.

Opción Cuatro: Prueba de cambio de trabajo

Por último, está la «opción nuclear».

En un ecosistema en el que un grupo relativamente pequeño de personas ha llegado a controlar una parte relativamente grande de todo el poder de hash de la red Bitcoin, y en el que los motivos relacionados con AsicBoost o los motivos «políticos» parecen haber desempeñado un papel en el bloqueo de Segregated Witness, algunos -como el seudónimo «tipo de la praxeología»- proponen que la mejor manera de avanzar es cambiar por completo el algoritmo de pruebas de trabajo. Esto haría que todo el hardware minero existente fuera inútil y «reajustaría» el paisaje minero a un lugar donde puedan participar usuarios más habituales, a la vez que desactivaría AsicBoost al mismo tiempo.

Sin embargo, cambiar el algoritmo de prueba de trabajo de Bitcoin es muy controvertido, en gran parte porque castiga a todos los mineros actuales. Y en cuanto a cualquier tenedor duro, se requeriría que todos cambiaran a un nuevo protocolo. No es una tarea fácil, especialmente dada su naturaleza polémica.

Este artículo ha sido actualizado para mayor precisión.


Leer más sobre:

Deja un comentario