lunes, agosto 2, 2021
bloque ₿: 693.824
lunes, agosto 2, 2021 | bloque ₿: 693.824

¿Qué es una BIP de Bitcoin?

El estándar de «propuesta para mejorar Bitcoin», más conocido como BIP, busca sistematizar el desarrollo comunitario de la criptomoneda. Hace más de una década atrás que el libro blanco de Bitcoin fue publicado, dando a conocer el que sería el protocolo del criptoactivo más importante del mercado. Desde aquel entonces hasta el día de hoy, la comunidad de Bitcoin ha ido creciendo y su protocolo ha ido mutando en base a las necesidades de los usuarios.

Con el objetivo de mejorar el rendimiento e incorporar nuevas funciones al ecosistema, los usuarios de Bitcoin han ido introduciendo progresivamente algunos cambios en el código base de la red, en el procedimiento de su desarrollo y en la información manejada por los participantes.

Estas alteraciones del protocolo han tenido que gozar de un previo consenso entre los miembros de la comunidad, quienes son los que tiene la última palabra para cambiar el destino de Bitcoin. Tras la búsqueda de sistematizar el desarrollo comunitario de la criptomoneda, se creó el estándar de «Propuesta de mejora de Bitcoin», o mejor conocido como BIP.

CriptoNoticias explorará cuáles son las facultades de las BIP, así como profundizará en cómo se puede proponer un BIP y cómo estas propuestas reciben el visto bueno de la comunidad. ¡Acompáñenos!

¿Qué es una propuesta de mejora de Bitcoin (BIP)?

Las siglas BIP hacen referencia a la frase en inglés «Bitcoin Improvement Proposal«, que en español se traduce como «propuesta de mejora de Bitcoin». Ya con esta introducción podemos suponer que las BIP son generalmente ideas presentadas ante la comunidad con el objetivo de mejorar o perfeccionar el funcionamiento de la red.

A nivel más técnico: BIP es un tipo de estándar, el cual permite a los usuarios proponer cambios en el protocolo de Bitcoin o en sus datos de forma ordenada. De esta manera, cada BIP presentado es un documento donde se realiza una especificación técnica de los cambios a introducir en la estructura de Bitcoin, así como su justificación y motivaciones. Dichas propuestas son revisadas por la comunidad, quienes pueden colaborar en su desarrollo y decidir si dicho cambio es aprobado o no.

Las BIP pueden incluir cambios críticos en el consenso, como lo es cualquier actualización de protocolo que genere bifurcaciones suaves y duras en la cadena de bloques. Es decir, cualquier cambio en el código de la red que amerite la actualización de los nodos de forma coordinada o cuya adopción pueda ser optativa. Estas propuestas dependen de la votación de los mineros para su integración en el código base de Bitcoin. No obstante, también existen mecanismos como el «soft fork activado por usuarios» (UASF) que permiten a los nodos completos incorporar una actualización sin acompañamiento de los mineros.

Cuando se introduce una BIP en el código central de Bitcoin, los nodos de la red tienen que llevar a cabo una bifurcación suave para actualizarse a la nueva versión del protocolo. Fuente: CriptoNoticias.

No obstante, por medio de una BIP también se pueden introducir cambios de implementación de software que no afectan directamente al protocolo, como es el caso de la introducción de nuevos formatos para las semillas de respaldo o actualizaciones en la interfaz de los usuarios.

¿Quién creó los BIP?

Amir Taaki es un reconocido desarrollador de criptografia originario de Reino Unido, quién se involucró desde muy temprano en la conformación de Bitcoin. Fuente: Mitch Altman.

La primera BIP de Bitcoin fue presentado en agosto del 2011 por el desarrollador de criptografía y creador de la implementación Libbitcoin, Amir Taaki. La propuesta, archivada bajo el número BIP 0001, fue creada para describir qué es una BIP y cómo los usuarios pueden hacer sus propias propuestas para cambiar el funcionamiento de Bitcoin.

Taaki creó a BIP a semejanza de un estándar para introducir mejoras en el lenguaje de programación Python, conocido como Python Enhancement Proposal 0 (PEP 0). Según las investigaciones del desarrollador de criptografía, las BIP ayudarían al proceso de desarrollo de Bitcoin al hacerlo más estructurado y responsable.

Tipos de BIP de Bitcoin

Tal y como hemos mencionado anteriormente, por medio de una propuesta de mejora los usuarios y desarrolladores de Bitcoin pueden introducir una gran variedad de cambios en la estructura e información de la red. Debido a la diversidad de estas propuestas, se conoce tres tipos distintos de BIP que pueden ser presentados ante la comunidad.

