- OroyFinanzas.com - https://www.oroyfinanzas.com -

Bitcoin Unlimited: el fork que permite que los usuarios elijan el tamaño de bloques

(OroyFinanzas.com) – Bitcoin Unlimited [1] es un fork [2] del Bitcoin Core [3], es decir, una implementación más del código fuente de la criptomoneda [4] (como Bitcoin XT [5] y Bitcoin Classic [6]), programado para que no exista un límite del tamaño de los bloques preestablecido, sino para que sean los propios usuarios los que manualmente configuren, cuando quieran, ese límite en sus nodos [7].

Bitcoin Unlimited nació en diciembre 2015 y su desarrollador principal es Andrew Stone “theZerg” Stone. Además, el proyecto cuenta con la activa participación de Peter R. Rizun, aspirante a editor de la primera revista académica sobre Bitcoin y criptomonedas Ledger [8], y defensor aférrimo del aumento del tamaño de los bloques. En agosto 2015, Rizum escribió un controvertido [9] artículo [9] en el que defendía cómo mantener un límite bajo de los bloques no es necesario para que se establezca un mercado de tasas en Bitcoin, algo que muchos defensores de no incrementar el tamaño de los bloques consideran una consecuencia de un incremento excesivo del tamaño de los bloques, ya que, es necesario un mercado de tasas en Bitcoin para mantener los incentivos económicos de los mineros [10] sobre todo en un futuro, cuando se reduzca las recompensas que reciben por cada bloque minado, a través de los sucesivos halvings [11] (cada 4 años se divide la recompensa de los mineros a la mitad).

¿Cómo propone Bitcoin Unlimited que se instaure el tamaño de los bloques?

Como su propio nombre indica, la propuesta que presenta el código de Bitcoin Unlimited, es que no se introduzca un límite del tamaño de los bloques para que sea implementado a través de un hard fork (bifurcación dura). En lugar de eso, propone que sea el libre mercado, a través de los usuarios, los que manualmente configuran ese límite en sus nodos [7]. La idea se basa en que los creadores de Bitcoin Unlimited confían en que de forma natural se encuentra un consenso sobre el límite determinado y esto sería posible a través de lo que en teoría de juegos se conoce como punto focal o punto Schelling [12].

“Al mover el límite del tamaño de los bloques de la capa de protocolo [13] a la capa de transporte, Bitcoin Unlimited elimina el único punto de control central en la economía Bitcoin – el límite del tamaño de los bloques – y lo devuelve a los nodos y a los mineros. Un consenso emergente surgirá, por lo tanto, en base a la economía de libre mercado ya que los nodos / mineros convergen en puntos focales de consenso, creando en el proceso una entidad con vida que responde a las cambiantes condiciones del mundo real de una manera libre y descentralizada”, explican en su página web [1].

De esta forma, se permite que cada nodo establezca las reglas de aceptación de bloques, de tal forma que será capaz de rechazar o aceptar bloques si pasa de ese límite. Es lo que ellos denominana un “tamaño de bloque excesivo”. ¿Pero qué tamaño es ese? En realidad es el tamaño que cada nodo, dadas sus características personales considere oportuno (el que pueda permitirse el lujo de almacenar, el que se adecue a su perfil de riesgo, o el que coincida con la implemtenación del pool minero con el que se colabora).

Bitcoin Unlimited incluye, de todos modos, un ajuste predeterminado del tamaño máximo para los bloques, o mejor dicho, dos. El límite de la creación del bloque, que es utilizado por los mineros, se ha fijado en 1 MB. Como tal, los mineros no crearán bloques que rompan las reglas de consenso existentes, a menos que manualmente decidan hacerlo. Además, los nodos de Bitcoin Unlimited no reenviarán bloques mayores de 1MB a otros nodos.

El límite de la aceptación de bloques también esá fijado de forma pretedeterminada en 1MB, pero con una importance excepción. Si un bloque de hasta 16MB consigue ser incluido en la cadena de bloques, con cuatro bloques de profundidad, es decir, con cuatro confirmaciones, los nodos de Bitcoin Unlimited, comenzarán a considerar estos bloques (y por lo tanto, la cadena) como válidos. Este número de bloques necesarios (que de manera predeterminada son 4) es también configurable por los usuarios, ya que tiene la intención de que los usuarios de Bitcoin Unlimited, aceptan únicamente tamaños de bloques más grandes si un significativo porcentaje de la potencia de hash [14] (hash power) de la red lo acepta.

