Saltar al contenido
buybitcoinsmart

Glosario / Protocolo y actualizaciones

Propuesta de mejora de Bitcoin

También se conoce como BIP.

¿Qué es una propuesta de mejora de Bitcoin?
Una propuesta de mejora de Bitcoin es un documento de diseño numerado que describe un cambio en bitcoin o un estándar para que lo sigan las billeteras, sin ninguna autoridad para imponerlo.

Se especifica en el BIP-2.

Los BIP son la forma en que bitcoin deja las cosas por escrito. Cualquiera puede presentar uno, un editor le asigna el número, y el repositorio contiene hoy varios cientos, en estados que van de Draft (borrador) a Final y a Withdrawn (retirado). Los números se cuelan en productos que usted usa: las 12 palabras que generó su billetera son BIP39, y la dirección que derivó salió de BIP84 o de BIP86.

Cómo funciona

El proceso de los BIP es un sistema de archivo y no un órgano de gobierno.

Se tomó prestado de Python. Amir Taaki escribió BIP-1 en 2011, siguiendo el modelo de las propuestas de mejora de ese proyecto, y Luke Dashjr lo reemplazó por BIP-2 en 2016 para precisar las definiciones de lo que significa cada estado y de las pruebas que hacen falta para avanzar. El recorrido no tiene nada de vistoso: plantear la idea en público, asimilar las críticas, abrir un pull request en el repositorio bitcoin/bips y esperar a que un editor revise el formato y asigne un número.

Las propuestas son de tres tipos. Los documentos Standards Track (vía de estándares) cubren todo lo que afecta a cómo interopera el software, desde las reglas de consenso hasta los formatos de dirección. Los documentos Informational (informativos) recogen un diseño o una convención sin pedir a nadie que haga nada. Los documentos Process (de proceso) describen el propio proceso. Cada uno lleva un estado, que avanza por Draft y Proposed (propuesto) hacia Final o Active (activo), y muchos terminan, en cambio, en Withdrawn, Rejected (rechazado) o Replaced (reemplazado).

Lo que el número no confiere es autoridad. Un BIP asignado es una anotación en un índice, no una aprobación, y de todos modos no existe ningún órgano que pudiera aprobarlo. La adopción ocurre por separado y de forma voluntaria: alguien escribe el código, los revisores lo desmenuzan, una implementación lo distribuye y los usuarios eligen ejecutar esa versión. Muchísimos cambios en Bitcoin Core no tienen ningún BIP, y muchísimos BIP no los ha implementado nunca nadie.

Por qué importa cuando compra bitcoin

Los números de BIP aparecen en los menús de las billeteras, y elegir el equivocado es una forma habitual de llegar a la conclusión de que sus monedas han desaparecido.

El ejemplo que hace tropezar a la gente es la recuperación con la frase semilla. BIP39 estandarizó la lista de palabras, de 2048 elementos, y la regla para convertir 12 o 24 de ellas en una clave maestra, y por eso una frase que se anotó con una marca puede introducirse en otra. Lo que BIP39 no estandariza es dónde busca la billetera sus monedas. BIP44 deriva direcciones heredadas (legacy) que empiezan por 1, BIP49 deriva direcciones SegWit anidadas que empiezan por 3, BIP84 deriva direcciones SegWit nativas que empiezan por bc1q y BIP86 deriva direcciones Taproot que empiezan por bc1p. Si restaura una frase en un software que usa por defecto otra ruta, el saldo marca cero mientras las monedas siguen intactas bajo la ruta que usted usó realmente. Anote la ruta de derivación en la misma tarjeta que su respaldo y el problema no se presenta nunca.

Con los formatos de dirección ocurre lo mismo en la práctica. Bech32 salió de BIP173 y bech32m de BIP350, y la compatibilidad llegó en momentos distintos en todo el sector, lo que explica que algunas plataformas no pudieran enviar a una dirección bc1p durante un largo período después de que se activara Taproot. Antes de un retiro grande, envíe primero un monto pequeño y compruebe que se acepta el formato de destino. Las transacciones atascadas también tienen su número: el aumento de comisión mediante replace-by-fee se especificó en BIP125, y una billetera que lo implementa le evita quedarse esperando por culpa de una estimación de comisión hecha en mal momento.