BIP de seguimiento de estándares

También conocidos en inglés como «Standard Track«, son las BIP que proponen cambios en el protocolo de la red. Estas propuestas pueden modificar la información del código, bloquear datos específicos o incluso alterar la forma en que se validan las transacciones de Bitcoin.

Las BIP de seguimiento de estándares suelen afectar la interoperabilidad entre distintas versiones de los nodos que estén actualizadas o no. Es decir, son actualizaciones que tienen la capacidad de provocar más de una cadena de bloques si no todos los nodos adoptan la modificación. Debido a ello, estos BIP requieren el consenso de toda la comunidad para que entren en vigencia.

SegWit, también conocida como la BIP 141, es una propuesta de seguimiento de estándar. La idea era modificar el código de Bitcoin para aumentar la capacidad de la red y resolver los problemas de maleabilidad de las transacciones. SegWit afecta directamente a las transacciones de la red, haciéndolas menos pesadas. En vista de su impacto en la forma en que se comporta la red, esta propuesta tuvo que gozar del consenso de la comunidad para que su código fuese agregado al protocolo de Bitcoin.

BIP de procesos

Este tipo de propuesta busca implementar un cambio en los procesos centrales subyacentes del ecosistema de Bitcoin. De esta manera, las BIP de procesos afectan los procedimientos para desarrollar una aplicación, cambios en herramientas o en el entorno de desarrollo de la red.

Estas BIP se aplican en el protocolo de Bitcoin, pero no son agregados directamente en el código base de la red. A pesar de ello, estas propuestas también deben ser examinadas por la comunidad y son aprobadas por votación en consenso.

Un ejemplo de una BIP de proceso es la BIP-123. Presentada por el usuario Eric Lombrozo en enero del año 2017, exponía una nueva manera de clasificar los BIP basada en cuánto afecta la interoperabilidad del sistema. Tal y como podemos ver, este BIP no tiene un efecto directo en las transacciones o las funciones de Bitcoin, pero si tiene un efecto directo en cómo la comunidad se relaciona con la red.

BIP informativas

Las BIP informativas tienen como objetivo resaltar problemas de diseño, pautas generales o datos de interés para el funcionamiento de la red. Por lo general, estas propuestas dan recomendaciones para la solución de un problema en específico.

Las BIP informativas son mayoritariamente investigaciones. Los autores presentan datos, pruebas o incluso estudios conceptuales que soportan la propuesta y sus afirmaciones. En este sentido, la comunidad no tiene que someter a votación a estos BIP, ya que no integran un cambio en el comportamiento de Bitcoin.

BIP-10 es una propuesta de mejora informativa. El autor, Alan Reiner, presentó este BIP como un documento para discutir sobre cómo se distribuyen las transacciones de múltiple firma en Bitcoin, señalando que estas nuevas transacciones añadirían más complejidad a la red.

¿Cómo se puede proponer una BIP?

Cualquier desarrollador, minero o usuario de Bitcoin —en cualquier parte del mundo — puede proponer una BIP. La persona en cuestión deberá estar interesada en introducir una nueva función en la estructura de la red o solucionar alguna problemática.

Para ello, deberá desarrollar una idea con sus especificaciones técnicas sobre cuál es el cambio que desea proponer, las motivaciones del mismo y la justificación de su eventual aprobación. Las características de la propuesta pueden ser discutidas previamente en portales, chats e incluso la lista de correo de desarrollo antes de enviar un borrador. De esta manera, el autor se asegura de que su propuesta sea completa y concisa.

Las BIP deben cumplir una estructura específica para poder ser presentadas. Por ejemplo, los borradores de BIP tienen que tener un preámbulo, que es un encabezado donde se contienen los metadatos sobre la BIP. Asimismo, el autor debe hacer un resumen donde describa brevemente el problema técnico que está abordando.

Las BIP tienen un formato especifico, tales como un preámbulo donde se especifica quien es el autor de la BIP, su estatus en la red y las especificaciones técnicas de la propuesta.

Todas las BIP deben cumplir con derechos de autor, ya que se tratan de propiedad intelectual. Otro elemento que deben tener los borradores de BIP es una especificación donde se describe la sintaxis y semántica de cualquier característica nueva que se vaya a implementar en la red.

Asimismo, es necesario que el autor explique los motivos por lo que se crea la propuesta y justifique a detalle el porqué de las decisiones tomadas para diseñar su propuesta. Las BIP deben tener también un apartado donde se expliquen las incompatibilidades que genera la propuesta con versiones anteriores de la red, describiendo su gravedad y la forma de lidiar con esta situación.

