miércoles, 3 de junio de 2020

Bitcoin Core versión 0.20.0

Ya está disponible para su descarga la versión 0.20.0 de Bitcoin Core.


Esta versión incluye nuevas funciones, varias correcciones de errores,  mejoras de rendimiento y traducciones actualizadas. Bitcoin Core 0.20.0 limpia y fortalece el código fuente de Bitcoin Core, avanza la integración de las carteras frías, mejora la fiabilidad de la red e incluye otras mejoras.

Según el equipo responsable de actualizar el cliente de Bitcoin Core, las mejoras son la culminación del trabajo de seis meses y las contribuciones de 119 desarrolladores. El desarrollo de esta nueva iteración de Bitcoin Core fue supervisado por el responsable de mantenimiento Wladimir van der Laan y vio la fusión de más de 500 solicitudes de extracción.

Algunas de las novedades que incluye esta nueva versión son las siguientes:
  • Eliminación del soporte de mensajes de rechazo BIP61
  • RPC actualizados
  • Eliminación del protocolo de pago  OpenSSL
  • Eliminado el soporte BIP70
  • Eliminada la opción de iniciar Bitcoin Core al inicial el sistema en macOS
  • La billetera usa direcciones bech32 por defecto cuando se utiliza RPC, y crea salidas de cambio de segwit nativas.

Mejor integración con las carteras hardware


Bitcoin Core ha sido compatible con las carteras hasdware desde la versión 0.18.0. Sin embargo, los usuarios aun no pueden hacer transacciones con una cartera hardware desde la interfaz gráfica de usuario de Bitcoin Core; deben, en cambio, usar la interfaz de línea de comandos (CLI) para poder hacerlo.


Los usuarios ahora pueden crear una transacción sin firma en la GUI de Bitcoin Core usando el formato de transacción parcialmente firmada, y copiarla al portapapeles. Una vez copiada, pueden transferir la transacción a su cartera hardware para firmarla, sin embargo, esta transferencia aún no está automatizada, y transmitir la transacción todavía requiere del uso de la CLI.

Nuevo sistema de configuración de mapeo IP denominado Asmapping


Bitcoin Core se conecta a varios pares, otros nodos de Bitcoin, en la red de Bitcoin. Bitcoin Core marca otros nodos basándose en sus direcciones IP, con la intención de establecer conexiones con pares de varias regiones y proveedores de servicios de Internet (ISP). Si un nodo recibe bloques y transacciones de pares ubicados en todo el mundo, disminuye el riesgo de que sean retenidos ciertos datos, como una transacción especifica.

Actualmente, Bitcoin Core marca las direcciones IP por grupos de operadores de red. Sin embargo, varios de estos grupos son realmente parte del mismo Sistema Autónomo (AS): agrupaciones de grupos operadores de red que comparten rutas claves de Internet, y, por lo tanto, comparten las mismas congestiones de las rutas en donde los datos podrían ser filtrados.

Bitcoin Core 0.20.0 incluye una nueva opción de configuración llamada Asmap, que marca las direcciones IP por números de sistema autónomos (ASN). Esto asegura que el nodo se conecte con pares de una variedad de AS, reduciendo las posibilidades de congestionamiento, limitando de esta manera el riesgo de que se retengan datos específicos. Sin embargo, marcar las direcciones IP en grupos de operadores de red sigue siendo la configuración por defecto, por ahora.

Eliminación del soporte de mensajes de rechazo BIP61


Los mensajes de rechazo, BIP61, son notificaciones de que un nodo vuelve cuando una transacción que recibió es rechazada, y el por qué. Puede ser porque la transacción no es válida, porque se considera que no incluye una comisión suficiente, o tal vez otra razón para el rechazo.

Sin embargo, los desarrolladores de Bitcoin Core no consideran los mensajes de rechazo muy útiles. Lo más importante es que no se debe asumir que los pares devuelvan un mensaje de rechazo de manera fiable. En otras palabras, si un nodo no recibe el mensaje de rechazo, no significa necesariamente que la transacción fue aceptada. Esto limita la utilidad de los mensajes, ya que existen mejores soluciones para verificar si una transacción es válida e incluye suficiente comisión. Mientras tanto, los mensajes estaban haciendo del protocolo entre pares algo más complejo, y estaban ocupando el ancho de banda.


Es por esto que los mensajes de rechazo BIP61 ya habían sido deshabilitados por defecto en Bitcoin Core 0.18.0. Ahora Bitcoin Core 0.20.0 ha eliminado esta función por completo.

Eliminado el protocolo de pago BIP70


El Protocolo de Pago BIP70 fue diseñado hace varios años para mejorar la experiencia de pago de Bitcoin. Un usuario y un comerciante podían comunicar detalles adicionales sobre un pago, como una dirección de destino legible para los humanos, como el nombre del comerciante, y una dirección de reembolso en caso de que algo saliera mal en la compra.

Si bien Bitcoin Core integró el Protocolo de Pago, el estándar nunca fue ampliamente adoptado. De hecho, la mayoría de las carteras aun utilizan el esquema URI (BIP21) más básico: Un enlace clickeable o el formato de código QR que, por ejemplo, comunica la dirección y la cantidad de pago.

Tal vez más importante que la falta de adopción, el Protocolo de Pago BIP70 sufrió una serie de vulnerabilidades de seguridad y privacidad a lo largo de los años. Notablemente, su dependencia de la biblioteca de software OpenSSL para funciones de criptomonedas que requería de una serie de actualizaciones de emergencia con muy poca antelación. Por estas razones, algunas carteras de Bitcoin han rechazado la implementación del BIP70.

Bitcoin Core 0.19.0 elimino el Protocolo de Pago de la GUI, pero lo usuarios podían seguir confeccionando su nodo con una configuración especial para hacer uso de la función. Bitcoin Core 0.20.0 ha eliminado por completo el Protocolo de Pago.


Ahora sin el BIP70, y algunos otros ajustes de software para eliminar la dependencia, Bitcoin Core también logró eliminar por completo OpenSSL de su código.

Mas información y descarga


La información completa de los cambios en esta versión la puedes consultar en https://bitcoin.org/. Puedes descargarlo desde el siguiente enlace: https://bitcoin.org/es/descargar