Escrito por: Brandon Black
Traducido por: AididiaoJP, Foresight News
En el pequeño mundo de Crypto Twitter, el debate sobre la propuesta de bifurcación suave "de reducción de datos" (conocida como BIP110) de @dathon_ohm ha sido intenso durante el último año.
El núcleo de esta propuesta es la siguiente lógica: ciertas transacciones de Bitcoin incluyen datos en sus scripts de bloqueo o desbloqueo que, además de su significado en el propio lenguaje de scripts de Bitcoin, pueden ser interpretados como información adicional por otro software. Esto es visto por sus partidarios como una violación de los principios de la red.
Creen que la simple reducción de este tipo de transacciones es suficiente para justificar lo que sería, hasta ahora, la bifurcación suave más "confiscatoria" de Bitcoin: se desplegaría mucho más rápido y con un umbral de activación más bajo que las dos últimas bifurcaciones suaves.
Bitcoin es, en esencia, un libro mayor distribuido de acceso abierto y resistente a la censura. Cualquiera puede escribir en él pagando una tarifa suficiente para convencer a los constructores de plantillas de bloques y a los mineros de que incluyan su transacción. El valor fundamental que distingue a Bitcoin de todos los demás sistemas de contabilidad es precisamente esta apertura. Sin ella, el libro mayor de Bitcoin no sería muy diferente de la pizarra de puntuación de una bolera. Y precisamente debido a este acceso abierto, todos sabemos que Bitcoin será utilizado por personas que no nos gustan.
Es como el principio de la libertad de expresión: si solo protegiera el discurso que nos gusta, no significaría nada. Lo mismo ocurre con el acceso abierto de Bitcoin: si solo permitiera las transacciones que tú y yo aprobamos, perdería su sentido. Por lo tanto, no tenemos necesidad de censurar cómo otros construyen sus entradas en el libro mayor, del mismo modo que no querríamos que otros censuraran las nuestras.
Los partidarios del BIP110 podrían argumentar: "¡Por supuesto, pero esto solo se aplica a entradas no monetarias! ¿Y las transacciones puramente monetarias?" La realidad es que no existe tal distinción clara. Cada transacción en Bitcoin crea una entrada en el libro mayor al satisfacer las condiciones de un script de bloqueo: consume UTXOs de entrada y genera nuevos UTXOs de salida.
Que el script de una transacción sea un poco más grande o más pequeño es completamente irrelevante para un operador de nodos o un usuario común. En primer lugar, a mí personalmente no me importan los detalles de las transacciones de otros, es tan ajeno a mí como lo que otra persona pide en una cafetería. En segundo lugar, los propios nodos de Bitcoin no hacen tal distinción. Las transacciones solo son válidas o inválidas, con costos de verificación más altos o más bajos (por ejemplo, transacciones multisig grandes son costosas de verificar, mientras que ciertos Ordinals o OP_RETURN son relativamente baratos).
Algunos argumentarán que Bitcoin sería un mejor activo monetario si, como el oro, no pudiera ser utilizado de "otras maneras". Imagina si el oro no pudiera usarse para joyería o aplicaciones industriales, tal vez sería un dinero más puro. Pero son precisamente las propiedades físicas que hacen del oro un buen dinero las que también lo hacen popular en joyería e industria.
Lo mismo ocurre con Bitcoin: precisamente porque permite que cualquiera escriba datos pagando una tarifa, no podemos controlar cómo otros interpretarán esos datos. No importa cuánto restrinjamos la estructura de los scripts, siempre habrá alguien que, con software externo a Bitcoin, interprete esas entradas de otra manera. Por lo tanto, al igual que con el oro, debemos aceptar que los "otros usos" son inevitables. En el mercado del oro, esto genera distorsiones de precios por la fluctuación de la demanda no monetaria; en Bitcoin, puede provocar un aumento de las tarifas cuando hay picos de demanda por espacio en los bloques.
Sin embargo, Bitcoin tiene dos ventajas sobre el oro. Primero, crear transacciones de Bitcoin que puedan ser interpretadas alternativamente no afecta directamente el mercado de Bitcoin como activo: a diferencia del oro, la cantidad de Bitcoin utilizada para estos "usos adicionales" es realmente pequeña. Segundo, el protocolo de Bitcoin fue diseñado desde el principio con mecanismos para minimizar la carga que estas "interpretaciones adicionales" suponen para la red de verificación. Limita el tamaño de los bloques y la cantidad de firmas (sigops) en las transacciones, que son precisamente las partes más costosas de verificar para los nodos.
Estas limitaciones, establecidas desde los primeros días, existen precisamente para prevenir el abuso de alto volumen y alta frecuencia del libro mayor. Son estas mismas limitaciones las que han impulsado innovaciones en capa 2 como Lightning Network, Ark, Spark, Cashu, etc. Incluso los picos de demanda por espacio en bloques debido a datos "no monetarios" han fomentado el uso de estos esquemas de escalamiento más eficientes, que pueden registrar menos contenido en la cadena principal.
Ahora que hemos aclarado la supuesta justificación del BIP110 (y es evidentemente débil), veamos qué es lo que realmente pretende cambiar.
El BIP110 limitaría el tamaño de los scripts de bloqueo, restringiría la cantidad de scripts alternativos disponibles en Taproot, invalidaría los anexos (annex) de Taproot, eliminaría todas las versiones de testigo y de Tapscript actualizables, eliminaría todos los opcodes actualizables en Tapscript, y deshabilitaría OP_IF y OP_NOTIF en Tapscript. Estas restricciones se aplicarían solo a los UTXOs creados aproximadamente durante los 52,414 bloques posteriores a la activación (alrededor de un año).
Además, el BIP110 reduciría el umbral de señalización de preparación de los mineros al 55% (las bifurcaciones suaves anteriores generalmente requerían más del 90%) e implementaría un mecanismo de activación forzosa para nodos: si no hay suficiente señalización antes del bloque 961.632, los nodos que ejecuten esta regla considerarán inválidos los bloques sin señal, forzando así el bloqueo del cambio en el bloque 963.648 y su activación en el bloque 965.664.
Esta sería la restricción más radical a los scripts de Bitcoin desde que Satoshi deshabilitó múltiples opcodes en 2010 debido a un grave bug (CVE-2010-5137). Busca impulsar este cambio con un umbral sin precedentes tan bajo, un tiempo de activación extremadamente corto (menos de 9 meses desde la numeración del BIP hasta la activación) y una revisión de código mínima, todo basado en la premisa de que alguien está interpretando entradas del libro mayor de una manera que a los partidarios no les gusta.
Lo más irónico es que quienes utilizan los datos "objetados" ya han actualizado su software y están preparados: incluso si se activa el BIP110, podrán seguir incrustando datos similares. Muchos lo predijimos de antemano, porque es simplemente imposible restringir en un libro mayor público y abierto cómo los usuarios interpretan las entradas con software externo.
En resumen, el BIP110 intenta hacer algo imposible: restringir cómo los usuarios utilizan un libro mayor de acceso abierto. Y el problema que dice resolver ya está bien manejado por las limitaciones existentes del protocolo de Bitcoin. Además, intenta impulsarlo con un calendario irresponsablemente corto, una revisión de código apresurada y sin considerar el consenso del ecosistema. Afortunadamente, Bitcoin no es un sistema tan frágil, y este intento imprudente de modificación no tendrá éxito.
Los mineros ya han rechazado claramente el BIP110, y desarrolladores, inversores, KOLs y el mundo empresarial también han alzado la voz en contra. Para agosto de este año, este "ataque" a las reglas de consenso de Bitcoin habrá terminado en fracaso, y Bitcoin saldrá fortalecido, continuando con su ritmo constante de generación de bloques: el siguiente bloque.