Para recopilar toda esta información, el autor de la propuesta debe hacer una investigación previa y redactar un borrador que esclarezca cada uno de estos datos. Al finalizar el documento, este puede ser enviado a la lista de correo de Bitcoin (bitcoin-dev@lists.linuxfoundation.org), donde será revisado por los editores de las BIP y los desarrolladores principales de la red.

Un borrador de BIP puede ser sometido a modificaciones si tiene errores, los cuales deben ser editados por el autor. Asimismo, una BIP puede ser rechazada por los desarrolladores de Bitcoin si se le considera nociva para el buen funcionamiento de la red.

Cuando la BIP es declarada como «completa», se le asigna un número específico. Debido a ello, las propuestas de Bitcoin suelen identificarse como es el caso de BIP 141 o BIP 148, por mencionar algunas. El editor es el encargado de asignar dicho número, una actividad que desempeña actualmente el colaborador de Bitcoin Core, Luke Jr.

Con número de identificación y añadidas todas las modificaciones, el documento de la propuesta suele hacerse público en la lista de correo de Bitcoin y en Github. De esta manera, la comunidad puede someterla a juicio.

Que una BIP sea publicada no significa que la propuesta haya sido aceptada formalmente, puesto que existen propuestas que necesitan el consenso de toda la comunidad para que sean agregadas al código de la red, tal y como hemos mencionado anteriormente. Mas adelante describiremos el proceso mediante el cual son adoptadas o rechazadas las BIP de Bitcoin.

Estatus de una BIP

Antes de ser aprobadas o rechazadas por la comunidad, las propuestas de mejora de Bitcoin pasan por varios estadios que determinan cuánto falta para que la BIP sea implementada o si no fue aprobada por los usuarios. En total son ocho fases, conocidas como:

  1. Borrador: Es el estado más temprano de presentación de la propuesta. Es decir, cuando el BIP aún está incompleto y necesita la revisión de los editores, desarrolladores y el autor.
  2. Diferido: Este estatus señala que la BIP ha sido pospuesto porque no se han realizado avances en su desarrollo, ya sea porque el autor no ha modificado errores o no ha incorporado información vital para su publicación.
  3. Propuesto: Se trata de una BIP completa que ha sido presentada a la comunidad con sus elementos explicativos. Cuando una propuesta llega a este punto se comienza el debate sobre su aplicación o no dentro del ecosistema.
  4. Rechazada: La propuesta no fue bien recibida por la comunidad, puesto que existen elementos perjudiciales para la red o no gozó de popularidad.
  5. Retirada: Este estatus señala que la BIP fue retirada por sus propios autores.
  6. Activa: Una propuesta activa, o también conocida como «Final», es aquella que fue aprobada por la comunidad luego del proceso de votación. O sea, se trata de una BIP cuyo código ha sido implementado en el protocolo de Bitcoin.
  7. Reemplazada: Es el estatus de toda BIP que fue sustituida por una mejor propuesta.
  8. Obsoleta: Indica que los cambios introducidos por esta BIP ya no son relevantes para la comunidad. Por ejemplo, una propuesta puede perder vigencia si se hacen otros cambios en Bitcoin que anulan las problemáticas que resolvía esa BIP en particular.

¿Cómo es adoptada o rechazada una BIP de Bitcoin?

Ya sabemos que existen varios tipos de BIP y que, en base a esta clasificación, se puede saber si estas propuestas necesitan someterse a un proceso de votación para que sean implementadas en el protocolo de Bitcoin. En este sentido, sólo dos tipos de BIP necesitan el consenso de la comunidad: siendo las propuestas de seguimiento de estándar y las de proceso.

Recientemente los mineros de Bitcoin votaron a favor de la implementación de los códigos Taproot y Schnorr en el protocolo. Fuente: taprootactivation.

Cuando alguna de estas propuestas se hace pública, la comunidad las discute. En este período usuarios, mineros, desarrolladores e incluso inversionistas evalúan cuán positivo o negativo puede ser este cambio en el funcionamiento de la red. Por lo general, son los mineros quienes se encargan de votar por la aprobación o el rechazo de una BIP que altere el protocolo de Bitcoin.

La votación se lleva a cabo en un número determinado de bloques, el cual es especificado por el autor de la propuesta. En este período, los mineros que están a favor deben incluir en las transacciones un fragmento del código de la propuesta a votar. De esta manera, los usuarios pueden saber si un pool de minería desea aprobar o no la implementación del BIP.

