Bitcoin 

Bitcoin-NG, ¿la solución para el problema principal de Bitcoin?

Bitcoin ha aparecido en el mercado como una alternativa al dinero tradicional, y aunque ha escalado posiciones hasta alcanzar el modesto puesto que tiene actualmente, todavía cuenta con un gran inconveniente, Bitcoin solo puede procesar 7 transacciones por segundo y sus desarrolladores no han podido llegar a un consenso en cuanto a como resolver este problema.

El incremento de la demanda de las transacciones Bitcoin ha expuesto un gran problema. Bitcoin es un sistema auto-regulado que trabaja descubriendo bloques a intervalos aproximados, y el rendimiento de la transacción se consigue efectivamente por el tamaño del bloque dividido por un intervalo. Tarde o temprano, el sistema alcanzará un punto en que colapse, porque estará inundado por más transacciones de las que puede procesar cada diez minutos.

Este limite se presenta dado que cada bloque válido no puede ser mayor a un megabyte (1MB), con transacciones de tamaño promedio de 250bytes, y con un promedio de 10 minutos por bloque, tenemos como resultado que solamente podremos anotar unas 4000 transacciones cada 10 minutos, cualquier interes masivo sobre Bitcoin es un problema muy grave, dado que todas las transacciones restantes tendrían que esperar horas para ser confirmadas en un bloque, y si no quisieran esperar tendrían que ofrecer tarifas (fees) cada vez más grandes para ser incluidas, lo cual eliminaría además la posibilidad de hacer envíos de transacciones con pequeñas cantidades.

Esta regla fué impuesta para disminuir ataques con transacciones de spam, junto con la necesidad de reducir el tiempo en que los nuevos bloques son distribuidos a todos los miembros de la red (latencia).

Durante todo este año hemos sido testigos y partícipes de un debate que parece no tener solución, unos piensan que el limite debe dejarse como está (por que quieren enrutar transacciones por sus sistemas centralizados), algunos piensan que el límite del tamaño de bloque debe ir subiendo poco a poco (pero nadie puede predecir la futura demanda, la cual pudiera ser exponencial dada la naturaleza abierta del sistema), otros piensan que el limite del tamaño de bloque debe ajustarse automaticamente a la demanda (tal como lo hace la dificultad de minado), otros piensan que no deberia haber limite alguno. (dado que Satoshi no mencionó nada al respecto y predijo que eventualmente los nodos que decidieran tener toda una copia del blockchain iban a ser computadoras más poderosas, además de que la ley de Moore nos ayudaría con hardware y redes más poderosas cada 2 años)

En realidad, el reciente ataque de “transacciones spam” nos ha dado una prueba de lo que podría pasar cuando el sistema esté al máximo de su capacidad. No es un secreto que hay un problema en la escalabilidad de Bitcoin.

Bitcoin-NG (Next Generation)

emin_y_ittay

Emin Gün Sirer y Ittay Eyal inspirados por este problema han desarrollado un nuevo protocolo de consenso blockchain, llamado Bitcoin-NG. En resumen, eliminaría los problemas de escalabilidad.

Bitcoin-NG parece solucionar el problema permitiendo que Bitcoin consiga el mayor rendimiento permitido por las condiciones y capacidad de la red (Internet). Sin necesidad de cambiar fundamentalmente el modelo en el que se construye Bitcoin, con un paper y estudios de simulación dicen que es posible mejorar el rendimiento de la transacción y reducir los tiempos de espera, haciendo posible obtener la confirmación de una transacción en segundos más que en minutos.

Antes de Bitcoin-NG, existía dos soluciones para aumentar el número de transacciones Bitcoin por minuto: incrementar el tamaño de los bloques o disminuir los intervalos del bloque. Ambas opciones traían inconvenientes. Ambos conducen a un aumento de los forks (bifurcaciones de la cadena). En un fork, el bloque se bifurca en múltiples ramas, dejando de existir un único bloque. Por lo tanto, el sistema se encuentra en un estado indeterminado. Eventualmente, el fork se resolverá escogiendo una rama y las otras acabarán eliminadas después. Los fork traen problemas de seguridad que actualmente Bitcoin no contempla. Además, al incrementar el tamaño de los bloques, trae como consecuencia una gestión mayor de gastos.

La solución de Bitcoin-NG se centra en invertir el funcionamiento de blockchain. En Bitcoin, el sistema genera un bloque que encierra en una piedra criptográfica las transacciones que tuvieron lugar los diez minutos anteriores. Bitcoin-NG, en cambio, mira hacia el futuro: cada diez minutos, NG elige a un líder, que revisa las transacciones futuras tan pronto como se produzcan. El primero está limitado por el tamaño del bloque y los intervalos, mientras que el segundo puede correr tan rápido como la red lo permita.

Bitcoin-NG escoge un líder al principio de un tiempo, y este está a cargo de una serie de transacciones hasta que el próximo líder es escogido. NC mantiene la estructura de bloques, pero añade dos tipos de bloques más: key-blocks y microblocks. Los key-blocks son usados para la elección del líder. Estos son generados minando a través de pruebas de trabajo criptográfico (PoW), como en Bitcoin, y ocurren a intervalos de diez minutos en promedio, como en Bitcoin. De hecho, son idénticos, excepto por un pequeño giro. Cada key-block inicia un nuevo tiempo o época. Los microblocks son los que contienen las transacciones, que son generadas por el líder de ese intervalo. Los microblocks no contienen ni necesitan prueba de trabajo, dado que están firmados por la llave privada del líder anunciado en el key-block anterior.

blog-bitcoin

Los key-blocks pueden ser pequeños porque solo necesitan contener la transacción base (Coinbase), que da nombre a la llave pública que el minero va a estar usando para firmar los microblocks. Debido a que un key-block requiere una prueba de trabajo, los mineros no van a poder manufacturar uno y así usurpar el liderazgo a voluntad.

blog-bitcoinng

Bitcoin-NG cambia el proceso de emisión de bloques. En vez de fabricar un bloque a la vez, como en Bitcoin, un minero NG primero adquiere los derechos para emitir microblocks y puede, después, crear eficientemente una serie de microblocks. La creación de los microblock está limitada únicamente por la velocidad de la firma (en el rango de milisegundos) y la propagación en la red de semillas de pequeños microblocks. Si el minero llega a fallar por alguna razón, otros mineros pueden tomar su trabajo en cuanto descubran la nueva llave del bloque. El cambio de liderazgo no requiere un grupo de nodos existentes.

El lector aventajado ya habrá notado algunos desperfectos de la propuesta, como es la dificultad de incentivar a los mineros a cumplir el protocolo pero hoy estos desperfectos y otros que han sido notados por los desarrolladores Bitcoin han sido respondidos por Ittay y Emin.

Los creadores afirman que los experimentos que han hecho con Bitcoin y Bitcoin-NG han demostrado las mejoras que ofrece la propuesta, al reducir el tiempo de espera entre transacciones e incrementar el rendimiento de estas. La recepción de esta propuesta ha sido primariamente positiva en la comunidad de desarrolladores ¿Será este el próximo gran paso de Bitcoin hacia la adopción generalizada?

Fuente: hackingdistributed

Advertisements

Related posts