Trate el número como una etiqueta, no como una garantía. BIP70, el protocolo de pago, lo implementaron BitPay y Coinbase, y parecía el futuro de los pagos a comerciantes; Bitcoin Core lo marcó como obsoleto en la versión 0.19 y lo eliminó en la 0.20, y hoy no lo usa nada. Un BIP deja constancia de que alguien pensó con cuidado. Si alguien sigue ejecutándolo es otra pregunta que vale la pena hacerse.

De BIP340 al bloque 709.632: cómo una propuesta se convierte en regla

Taproot es la ilustración más clara de todo el recorrido, porque cada una de sus etapas tiene fecha.

El diseño se publicó como tres documentos interrelacionados, BIP340 para las firmas Schnorr, BIP341 para el tipo de salida Taproot y BIP342 para las nuevas reglas de script, escritos por Pieter Wuille con Jonas Nick, Tim Ruffing y Anthony Towns. Se integraron en el repositorio en enero de 2020, tras aproximadamente dos años de debate público. La integración no cambió nada en bitcoin: significó que los documentos tenían número.

La implementación y la revisión llevaron después la mayor parte de un año, y la discusión sobre cómo activar las reglas, varios meses más, con dos mecanismos rivales sobre la mesa. La solución intermedia, conocida como Speedy Trial, llegó en Bitcoin Core 0.21.1 en mayo de 2021. Los mineros señalizaron que estaban preparados durante una ventana definida, el despliegue quedó fijado el 12 de junio de 2021 y las reglas pasaron a ser exigibles en el bloque 709.632, el 14 de noviembre de 2021. Son aproximadamente 22 meses desde un documento numerado hasta una regla en vigor, y el documento no hizo nada de ese trabajo: lo hicieron los operadores de nodos que ejecutaban el código.

Propuesta de mejora de Bitcoin frente a reglas de consenso

Una propuesta de mejora de Bitcoin es papeleo; las reglas de consenso son lo que los nodos hacen cumplir realmente. Las dos solo coinciden cuando una propuesta se ha implementado y adoptado, y la brecha en cada sentido es instructiva. BIP70 tiene número y no hace cumplir nada en ninguna parte. El límite de 21 millones no tiene ningún BIP, porque es anterior al proceso y vive únicamente en el código. Cuando quiera saber qué hace bitcoin, lea el software o las reglas que hace cumplir; cuando quiera saber qué propuso alguien, lea el BIP.

Propuesta de mejora de Bitcoin frente a bifurcación blanda

Una propuesta de mejora de Bitcoin es un documento; una bifurcación blanda (soft fork) es un evento de despliegue que restringe las reglas que todos siguen. La mayoría de los BIP no son bifurcaciones de ningún tipo: BIP39 nunca tocó el protocolo, ni tampoco el esquema de URI de BIP21 que permite que un enlace de pago abra su billetera. Cuando sí se produce una bifurcación blanda, suelen hacer falta varios BIP para describirla, más otro para el propio mecanismo de activación, ya que BIP9 y BIP8 existen solo para definir cómo funciona la señalización. Confundir ambas cosas lleva a la gente a decir que bitcoin cambió cuando se publicó una propuesta, algo que normalmente se adelanta años y, a veces, es falso para siempre.

No confundir con

Preguntas frecuentes

¿Necesito conocer los números de BIP para comprar bitcoin?

No, pero conviene reconocer dos. BIP39 es el estándar de frase semilla del que proceden las palabras que usted anotó como respaldo, y BIP84 o BIP86 es la opción que decide qué tipo de dirección deriva su billetera.

¿Significa un número de BIP que un cambio es oficial?

No. Un número es una anotación en un índice, asignada por un editor, no una aprobación. Una propuesta solo se hace realidad cuando se implementa, se distribuye y la ejecutan los operadores de nodos, y muchos BIP numerados nunca llegan tan lejos.

¿Por qué mi frase semilla muestra un saldo cero en otra billetera?

Casi siempre porque la nueva billetera está derivando otro tipo de dirección. BIP39 estandariza las palabras, no la ruta de derivación, así que pruebe BIP44, BIP49, BIP84 y BIP86 antes de dar nada por perdido.

Para seguir leyendo

Términos relacionados

Más en la sección Protocolo y actualizaciones

Leer esta página en inglés