La cantidad de votos de mineros que debe acumular una propuesta para su aprobación también varía, ya que es el autor quién determina cuántos votos debe recibir. No obstante, si la mayoría de los mineros incluye el código en sus transacciones confirmadas, entonces estarían dando el visto bueno para que se incluya la BIP en el protocolo.

Asimismo, existe otro mecanismo de consenso, llamado UASF o «Soft fork activado por los usuarios», que permite a los nodos completos de la red incorporar un cambio en el protocolo. Este procedimiento se suele utilizar cuando existe un desacuerdo entre distintos grupos del ecosistema. Por ejemplo, si los mineros no desean incorporar un BIP a la red, pero dicho cambio sí goza de gran popularidad entre los usuarios y consideran que mejorará el funcionamiento de Bitcoin.

Los usuarios pueden tomar el liderazgo de una actualización cuando esta solo genera una bifurcación suave. Es decir, cuando el cambio no viola ninguna de las reglas del protocolo de Bitcoin, sino que incorpora nuevas funciones. En este sentido, no es necesario que todos los nodos de la red se actualicen de forma simultánea y la adopción se puede llevar a cabo de forma paulatina.

Asimismo, los desarrolladores principales de la red de Bitcoin poseen cierto peso a la hora de aceptar una BIP o no. Si una propuesta goza popularidad entre los principales colaboradores de la red, esta podría ser aprobada e incorporada en el código siempre y cuando no viole las reglas de consenso. Los desarrolladores también son los encargados de incorporar los cambios en el protocolo de Bitcoin.

Cuando los desarrolladores implementan la BIP en el código central de Bitcoin, se considera la propuesta como activa y aprobada. Aun así, hay que tomar en cuenta que ninguna BIP de Bitcoin es vinculante. Esto significa que, a pesar de que la mayoría desee incorporar una modificación en el protocolo, no todos los nodos tienen que actualizarse a esta versión.

Debido a ello, suele ocurrir que en bifurcaciones suaves como SegWit, algunos nodos incorporan el código de esta nueva función y otros deciden no adoptarlo. De esta manera, algunos exchanges y monederos poseen las nuevas direcciones SegWit, mientras que otros aún mantienen las direcciones Legacy que son originarias de la red.

Asimismo, cuando se está frente a una bifurcación dura, si no todos los nodos actualizan a la nueva versión de red se corre el riesgo de que se formen dos cadenas paralelas. Las bifurcaciones duras, por lo general, son programadas y los usuarios están al tanto de esta transición.

Ante una falta de consenso de la comunidad de mineros y desarrolladores frente a una BIP, siempre puede ocurrir que se cree un proyecto alternativo que cumpla con las expectativas de esos miembros. Por ejemplo, cuando se discutió aumentar el tamaño de bloques de Bitcoin, hubo desacuerdo entre los participantes de la red y ocurrió una bifurcación que dio como nacimiento a Bitcoin Cash.

Algunas de las BIP más emblemáticas de la historia de Bitcoin

BIP 11

Presentada por Gavind Andresen en el año 2011, la BIP-11 planteó habilitar monederos cuyas operaciones requieran más de una firma. Exacto: esta propuesta de mejora de red introdujo el concepto de direcciones con múltiples firmas (Multi-sig), que para aquel entonces era la implementación de un nuevo tipo de transacción estándar en Bitcoin.

En la actualidad existe un nuevo esquema para las transacciones de múltiple firma, conocida como MuSig2. Presentada por Jonas Nick, Tim Ruffing y Yannick Seurin, se inspiraron en la propuesta de las firmas Schnorr para plantear transacciones de este tipo más eficientes y privadas. La propuesta aún está en proceso de adopción.

BIP 141

Propuesto por los equipos de Blockstream y Bitcoin Core, la BIP 141 es una de las más conocidas de los últimos tiempos puesto que gracias a ella se introdujo la función SegWit (Testigos Segregados).

La propuesta planteó como objetivo el aumentar la capacidad de la red y resolver los problemas de maleabilidad de las transacciones. Gozó de popularidad entre los mineros, y para agosto del año 2017 se incorporó al código de Bitcoin por medio de un soft fork.

Todo usuario que posea un monedero con direcciones SegWit, en la actualidad, se beneficia de transacciones más pequeñas y menos pesadas. Esto no solo ayuda a descongestionar a la red, sino que también disminuye el costo de las comisiones que debe pagar para enviar bitcoins de una dirección a otra.

