¿Cuáles son los posibles votos de bits de versión?

No entiendo completamente cómo funciona la votación de bits de versión, pero estoy tratando de familiarizarme con las opciones actuales.

¿Son estos los más populares para votar en este momento?

0x20000000 = Bitcoin Unlimited?
0x20000002 = Segwit?
0x20000007 = XT?
0x30000000 = 2MB Blocks?

¿Hay una lista de ellos en un solo lugar en alguna parte?

Además, ¿es correcto decir que cada voto corresponde a un BIP específico ?

Respuestas (1)

La mayor parte de lo que preguntas no tiene nada que ver con Version Bits en realidad. :)

Comencemos desde arriba:

nVersiones un campo de cuatro bytes (32 bits) en el encabezado del bloque. El campo de versión se interpretó primero como un número entero con el bloque de génesis que presentaba la versión 1. Más tarde, la red se bifurcó para crear bloques de la versión dos. A partir de ese momento se requería que todos los bloques tuvieran un número de versión igual o mayor a dos. Expresado en binario, dos es 0010. Dado que el campo de versión es little-endian, esto significaba que en el futuro se requería que los primeros tres bits en el campo de versión tuvieran que ser 001.

BIP0009: Version Bitsintrodujo la idea de interpretar los 29 bits restantes como banderas en lugar de interpretar todo el campo como un entero. También es menos un voto, sino más bien una señal de preparación para una propuesta de bifurcación blanda. La preparación se expresa poniendo el bit respectivo a 1 en el campo de versión. (Se especifican más reglas para usar Version Bits en BIP0009 ). Por lo tanto, es posible señalar la preparación para hasta 29 propuestas de bifurcación suave al mismo tiempo. Por lo tanto, cada campo Bits de versión corresponde a la señalización de todas las bifurcaciones blandas actualmente en implementación .

De las propuestas que enumera, solo SegWit utiliza Bits de versión para la implementación: Lista de implementaciones de bits de versión . Ninguna de las otras propuestas mencionadas es una bifurcación blanda y no utilizan bits de versión para la implementación. En cambio, comunican el apoyo configurando el texto de Coinbase.

Sin embargo, en realidad no son votos. La mayoría de los mineros pueden comenzar a aplicar una nueva regla; no es necesario que la indiquen en bloques, ni siquiera que se la comenten a nadie. Lo que hace la versión bits es proporcionar una forma de señalar la preparación, de modo que se pueda encontrar un punto de transición seguro y coordinado.
Sé que tomó un tiempo, pero gracias a su ayuda pude crear una página que divide el campo nVersion en bits para mostrar las diferentes señales: learnmeabitcoin.com/browser/block/version/20000002 . Esperemos que cualquier otra persona que lea esto pueda encontrarlo útil.
Los tres bits principales de la versión 001no tienen que ver con el número 2 en binario. Simplemente significa que el byte superior tiene un valor de 32 a 63, por lo que en hexadecimal, nVersion comienza con 0x2o 0x3. De hecho, la última versión antes de BIP9 era 4. BIP9 en realidad dice que los tres bits superiores pueden ser 010o 011; estos están reservados para futuras actualizaciones. (el bit superior tiene que ser 0 ya que nVersion está firmado).