Bitcoin, debido a su esencia abierta y colaborativa, se caracteriza por sus debates públicos. Uno de los más famosos y constante es el tamaño que debe tener los bloques Bitcoin debido al crecimiento del ritmo de las transacciones que está desarrollándose en la red. ¿Has oído hablar de Bitcoin Core? ¿Y de Bitcoin Classic? ¿Quizá de Bitcoin Unlimited? Descubra cuáles son las propuestas con más recorrido y soporte para la escalabilidad de Bitcoin.
Core, Classic, Unlimited o la ya abandonada XT, son algunas de las propuestas más famosas que la comunidad está apoyando para llevar a Bitcoin a un nuevo nivel acorde al éxito y uso que está teniendo. Este tipo de propuestas conllevan grandes actualizaciones del software, lo cual es conocido técnicamente como “hard fork”. Implica que, una vez aceptada una de ellas de forma consensuada, todos los nodos la utilizan para operar sobre la misma versión de Bitcoin y blockchain.
Son muchas las opciones y debates que se han derivado de este asunto… algunas de ellas incluso terminando en “peleas” apasionadas que en cierto modo serían más correspondientes a niños de 5 años, pero al fin y al cabo era predecible… es un tema delicado que puede marcar el futuro de Bitcoin, por lo que cada uno tiende a defender que su propuesta es la mejor idea para una mayor eficiencia.
Una de las cosas geniales que Bitcoin tiene es justamente esto, los debates. Aunque a veces pueden generar conflictos puntuales, aportan valor y comunidad constantemente. Esto es algo que otros sistemas cerrados y tradicionales no solo no entienden sino que, a veces, critican, lo ven como un defecto o simplemente no soportan debido a la cruda realidad que ello significa: una comunidad global trabajando de forma gratuita y apasionada en algo que les elimine del juego. Seguro que alguna nota de prensa ha visto indicando el fin del Bitcoin por un debate abierto… ¿Cuantas veces ha muerto Bitcoin?
Como siempre, no entraremos en qué opción es mejor que otra o qué proyecto es mejor de cara al futuro, de lo que te vamos a hablar en este artículo es de una comparativa de bitcoin Core, Classic y Unlimited para que entiendas todas estas opciones de primera mano, qué son y por qué no, te decidas a crear un nodo de alguna de ellas.
Propuestas para el tamaño de los bloques Bitcoin
Bitcoin Core y la escalabilidad
Testigo segregado
Las transacciones Bitcoin incluyen uno o más “inputs” (entradas) que indican de dónde provienen los fondos y una o más “outputs” (salidas) que indican hacia dónde se dirigen y una firma que valida que el propietario tenía la capacidad de ejecutar la transacciones.
El propósito de Segregated Witness propuesto por Pieter Wuille y que ya está en pruebas en la red testnet es el de agregar todas las firmas de transacciones en el Merkle Tree del componente coinbase de las transacciones.
El merkle tree se construye emparejando cada TXID con otros TXID y luego hasheándolos juntos. Si el número de TXID es impar, la TXID que no tenga una pareja se ordenaría con una copia de si misma.
¿Cómo ayuda Segwit con el límite de 1MB en los bloques?
Segregated Witness elimina la firma de las transacciones y las guarda en una estructura de datos separados. Gracias a este procedimiento el tamaño de la transacción se reduciría y podrían añadirse más transacciones en cada bloque. Justo el día 9 de abril, uno de los bloques de la testnet tenía un tamaño de 1.5MB.
Para Gavin Andresen, Segregated Witness no ayudará a superar el problema de escalabilidad en el que se vería inmersa la red dentro de un corto período de tiempo.
Puedes ver la propuesta completa y original aquí: BIP0141
Y tú, ¿qué opinas, ayudará esta propuesta a Bitcoin? Si estás buscando más información sobre Bitcoin Core, a continuación te dejamos su hoja de ruta de implementaciones.
Bitcoin Classic y el aumento del tamaño de los bloques
Después de propuestas que iban desde los 8 a los 20MB, algunos de los desarrolladores que participaron en la puesta en marcha de Bitcoin XT empezaron a trabajar en esta nueva propuesta y cliente en el que el tamaño de los bloques se vería convencido a 2MB tras los continua no que les hicieron llegar varios de los actuales desarrolladores del Core Bitcoin.
Propuesta de aumento a 2MB
Bitcoin Classic es también una implementación de Bitcoin que presenta un conjunto de propuestas afirmando que Bitcoin debe seguir su camino para lo que fue diseñado, ser una red de pagos descentralizada de persona a persona y no tan solo una forma de almacenamiento de valor.
A su modo de ver, el límite de tamaño de los bloques no está ayudando a la escalabilidad de la red y por eso que lanzan también una propuesta por la que los bloques aumentarían de 1 a 2MB. En caso de que un 75% de la potencia total de minado fuera válidaria de esta opción se produciría el hard fork en la red y la cadena donde los mineros estarían aportando su potencia sería la que sigue para bloques con un blockize de 2MB.
Hoja de ruta de Bitcoin Classic
Este proyecto divide sus propuestas y hoja de ruta en 3 fases que os resumimos a continuación.
FASE 1
Implementar BIP 109 y aumentar el tamaño de los bloques de 1MB a 2MB como comentamos anteriormente. Dicho BIP propone que el incremento se produciría siempre que el 75% de los últimos 1000 bloques sean decididos de ese cambio. En este caso, 750 de 1000 bloques no pudieron ser de mineros que apoyaron Bitcoin Classic.
FASE 2
Reducir el efecto de los tiempos de propagación de los bloques huérfanos.
Optimización y mejoras para el funcionamiento de los nodos con un ancho de banda limitado.
Validación paralela de los bloques y mayor rapidez. Al no revalidar las transacciones cuando se incluyen en un bloque si ya se han validado al entrar en la mempool de un nodo.
FASE 3
Esta fase solo tendrá lugar siempre que los mineros y las compañías confirmen de forma satisfactoria la fase 2. Si todo sucediera de forma satisfactoria empezarían a trabajar en un tamaño de bloques dinámicos en la propuesta de Stephen Pair de BitPay de la que ya hablamos en nuestro artículo sobre bloques dinámicos.
También se añadió una versión simplificada del Segregated Witness de Core.
¿Qué es Bitcoin Unlimited?
Tras el intenso debate de Bitcoin Core vs Bitcoin Classic ¡todavía hay más!
En este caso estamos hablando de la primera implementación que requiere un aumento del tamaño de los bloques para facilitar la escalabilidad de Bitcoin. Como su propio nombre indica no habría un límite establecido forzosamente por código y permitiría a los usuarios definir de forma manual el límite de sus propios nodos. Derivando en un límite que emerge de forma natural.
¿Sin límites y a lo loco?
No ? Bitcoin Unlimited incluye hasta 2 ajustes por defecto para limitar el tamaño de los bloques. La creación de los bloques está definida en 1MB y los mineros no crearían bloques superiores hasta que ellos no lo decidieran.
También es muy importante destacar que algunos de estos nombres más o menos exóticos, representando actualizaciones fuertes de Bitcoin, no solo llevan cambios de entorno al tamaño del bloque. Normalmente llevan implicados más cambios que, a veces, es su totalidad la que puede llevar a cabo al desagrado popular. Algunas de sus propuestas son muy interesantes y prometedoras para un futuro pack de propuestas, bajo un nuevo nombre y, por que no, desarrolladores.
Otras propuestas de escalabilidad bitcoin
Hace unas semanas publicamos un artículo dónde os hablamos de la opción de los bloques dinámicos en Bitcoin, qué desarrolladores trabajaron en ellos y cómo entender las propuestas que habían publicado todos ellos en los foros o en Github modo de BIP (Bitcoin Improvement Proposal).
Desde Meni Rosenfeld a upalc o Bitpay. Si todavía no lo has leído, ¿a qué esperas?
El universo de las altcoins
Bitcoin es un software de código abierto que ha permitido la creación a su alrededor de cientos de criptomonedas alternativas. Es muy difícil dar un número concreto de cuantas altcoins hay en el mercado, ya que muchas están en fase de creación, en procesos de financiación de proyectos o en evolución. Si queréis explorar y conocer algunas de estas podéis hacerlo en CoinMarketCap o en CryptoCompare.