BIP 340, 341 y 342

La implementación de firmas Schnorr y el protocolo Taproot en el protocolo de Bitcoin está compuesto por tres propuestas distintas que funcionan en conjunto. Presentada por tres de los grandes desarrolladores de Bitcoin Core, Anthony Towns, Pieter Wuille y Jonas Nick, es una de las actualizaciones más esperadas para Bitcoin desde el año 2020.

Archivadas bajo los números BIP 340/ BIP 341 / BIP 342, estas propuestas tienen el objetivo de aumentar la escalabilidad y la privacidad de la red. Las firmas Schnorr se encargan de disminuir el espacio de almacenamiento de las transacciones para permitir una confirmación más rápida. Por otro lado, Taproot brinda privacidad a los usuarios al hacer indistinguibles las transacciones regulares de Bitcoin con cualquier otra transacción compleja, tales como une envío a la red Lightning o bitcoins mezclados con CoinJoin.

La actualización gozó de popularidad entre los mineros, recibiendo el 90% del apoyo de los pools de minería. Debido a ello, ambas propuestas han sido incorporadas en el código y se espera su activación en los próximos meses del 2021.

Otras de las BIP más destacadas en la historia de Bitcoin:

NúmeroTituloAutorFunción
BIP 0012OP_EVALGavin AndresenIntroducción del código para un lenguaje de secuencias de comando de la red.
BIP 0030Transacciones duplicadasPieter WuilleCorrección para evitar ataques que exploten la posibilidad de generar dos transacciones con un mismo identificador.
BIP 0042Oferta Monetaria Finita para BitcoinPieter WuilleSe proporcionó una corrección en un error en el suministro total de bitcoins a emitir de 21 millones.
BIP 0112CHECKSEQUENCEVERIFYBtcDrak, Mark Friedenbach, Eric LombrozoImplementación de un nuevo código que permite aplicaciones de fideicomiso, canales de pago y trazabilidad bidimensional.
BIP 147Manejo de maleabilidadJohnson LauRediseña las funciones “OP_CHECKMULTISIG” y “OP_CHECKMULTISIGVERIFY” para hacerlas seguras y efectivas con las direcciones SegWit.

Representaciones de BIP en otras blockchains

Aunque las siglas BIP conforman un término que sólo aplica para la red de Bitcoin, la realidad es que otras redes de criptomonedas se han inspirado en este concepto para desarrollar su propio estándar de propuestas de mejora.

Todos estos mecanismos cumplen con la misma función: sistematizar cualquier idea que posea la comunidad que sea beneficiosa para el desarrollo de la red. Uno de los ejemplos más destacados son las EIP de Ethereum, la segunda red blockchain más importante del mercado.

Ethereum

Las siglas EIP hacen alusión a la frase en inglés «Ethereum Improvement Proposal«, que en español significa «propuesta de mejora de Ethereum». De esta manera, queda en claro que las EIP son el equivalente de las BIP de Bitcoin.

Este estándar hace posible que los usuarios de Ethereum describan, clasifiquen y propongan nuevas especificaciones del protocolo. Asimismo, los usuarios pueden introducir nuevos estándares de contratos inteligentes, cambios en las API de los clientes, modificaciones en las interfaces o incluso en los procedimientos de desarrollo, por medio de uno de estos documentos.

Ethereum posee una lista actualizada de todas las EIP aprobadas e implementadas en su protocolo, siendo estas algunas de ellas. Fuente: Ethereum Improvement Proposal.

La EIP posee su propia planilla, donde los usuarios deben completar información muy similar a la que compone una EIP de Bitcoin —tales como las especificaciones técnicas, las motivaciones y justificaciones de dicho cambio —. Finalizado el borrador de EIP, la planilla debe ser enviada a la solicitud de repositorio, donde será evaluada por los editores y desarrolladores principales de Ethereum.

Son los desarrolladores de la red quienes deciden si implementar o no el código en el protocolo de Ethereum. Asimismo, todas las EIP son sometidas a la dicusión de la comunidad por medio de foros, reuniones y en las redes sociales.

Otros

Además de Ethereum, existen otros estándares de propuestas de mejoras en diversas redes de criptomonedas. Por ejemplo, Litecoin posee su mecanismo «Litecoin Improvement Proposal«, conocido más comúnmente como LIP.

Las redes de Dash y Tron también poseen un estándar muy similar al de Bitcoin, identificándose respectivamente como DIP (Dash Improvement Proposal) y TIP (Tron Improvement Proposal).