El cliente original del protocolo de la criptomoneda de Satoshi Nakamoto, Bitcoin Core, ha anunciado hoy el lanzamiento de su más reciente actualización. Se trata de la versión 0.12.0 del cliente, la cual trae una serie de nuevas características a la red, algunas de ellas bastante polémicas.
El anuncio y la presentación del código a descargar ha sido publicado en el repositorio de software de Bitcoin Core en GitHub. Los cambios más notables que ofrece la versión 0.12.0 incluyen el reemplazo del protocolo OpenSSL por libsecp256k para la firma de transacciones, la compatibilidad con Tor, modificación en las políticas de comisiones por transacción y nueva característica de transacciones reemplazables. Esta última, bastante discutida en los foros de la comunidad de Bitcoin en la web.
A continuación hacemos un breve repaso por las características más importantes de la versión 0.12.0 de Bitcoin Core:
Validación de firmas con libsecp256k1
Las firmas criptográficas dentro de las transacciones Bitcoin han sido realizadas hasta ahora con el protocolo OpenSSL, esta nueva versión del cliente Bitcoin Core lo reemplaza con Libsec256k1. Este cambio representa un aumento significativo de la velocidad en la validación de las firmas, donde se pueden experimentar velocidades cinco veces más rápidas.
Tal como anuncia Bitcoin Core, en la práctica, el uso de este protocolo se traduce en una nueva indexación prima y en nuevos tiempos de validación de bloques de menos de la mitad de los anteriores. Para la puesta en marcha, el protocolo Libsecp256k1 ha pasado por extensas pruebas y validaciones.
Transacciones reemplazable por comisiones
La polémica característica llega a convertirse en una realidad con su inclusión en esta nueva versión 0.12.0 de Bitcoin Core. A pesar de las numerosas opiniones surgidas a favor y en contra, lo que queda claro es que estas transacciones no serán tan fáciles de usar y deben cumplir con una serie de características previas.
Existe un requisito previo importante para el despliegue de una transacción reemplazable, el cual es el pago de una comisión lo suficientemente importante, la cual describe bien el BIP 125. Por otra parte, esta opción sólo funcionará si la transacción que va a ser reemplazada coincide con un conjunto específico de números en su dirección de entrada.
Esta característica puede ser desactivada en los nodos que ejecuten el cliente con una modificación en el código fuente. Bitcoin Core también resalta que las carteras actuales no poseen soporte todavía para procesar las transacciones reemplazables, por lo cual se trabajará para permitir la opción en el futuro.
Compatibilidad con los servicios secretos de Tor
Uno de los cambios más interesantes en esta nueva versión es la integración de compatibilidad con Tor al cliente Bitcoin Core. Ahora los usuarios tendrán la opción de ejecutar los servicios ocultos a través del cual Bitcoin Core puede escuchar en caso de que Tor se esté ejecutando en un segundo plano. Además, este cambio también permitirá que los usuarios se conecten a los nodos .onion adicionales, lo que afecta el uso de esos nodos.
La característica está disponible ya que, a partir de la versión 0.2.7.1 de Tor, es posible a través de su API crear y destruir los servicios ocultos «efímeros» mediante programación. Ahora Bitcoin Core ha sido actualizado para hacer uso de esta función.
Las comisiones por transacción en las carteras
En el pasado se han realizado diversas mejoras a la forma en la cual las carteras calculan las tasas de transacciones. Sin embargo, ahora se calcularán de una manera muy distinta.
Los usuarios ahora pueden optar por pagar una tasa predefinida, mediante la configuración del código fuente del Bitcoin Core, o utilizar tasas flotantes. De forma predeterminada, Bitcoin Core utilizará tasas flotantes.
Limitación al Memory Pool
Sobre esta modificación, Bitcoin Core explica:
Las versiones anteriores de Bitcoin Core habían limitado su mempool comprobando los honorarios de una transacción contra la cuota mínima del relé del nodo. No había un tope en el tamaño de la mempool y los atacantes podrían enviar un gran número de transacciones con solo pagar ligeramente más que la tarifa mínima del relé por defecto y así alterar los nodos con memoria RAM relativamente baja. Una solución temporal para las versiones anteriores de Bitcoin Core fue elevar la tasa de retransmisión mínima predeterminada.
Bitcoin Core
En otras palabras, esta característica pretende evitar los ataques de SPAM a la red que tomaron cierta relevancia el año pasado y fueron realizados en varias ocasiones por distintos responsables que, según ellos, buscaban probar los altos riesgos de congestionamiento de la red Bitcoin ante un alto número de transacciones.
Remoción de los árboles de Merkle en las carteras
Otro cambio notable de esta última versión, es la eliminación de los árboles Merkle sobre cada transacción almacenados en las carteras. Gracias a este cambio, menos datos se almacenan para cada transacción presente en el registro de la cartera de Bitcoin Core; ya que la función nunca fue utilizada más que para realizar una comprobación específica.
La mayoría de los usuarios no se dará cuenta de este cambio de forma superficial, pero es una buena actualización para la red puesto que reduce la cantidad de información almacenada por las carteras de Bitcoin que estén siendo ejecutadas como un nodo completo, haciéndolas más rápidas.