El problema de escalabilidad de Bitcoin refiere a la discusión respecto a los límites de procesamiento de transacciones de la red Bitcoin (BTC).
Esto se relaciona a que la actualización de los registros en la blockchain (realizados mediante el minado de nuevos bloques) están limitados en medida y frecuencia.[1][2]
Los bloques de Bitcoin contienen las transacciones de la red,[3] y la el de procesamiento de transacciones está limitado por dos factores:
- El tiempo de creación de los bloques (10 minutos en promedio).
- El tamaño máximo de los bloques creados (alrededor de 1 MB; potencialmente 4 MB en caso de bloques llenos de transacciones SegWit).
La capacidad de procesamiento de la red estimada usando un tamaño de transacción promedio o mediano sería de entre 3,3 y 7 transacciones por segundo.[4]
En caso de estimaciones usando un tamaño mínimo tanto en complejidad y tamaño el número ascendería a unas 27 transacciones por segundo.[5]
Existen varias soluciones propuestas e implementadas con el fin de abordar esta cuestión. También existen bifurcaciones del protocolo que cuentan con una red propia y una hoja de ruta independiente, así como una capacidad mayor (32 MB por bloque), como Bitcoin Cash, que se bifurcó de la red Bitcoin por un conflicto relacionado con este debate.
Antecedentes
El límite de tamaño de bloque actual (1 MB) es lo que garantiza la seguridad de la red bitcoin, lo que a su vez supone un aumento del costo de transacción y retrasos en el procesamiento de las transacciones en los periodos en los que el volumen aumenta.[6]
El debate sobre la escalabilidad de bitcoin ha resultado un poco polémico, y se plantearion diversas soluciones sobre como hacerlo. Una propuesta consistía en aumentar el tamaño de los bloques y la otra en trasladar las transacciones de poco importe a una segunda capa. Cada estrategia tenía sus partidarios y detractores, aunque el mercado apostó por la escalabilidad en capas y no por aumentar el tamaño de los bloques.
El 26 de marzo de 2017 Business Insider caracterizó este debate como una batalla ideológica sobre el futuro de bitcoin.[7]
Soluciones
Optimización técnica
Las optimizaciones técnicas pueden reducir la cantidad de recursos informáticos necesarios para recibir, procesar e incluir las transacciones en el registro de bitcoin, lo que mejora el rendimiento sin aumentar la demanda a la red.
Estas modificaciones pueden hacerse tanto al protocolo de la red (en cuyo caso se requiere una bifurcación dura o blanda) como a software para nodos individuales:
- La función Pay to script hash activada en bitcoin en 2012 permite ejecutar contratos de script sin incluir todo el contenido del mismo en la cadena de bloques.
- Las habilitación de firmas Schnorr ha sido propuesta como solución de escalado por el desarrollador y cofundador de Blockstream Pieter Wuille e implementada en Bitcoin Cash con éxito.
- Un documento de Mihir Bellare de 2006 propone la agregación de firmas en tamaño O(1), lo que significa que no se necesitaría espacio para cada uno de los firmantes en el caso de transacciones que requieren varias firmas, lo que podría implementarse en conjunto con las firmas Schnorr para reducir varias firmas a una sola firma Schnorr agregada.[8][9][10]
- El formato de transacciones «SegWit» fue activado en bitcoin a finales de 2017 para optimizar el uso del espacio en los bloques.[11]
- «Merkelized Abstract Syntax Trees» (MAST) es una propuesta de Johnson Lau que reduce el tamaño de los contratos inteligentes (scripts complejos) y aumenta su privacidad.
Aumentar el tamaño de los bloques
Una de las soluciones propuestas para aliviar el cuello de botella de la red es la de aumentar el parámetro del tamaño máximo de los bloques permitido por el consenso. Esto ayudaría a agilizar el límite de procesamiento de transacciones de la red permitiendo que se puedan construir bloques más grandes si así lo requiriese la red. Esta solución requiere realizar cambios en el funcionamiento técnico de bitcoin, siendo necesario para ello la ejecución de una bifurcación dura.
Esta solución ha sido apoyada en diferentes variantes por equipos de desarrollo de software para nodo de bitcoin, como Bitcoin XT, Bitcoin Classic y Bitcoin Unlimited, y ha sido implementada por el Bitcoin Cash en 2 ocasiones.
La ejecución de un cambio de este tipo no es excluyente con la implementación de otras mejoras, y a menudo es planteada en conjunto con optimizaciones técnicas.
Sistemas de segunda capa
La implementación de sistemas como segunda capa podría ayudar a aliviar la demanda sobre la red bitcoin al procesar un volumen considerable de los pagos limitandose a usar la cadena de bloques como capa de liquidación. Una de las propuestas de segunda capa para bitcoin más populares es Lightning Network, la cual es esencialmente un sistema de intercambio de transacciones prefirmadas mediante canales bidireccionales usados para el procesamiento de pagos fuera de la cadena. Es un protocolo que tiene como objetivo mejorar la escalabilidad y la velocidad de bitcoin absorbiendo parte de la demanda de la moneda.
Propuestas de aumento del tamaño de bloques de bitcoin
A lo largo de la historia de bitcoin se han hecho varias propuestas de aumento del tamaño máximo de los bloques de bitcoin, así como propuestas para eliminarlo por completo o volverlo un parámetro dinámico:
- En 2015 fueron introducidas las propuestas BIP 100 der Jeff Garzik y BIP 101 de Gavin Andresen.
- En 2015 Bitcoin XT liderado por Mike Hearn y Gavin Andresen propuso aumentar el tamaño de los bloques a 8 MB.[12]
- En 2016 Bitcoin Classic propuso aumentar el tamaño de los bloques a 2 u 8 MB.
- Bitcoin Unlimited implementó «Adjustable Block-size Cap», una función que elimina el límite de 1 MB y lo sustituye por un sistema de ajuste dinámico operado por los mineros.[13]
- El 2016 algunos mineros y desarrolladores suscribieron el "Acuerdo de Hong Kong", el cual refería a la activación de SegWit en diciembre de 2015 y el aumento del tamaño de los bloques a 2 MB.
- SegWit2x fue un proyecto de bifurcación dura para bitcoin respaldado por los firmantes del "Acuerdo de Nueva York" que proponía activar SegWit y luego aumentar el tamaño de bloques a 2 MB.[14]
Véase también
Referencias
- ↑ [The Limits to Blockchain? Scaling vs. Decentralization.] Social Science Research Network. Cybersecurity, Privacy & Networks eJournal. Accessed 21 April 2019.
- ↑ Croman, Kyle; Eyal, Ittay (2016). On Scaling Decentralized Blockchains. doi:10.1007/978-3-662-53357-4_8. Consultado el 10 de diciembre de 2017. «The maximum throughput is the maximum rate at which the blockchain can confirm transactions. Today, bitcoin’s maximum throughput is 3.3–7 transactions/sec [1]. This number is constrained by the maximum block size and the inter-block time.»
- ↑ Andreas M. Antonopoulos (April 2014). Mastering Bitcoin. Unlocking Digital Crypto-Currencies. O'Reilly Media. ISBN 978-1-4493-7404-4.
- ↑ Croman, Kyle; Eyal, Ittay (2016). On Scaling Decentralized Blockchains. doi:10.1007/978-3-662-53357-4_8. Consultado el 10 de diciembre de 2017. «The maximum throughput is the maximum rate at which the blockchain can confirm transactions. Today, bitcoin’s maximum throughput is 3.3–7 transactions/sec [1]. This number is constrained by the maximum block size and the inter-block time.»
- ↑ Georgiadis, Evangelos (2019). How many transactions per second can bitcoin really handle? Theoretically.. Consultado el 26 de abril de 2019. «The exact upper bound for the [theoretical] maximal transaction throughput of the bitcoin protocol [based on protocol specifications] is 27 tps.»
- ↑ Jordan Pearson (14 de octubre de 2016). «‘Bitcoin Unlimited’ Hopes to Save Bitcoin from Itself». Motherboard (Vice Media LLC). Consultado el 17 de enero de 2017.
- ↑ Oscar Williams-Grut and Rob Price (26 de marzo de 2017). «A Bitcoin civil war is threatening to tear the digital currency in 2 — here's what you need to know». Business Insider. Consultado el 2 de julio de 2017.
- ↑ «kanzure/diyhpluswiki». GitHub.
- ↑ https://github.com/bitcoin-core/secp256k1/pull/461
- ↑ «Note that aggsig paper was rejected by ysangkok · Pull Request #479 · bitcoin-core/bitcoincore.org». GitHub.
- ↑ «SegWit está oficialmente activado en la red Bitcoin». CriptoNoticias - Bitcoin, blockchains y criptomonedas. 24 de agosto de 2017. Consultado el 18 de noviembre de 2019.
- ↑ Alex Hern. «Bitcoin's forked: chief scientist launches alternative proposal for the currency». the Guardian. Consultado el 20 de agosto de 2015.
- ↑ «Adjustable Block-size Cap (ABC)». Bitcoinunlimited.info. Consultado el 18 de noviembre de 2019.
- ↑ Vigna, Paul (8 de noviembre de 2017). «Bitcoin Dodges Split That Threatened Its Surging Price». The Wall Street Journal. Consultado el 8 de noviembre de 2017.