Lanzamiento de Bitcoin Core 0.15.0: estas son las novedades

Hoy marca el lanzamiento oficial de Bitcoin Core 0.15.0, la decimoquinta generación del cliente de software original de Bitcoin lanzado por Satoshi Nakamoto hace casi nueve años. Supervisado por el responsable de mantenimiento de Bitcoin Core, Wladimir van der Laan, este último lanzamiento importante fue desarrollado por casi 100 colaboradores durante un período de seis meses, con importantes contribuciones a través de Chaincode Labs, Blockstream y la Iniciativa de moneda digital del MIT.

Bitcoin Core 0.15.0 ofrece mejoras significativas de rendimiento y usabilidad con respecto a versiones anteriores de la implementación del software. También presenta varias funciones nuevas para manejar mejor el estado actual de la red.

Estos son r algunos de los cambios más notables.

Reestructuración de la base de datos de Chainstate

Uno de los mayores cambios en comparación con las versiones anteriores del software implica cómo se almacena el estado de la cadena de bloques de Bitcoin. Este “estado de cadena” o “conjunto UTXO” se guarda en una base de datos dedicada, mientras que anteriormente se había categorizado por transacción. Si una transacción envió bitcoins a varias salidas (“direcciones”), estas diferentes salidas se almacenaron como una sola entrada de base de datos, refiriéndose a esa única transacción.

Con Bitcoin Core 0.15.0, estas salidas se almacenan en una única entrada de base de datos cada una. Si una sola transacción envía bitcoins a diferentes salidas, cada salida se almacena por separado. Si bien este método reclama más espacio en disco, requiere menos recursos computacionales si una de estas salidas se gasta más adelante.

El beneficio más concreto de esta nueva estructura de datos es que el tiempo de sincronización inicial para los nuevos nodos se reduce en aproximadamente un 40 por ciento. También presenta un código más simple, reduce el uso de memoria y más. Además, corrige un error que teóricamente podría bloquear los nodos de Bitcoin Core, revelado de manera controvertida en la conferencia Breaking Bitcoin del fin de semana pasado en París.

Estimación de tarifas mejorada

Dado que los bloques de Bitcoin se han ido llenando durante el último año o dos, no todas las transacciones caben en el primer bloque extraído. En cambio, los mineros suelen priorizar las transacciones que incluyen la mayoría de las tarifas. Si un usuario desea que su transacción se confirme rápidamente, debe incluir una tarifa lo suficientemente alta. Si no tiene prisa, una tarifa más baja debería ser suficiente.

Sin embargo, la red Bitcoin se ocupa de la imprevisibilidad inherente en términos de la velocidad a la que se encuentran los bloques o la cantidad de transacciones que se transmiten en cualquier momento. Esto dificulta incluir la tarifa de transacción correcta.

Bitcoin Core 0.15.0 reduce la incertidumbre de las tarifas: la versión más reciente del software incluye algoritmos de estimación de tarifas significativamente mejores. Esto se debe principalmente a que el software tiene en cuenta más datos al realizar las estimaciones, como las tarifas incluidas en transacciones confirmadas más antiguas, así como las tarifas en transacciones no confirmadas, las tarifas que resultaron insuficientes.

Además, los usuarios pueden disfrutar de más flexibilidad. Por un lado, Bitcoin Core 0.15.0 por primera vez permite a los usuarios incluir tarifas que podrían demorar sus transacciones hasta una semana en confirmarse. Y, también recientemente introducido, los usuarios pueden optar por aceptar más o menos riesgo de que su transacción se retrase debido a una afluencia repentina de transacciones.

Reemplazar por tarifa en la interfaz de usuario

Incluso con una estimación de tarifas mejorada, es posible que los usuarios deban esperar más de lo que desean para que sus transacciones se confirmen, tal vez porque hay una avalancha repentina de transacciones en la red, o tal vez porque un usuario cambió de opinión y prefiere que la transacción se confirme más rápido de lo que se pagó originalmente o por otros motivos.

Para estos casos, algunas billeteras permiten a los usuarios agregar una etiqueta de “reemplazo por tarifa” a sus transacciones. Con tal etiqueta, los nodos y los mineros en la red saben que el remitente puede querer reemplazar esa transacción con una transacción más nueva que incluye una tarifa más alta. Esto efectivamente permite a los usuarios alinear la transacción para que se confirme más rápido.

Los nodos de Bitcoin Core han admitido el reemplazo por tarifa durante más de un año: ya reemplazan las transacciones etiquetadas “reemplazar por tarifa” si la nueva transacción incluye más tarifas. Pero nunca fue fácil de utilizar para los propios usuarios de la billetera Bitcoin Core.

Hasta ahora.

La billetera Bitcoin Core 0.15.0 presenta un interruptor de reemplazo por tarifa en su interfaz de usuario. Esto permite a los usuarios incluir la etiqueta adecuada, lo que les permite aumentar fácilmente las tarifas de sus transacciones más adelante.

Compatibilidad con múltiples billeteras (solo cliente y RPC)

Bitcoin Core 0.15.0 permite a los usuarios crear varias carteras por primera vez. Todas estas billeteras tienen sus propias direcciones de Bitcoin, claves privadas y, por lo tanto, fondos. Los usuarios pueden utilizar las diferentes carteras para diferentes propósitos; por ejemplo, una billetera se puede usar para compras personales del día a día, otra para transacciones comerciales y una tercera solo para operaciones.

El uso de varias carteras puede ofrecer una serie de beneficios. Por ejemplo, hace que la contabilidad sea más fácil y conveniente. Además, los usuarios pueden beneficiarse más fácilmente de una mayor privacidad ya que las diferentes carteras no se pueden vincular entre sí mediante el análisis de blockchain. También es posible utilizar diferentes carteras para aplicaciones específicas y más.

Por ahora, la compatibilidad con múltiples billeteras aún no está disponible para los usuarios habituales de billeteras; solo los usuarios avanzados que operan desde la línea de comandos o mediante aplicaciones conectadas pueden utilizar la función.

Otras mejoras

Además de los cambios notables mencionados anteriormente, Bitcoin Core 0.15.0 incluye una serie de mejoras de rendimiento adicionales, como lo hacen la mayoría de las nuevas versiones principales de Bitcoin Core. Concretamente, estos cambios aceleran la rapidez con la que se descargan los bloques de la red, permiten que los nodos se inicien más rápido y los nodos actualizados podrán validar nuevos bloques más rápidamente, lo que a su vez beneficiará el tiempo de propagación de la red.

Finalmente, vale la pena mencionar que Bitcoin Core 0.15.0 se desconectará de los pares BTC1 en la red. Esto significa que la red Bitcoin experimentará menos interrupciones si la bifurcación dura SegWit2x divide la red, ya que ambos tipos de nodos encontrarán más fácilmente pares compatibles. Si bien este cambio ha llamado la atención de los medios, este cambio no debería notarse realmente.

Gracias al desarrollador de Chaincode Labs, John Newbery, por sus comentarios y sugerencias. Para obtener más detalles sobre las novedades de Bitcoin Core 0.15.0, consulte las notas de la versión , o vea el “análisis profundo” del colaborador de Bitcoin Core, Gregory Maxwell presentación en la reunión de desarrolladores de Bitcoin de San Francisco.