Esto significa dos cosas. En primer lugar, Bitcoin Unlimited no rompe por defecto las reglas de consenso existentes, incluso si todos los nodos de la red Bitcoin actualizasen a este software y fuese la única implementación activa (algo poco probable, por otra parte, al menos de momento), ya que los mineros no crearían bloques de más de 1MB, e incluso si hubiera mineros que manualmente cambian este límite, a menos que puedan resolver cuatro bloques consecutivos, no podrían hacer nada, y lo único que implicaría es que estarían perdiendo recursos, minando bloques que la red no aceptaría como válidos.

En segundo lugar, si uno o varios mineros crean bloques de más de 1 MB (pero menores de 16 MB, y logran resolver cuatro bloques consecutivos, por defecto todos los nodos de Bitcoin Unlimited, considerarían estos bloques válidos. Pero como el resto de bloques de la red Bitcoin (que en su mayoría tienen instalado el software de Bitcoin Core, con el límite de 1MB) considerarían estos bloques mayores inválidos, la cadena de bloques se bifurcaría en dos versiones irreconciliables (es decir, se produuciría un fork de la cadena de bloques). Esta bifurcación duraría tanto, como la cadena de bloques de Bitcoin Unlimited (es decir, la cadena que acepta mayores bloques) fuese más larga o hasta que los nodos que no estuvieran utilizando el software de Bitcoin Unlimited, comenzasen a utilizar el mismo límite que los de Bitcoin Unlimited en los tamaños de los bloques. Es decir, en cualquier caso se requiere que la mayor cantidad de potencia de hash esté de acuerdo en aumentar el tamaño de los bloques.

Aparte de los ajustes por defecto, Bitcoin Unlimited no incluye una solución automatizada para asegurarse de que todos los nodos ajustan el tamaño de sus bloques al mismo límite, aunque sí incluyen métodos para que los mineros y los nodos señalen los límites que han fijado.

En cualquier caso, es importante señalar, que el tamaño de bloques máximo que permitiría esta versión del código Bitcoin estaría limitada a 160 MB, ya que una vez superada esa cifra el límite del tamaño de los mensajes, hará que los bloques más grandes de esa cifra sean inválidos. Además también este cliente permite que el tamaño de los bloques se reduzca si la red así cree que sean reducidos, por el mismo mecanismo que permite que se incremente el tamaño, es decir que la mayoría de la potencia hash de la red acepte esa reducción del tamaño.

El desarrollador principal de Bitcoin Unlimited, Andrew Stone, reconocía en una reciente entrevista [15] que Bitcoin Unlimited se actualizará con todas las actualizaciones del Bitcoin Core [3], al menos que alguna implementación en particular incluida en el Core no sea aceptada por la comunidad, y por lo tanto se elimine del código de Bitcoin Unlimited. En este sentido, ha señalado que ya existe una propuesta para eliminar los RBF (replace by fee) [16], una controvertida implementación, que permite que las transacciones Bitcoin con cero confirmaciones puedan ser eliminadas para ampliar las tasas a los mineros.

Bitcoin Unlimited: una gobernanza democrática de sus miembros

Además de estos aspectos técnicos, Bitcoin Unlimited también nace con el objetivo de introducir un nuevo tipo de gobernanza en Bitcoin, diferente de la que existe en la actualidad.

Pretende más concretamente introducir un mayor nivel de democracia en el desarrollo del código de esta implementación así como en la gestión de la misma. De esta forma el Lead Developer [17] del software será elegido cada dos años por todos los miembros que utilicen Bitcoin Unlimited y podría cambiarse a través de un voto de censura de los miembros. Bitcoin Unlimited tendría también un presidente electo que se encargará de la gestión de alto nivel, es decir, no de las cuestiones meramente técnicas de desarrollo y un secretario que sería elegido también por los miembros de la comunidad para encargarse de las cuestiones administrativas.

Las primeras elecciones para presidente se celebraron el pasado 15 de enero [18] y el elegido por la comunidad fue Andrew Clifford [19]. El próximo 29 de diciembre están programadas las elecciones [20] para los Bitcoin Unlimited Improvement Proposal (BUIP), que son las propuestas para implementaciones de cambios en el código, como los BIP [21] del Bitcoin Core.

Fuente: Bitcoin Magazine [22]

© OroyFinanzas.com