BIP91: La activación de SegWit "Kludge" que debería mantener Bitcoin entero

Bloque a bloque avanza la activación del segwit BIP141. Todo va muy rápido. (Junio 2019).

Anonim

El debate de escalamiento de larga duración de Bitcoin parecía encaminarse hacia un clímax últimamente, con dos propuestas ganando una gran tracción. En un extremo de la valla se encuentra la Propuesta de Mejora de Bitcoin 148 (BIP148), una bifurcación activada por el usuario (UASF) originalmente propuesta por el desarrollador seudónimo "shaolinfry". "Por otro lado, está SegWit2x, un acuerdo forjado entre un número significativo de empresas Bitcoin y mineros.

La buena noticia es que ambas propuestas tienen una solución a corto plazo en común: ambas planean activar Testigo segregado (SegWit) este verano. La mala noticia es que el método de activación de los dos ha sido diferente, lo que podría conducir a una división de monedas.

A partir de hoy, parece que se evitará este cisma, al menos inicialmente. El equipo de desarrollo de SegWit2x planea implementar BIP91, una propuesta del ingeniero de garantía de Bitmain James Hilliard que inteligentemente hace que los dos métodos de activación en conflicto sean compatibles.

He aquí cómo.

BIP141

La implementación actual de Testigo segregado está definida por BIP141. Esta versión está incluida en las últimas versiones de Bitcoin Core y se implementa ampliamente en la red de Bitcoin. BIP141 se activa a través del método de activación definido por BIP9. Esto significa que el 95 por ciento de todos los bloques dentro de un período de dos semanas deben incluir un dato: "bit 1". Esto indica que un minero está listo para la actualización. Como tal, SegWit se activará si la gran mayoría de los mineros están listos para ello.

O esa era la intención. Hasta ahora, solo un 30 por ciento de la potencia de hash es señal de soporte para la actualización. Existe una gran cantidad de especulaciones sobre por qué este es el caso, pero es casi seguro que no tiene nada que ver con la falta de preparación.

Es por eso que se están considerando cada vez más otros métodos de activación.

BIP148

BIP148 es una horquilla suave activada por el usuario (UASF), diseñada específicamente para disparar BIP141.

El 1 de agosto, cualquiera que ejecute el software Bitcoin que implementó BIP148 comenzará a rechazar todos los bloques que no incluyan el bit 1, los datos de señalización de SegWit.

Esto significa que si la mayoría de los mineros (con hash power) ejecuta este software, rechazarán todos los bloques de la minoría de mineros que no lo haga. Como resultado, esta mayoría de mineros siempre tendrá la cadena más larga válida de acuerdo con todos los nodos de Bitcoin en la red. En consecuencia, todos los nodos implementados BIP141 verán una cadena que incluye más del 95 por ciento de los bloques de bit 1, lo que significa que SegWit se activará en la red.

Sin embargo, si BIP148 no es compatible con la mayoría de los mineros (por potencia de hash), la cadena de bloques de Bitcoin podría dividirse en dos. En ese caso, efectivamente habría dos tipos de Bitcoin, donde uno activó BIP148 y el otro no. Esto puede resolverse con el tiempo, o puede que no.

SegWit2x

SegWit2x (también conocido como "SegWit2MB" o "Acuerdo de Silbert"), es el acuerdo de escala alcanzado por un número de empresas de Bitcoin y más del 80 por ciento de los mineros (por potencia de hash), redactado justo antes la conferencia Consensus 2017.

Durante algún tiempo, los detalles que rodearon a SegWit2x no fueron muy específicos. Como su nombre indica, todo lo que realmente se sabía era que SegWit estaba incluido en el acuerdo, y que incluía un hard fork para duplicar el "tamaño del bloque base" de Bitcoin a dos megabytes.

Y, por supuesto, SegWit estaba destinado a ser implementado usando un método de activación diferente. Al igual que la propuesta original de BIP141, SegWit2x debía ser activado por los mineros a través de la potencia de hash. Pero cuando BIP141 requiere 95 por ciento de soporte de potencia hash, SegWit2x solo requeriría 80 por ciento. Además, la disponibilidad de SegWit2x se señalizaría utilizando otra pieza de datos de activación: "bit 4" en lugar de "bit 1."

Esto hace que SegWit2x sea en gran medida incompatible con BIP141, y especialmente con BIP148: diferentes nodos buscarían diferentes bits de activación, lo que significa que podrían activar SegWit en diferentes circunstancias y en momentos diferentes; y eso arruinaría la política de retransmisión de bloque específica de SegWit entre los nodos, lo que podría dañar la red.

BIP91

Ahora, parece que BIP91 ha proporcionado la solución.

BIP91 es una propuesta de Bitmain Warranty (que no debe confundirse con Bitmain), el ingeniero James Hilliard, que fue específicamente diseñado para evitar una división de monedas al hacer que SegWit2x y BIP148 sean compatibles.

La propuesta se asemeja a BIP148 en cierta medida. Tras la activación de BIP91, todos los nodos BIP91 rechazarán cualquier bloque que no señale soporte para SegWit a través del bit 1. Como tal, si la mayoría de los mineros (por potencia de hash) ejecutan BIP91, la cadena Bitcoin válida más larga consistirá en señalización SegWit bloquea solo , y todos los nodos BW141 SegWit normales activarán la actualización del protocolo.

Donde BIP91 difiere de BIP148 es que no tiene una fecha de activación establecida, sino que se desencadena por la potencia de hash. Los nodos BIP91 rechazarán cualquier bloque de señalización que no sea de SegWit si, y solo si, el 80 por ciento de los bloques primero indican dentro de dos días, eso es lo que harán.

Esta indicación se realiza con el bit 4. Como tal, el Acuerdo de Silbert se puede mantener técnicamente - 80% de activación de potencia hash con el bit 4 - mientras que al mismo tiempo se activa la propuesta de SegWit existente. Y si esto se hace antes del 1 de agosto, es también compatible con BIP148, ya que los nodos BIP148 rechazarían los bloques que no son de bit 1 de la misma manera.

Esta propuesta le da a los mineros un poco más de seis semanas para evitar una división de monedas, bajo sus propios términos acordados. Con una fecha de lanzamiento SegWit2x planificada para el 21 de julio, eso no debería ser un problema … suponiendo que los mineros realmente cumplan.