Mythbusting: bloques grandes => tarifas cero => spam infinito. Escrito por btcfork
Also available in -English- -Portuguese-
El mito de la demanda infinita de espacio libre en bloque
"La demanda de almacenamiento externo altamente replicado con costo externalizado a precio cero es efectivamente infinita". -gmaxwell, canal IRC # bitcoin-wizards, 16 de enero de 2016 18:05
Este es un mito muy pernicioso que desde entonces ha sido expuesto de manera diversa. Sin embargo, fue muy exitoso en dañar el caso para aumentar el tamaño del bloque de Bitcoin, porque funcionó bastante bien psicológicamente: apelaba al miedo y a un futuro desconocido. Miedo a que los discos de todos se llenen por completo, miedo a que los nodos se bloqueen, un extremo apocalíptico de la red Bitcoin a manos de un Internet que no podría obtener suficientes datos.
La propaganda [1] necesita al menos sonar verdadera en su cara, y la cita de Greg Maxwell ciertamente suena cierta, excepto que se basa en una pequeña falsedad, en el mejor de los casos, una suposición errónea, que hace que caiga en la falsedad.
Esa falacia es que si tuviéramos que aumentar sustancialmente el tamaño máximo de bloque, las tarifas en la red necesariamente caerían hasta que fueran efectivamente cero, al menos tan infinitamente bajas que almacenar grandes cantidades de datos en la red distribuida de nodos de Bitcoin se convertiría en La forma más rentable de almacenar datos.
El almacenamiento de grandes cantidades de datos no transaccionales ha sido, tradicionalmente, un caso de uso desaconsejado en Bitcoin. Hay buenas razones para eso, y si aún no se ha hecho, en algún momento alguien tendrá que escribir un artículo completo para explicar por qué es una mala idea y demostrar que el diseñador del sistema (Satoshi Nakamoto) no alentó eso.
Para explorar la veracidad del mito actual, echemos un vistazo a lo que realmente hemos visto suceder en el mundo real, de forma histórica y mensurable en las cadenas de bloques derivadas de Bitcoin.
Para este artículo, echaré un vistazo a los principales BTC, BCH y BSV.
Pero le animo a que eche un vistazo a algunos de los otros forks (bifurcaciones) de BTC o BCH que ocurrieron y que conservaron al menos parte de sus datos de blockchain principales. Bifurcaciones como Bitcoin Gold, Bitcoin Diamond, Bitcoin Candy y BTCC. Podemos reflexionar sobre si sus historias de blockchain respaldan el mito, o no. La misma técnica se puede aplicar a la franja de altcoins que tienen tarifas de transacción muy bajas.
Desmentido por la realidad: el historial de tamaños de bloques y tarifas en Forks (bifurcaciones) de Bitcoin
Bitcoin (BTC):
Comencemos con el abuelo. ¡Sigue vivo después de más de 10 años! ¿Debe haber estado haciendo algo bien o no? ¿Que podemos aprender de eso?
Un preludio histórico sobre cómo surgió el límite de tamaño de bloque en BTC
La mayoría de nosotros somos conscientes de que BTC ha tenido durante mucho tiempo un límite superior muy restrictivo de 1 MB por bloque. Hubo una gran "guerra" en la comunidad de Bitcoin sobre si elevar este límite, cómo y en qué medida. Para aquellos que no sabían, ese "Gran Debate" [2] es el contexto en el que se originó el mito de este artículo, entre muchos otros.
El límite de 1 MB
Satoshi introdujo un límite de 1 MB en Bitcoin en 2010 Q2 / Q3 para protegerse contra un ataque DoS (denegación de servicio) a través de spam en la cadena con transacciones.
Antes de eso, no había límite de tamaño de bloque codificado en BTC. Sin embargo, había otros límites técnicos en la construcción del software que habrían actuado para evitar bloques demasiado grandes. Con la excepción del límite de tamaño de mensaje de red de ~ 32 MB, los otros no fueron realmente intencionales, por lo que no se podría decir que el Bitcoin "original" se haya limitado intencionalmente a bloques más pequeños que eso.
Como el precio de Bitcoin alrededor de 2010 fue insignificante, prácticamente no le costó al remitente nada emitir transacciones y minarlas. El "spam" habría sido esencialmente gratuito.
Satoshi previó este posible problema, y decidió ponerle un freno en dos propuestas separadas, una donde introdujo un tamaño de bloque máximo y otra donde lo agregó como una verificación de reglas de consenso. La introdujo un poco en secreto, pero poco después les dijo a otros que el límite podría eliminarse en el futuro, lo que demuestra que creía que podría ser innecesario en el futuro.
La mejor explicación de por qué exactamente agregó el límite, es posiblemente la que dio Mike Hearn en su publicación "The Capacity Cliff" [3]. Cito el extracto relevante:
Vale la pena considerar que 1 MB era un tamaño muy inferior a lo que técnicamente podría considerarse "grande" en términos de almacenamiento de datos en 2009/2010. No recuerdo exactamente cuándo dejé de usar disquetes de 1,44 MB, pero fue mucho tiempo antes de eso, y el disco duro de mi PC en ese momento ya podía almacenar unos cientos de miles de esas "unidades de disquete" de 1 MB. Tendría un amplio espacio para almacenar la cadena de bloques de Bitcoin incluso con bloques más grandes, y habría podido actualizar a los discos del tamaño de Terabyte que salieron unos años más tarde bien. Desafortunadamente, no ingresé a Bitcoin lo suficientemente temprano ;-)
Hoy entendemos que el aspecto más peligroso de los bloques grandes no se debe al almacenamiento, sino a que los bloques más grandes podrían requerir un procesamiento desproporcionadamente mayor debido a las deficiencias del primer software de Bitcoin.
El tiempo de procesamiento requerido para validar bloques podría en ciertos casos aumentar más que linealmente con el tamaño del bloque. Ciertos tipos de transacciones maliciosas podrían empeorar este problema, ¡lo que podría hacer que un solo bloque tarde más de 10 minutos en validarse incluso en hardware decente! Si esto sucediera, podría haber interrumpido gravemente la red, ya que los nodos de Bitcoin se ejecutan bajo el supuesto de que el procesamiento de bloques tarda menos de 10 minutos en promedio. Este es el llamado "tiempo objetivo" que el sistema intenta dirigir hacia el uso de ajustes de dificultad.
Imagínese si sus bloques comenzaron a tomar más de 10 minutos para procesar en promedio, y el sistema redujo la dificultad en la respuesta. ¡Esto podría ser un círculo vicioso fugitivo de dificultad para soltar!
Las soluciones de software finalmente se construyeron para corregir estos gremlins de escalabilidad, pero Satoshi sabía que el software no era perfecto, que descargar toda la cadena de bloques también tomaría más tiempo y sería un peligro hasta que se desarrollaran los nodos SPV. Todo eso llevaría tiempo para mejorar, por lo que el límite de 1 MB se introdujo como un espacio intermedio. Hoy existe el software Bitcoin que ha abordado la mayoría o la totalidad de estos problemas, permitiendo de forma segura tamaños de bloque mucho más grandes que 1 MB.
Testigo segregado
La capacidad básica de BTC de 1 MB se incrementó a fines de 2017 con una función de bloqueo de extensión bifurcada llamada Segwit (Segregated Witness). Esto aumentó la capacidad efectiva de BTC en una pequeña cantidad, aunque no hay nada de qué entusiasmarse realmente.
La mejora efectiva de la capacidad de BTC está en algún lugar entre 2-3, dependiendo de la combinación de transacciones. Ciertamente es menor que el límite superior teórico duro de 4 MB para el tamaño máximo del bloque de base + extensión.
La mayor parte de la capacidad adicional que ofrece SegWit aún no se usa prácticamente, ya que depende del porcentaje de transacciones que usan Segwit. Esa adopción no ha sido rápida ni muy extensa. Pero SegWit no se introdujo principalmente para aliviar la limitación en el tamaño de bloque. En cambio, su objetivo principal era arreglar la maleabilidad para que la construcción de la Red Lightning (LN) fuera más sencilla.
Basado en las características de SegWit, LN iba a ser el Dorado de la escalabilidad en BTC, prometiendo una capacidad transaccional casi infinita sin lograr explicar cómo sería técnicamente factible en un sustrato de bloque pequeño. Los observadores críticos señalaron que el documento técnico original de LN habló de bloques de Bitcoin de 133 MB como guía, para poder incorporar a un número sustancial de la población mundial. Esta cifra fue luego eliminada de los documentos oficiales de Lightning.
Entonces, ¿qué podemos inferir del historial de blockchain de BTC?
Desde 2009 hasta mediados de 2012, los bloques en Bitcoin fueron muy pequeños. Se había corrido la voz acerca de Bitcoin, y aunque el precio aún era bajo (unos pocos USD), comenzó a atraer cierto interés por parte de los primeros entusiastas. La red crecía libremente ya que la capacidad de la red excedía mucho la demanda de espacio en bloque.
El número de usuarios y la demanda de espacio en bloque aumentaron constantemente desde 2012 en adelante. Alrededor de 2015-2016, algunos de los desarrolladores de Core Bitcoin se preocuparon por alcanzar el límite de tamaño de bloque al público [3, 4, 5].
La comunidad de desarrollo ya se había dividido a lo largo de la división de si el límite debería aumentarse como Satoshi había sugerido, o no.
Echemos un vistazo a las tasas de tarifas históricas en BTC. La tabla a continuación muestra la tarifa promedio por transacción, en USD.
¿Ves lo que estoy viendo? Es posible que necesite ver el gráfico fuente con más detalle para verificar esto, pero las tarifas de transacción en BTC fueron extremadamente bajas (del orden de unos pocos centavos) hasta mediados de 2016. Comenzaron a aumentar lentamente durante el segundo trimestre de 2016 y luego mucho más fuertemente en 2017, llegando a su punto máximo a fines de 2017 / principios de 2018.
Aquí hay otro gráfico sobre la tasa de tarifa histórica, para comparar. Este es en los últimos 5 años (a partir del 01-01-2015), y las tarifas están en satoshi / byte, por lo que las fluctuaciones no son tan pronunciadas como en el gráfico anterior, que tiene en cuenta la multiplicación con un fuerte aumento precio histórico de USD de Bitcoin en 2017. Sin embargo, es visible un patrón similar de escalada hacia finales de 2017. El período de turbulencia en 2017 Q2-Q4 se debe al menos en parte a la creación de Bitcoin Cash (BCH), una bifurcación rival que presentó una alternativa importante a BTC, y ciertamente drenó algo de demanda y se alejó de ella, impulsando temporalmente los aumentos de tarifas en BTC. BCH inicialmente también causó oscilaciones de hashpower y demanda en ambos lados de las redes, que se estabilizaron en gran medida por una actualización el 15 de noviembre de 2017.
Pero volvamos al mito.
Mirando hacia atrás en la historia de BTC hasta 2016-2017, y pensando en la sugerencia de que tarifas extremadamente bajas invitarían a una demanda externa infinita de espacio en bloque ... ¿Dónde sucedió eso? No lo hizo!
Los bloques de BTC no se llenaron "de la noche a la mañana", a pesar de que había suficiente espacio de bloques disponible (al menos hasta los límites suaves de ~ 750kB utilizados por los mineros, más tarde elevado al límite duro de 1 MB). En cambio, el crecimiento de la demanda fue gradual, durante varios años, incluso cuando BTC tuvo un valor muy bajo en comparación con 2016-2017.
Si observamos más a fondo la historia de la cadena de bloques BTC, este crecimiento se debió en su mayoría a transacciones financieras, no a personas que almacenan grandes cantidades de datos arbitrarios en la cadena de bloques. ¿Esto se debe al hecho de que los desarrolladores de BTC hicieron que sea más difícil almacenar datos arbitrarios en la cadena?
Quizás ese fue un factor contribuyente, pero podemos ver el caso de la cadena de bloques de Bitcoin Cash para obtener más pistas.
Bitcoin Cash (BCH):
BCH aumentó el tamaño máximo de los bloques, primero a 8 MB (agosto de 2017) y luego a 32 MB (mayo de 2018). También aumentó la cantidad de datos arbitrarios que podrían almacenarse junto con una sola transacción, de 80 bytes a ~ 220 bytes [6]. Haciendo que sea mucho más fácil almacenar más datos.
Entonces, por supuesto, la cadena fue inmediatamente enviada a la basura, ¿verdad? ¡Nuevamente incorrecto!
El gráfico muestra los tamaños de bloque promedio diario en BCH (verde) y BTC (naranja):
Como podemos ver, en promedio a largo plazo, los bloqueos en BCH no han sido tan grandes como los de BTC, aún. Esto podría tener algo que ver con que BCH tuvo que reconstruir gran parte de su adopción desde cero, habiendo comenzado como una bifurcación minoritaria y, a través de varias fases, perdió una gran cantidad de hashpower y precio en relación con BTC. BCH también se dividió en noviembre de 2018 cuando Bitcoin SV se bifurcó para crear BSV. Esta división dañina redujo aún más el efecto de red que BCH había estado construyendo gradualmente, con algunos usuarios / empresas yendo a BSV a pesar de que la mayoría permaneció con BCH.
Más sobre BSV más adelante, echemos un vistazo a otro gráfico de BCH, que muestra cómo se comparan sus tarifas de transacción con las de BTC:
Podemos ver que las tarifas relativas en BCH fueron más bajas que las de BTC en un factor de hasta varios miles. En este momento de la escritura, las tarifas de BCH son varios cientos de veces más bajas que BTC:
De hecho, aquí está el gráfico histórico de las tarifas de BCH tx, en USD:
Whoa, ¿esas tarifas realmente disminuyen con el tiempo?
Como podemos ver en esos gráficos, a pesar de que las tarifas promedio en BCH son mucho más bajas que las de BTC, los tamaños de bloque de BCH han sido relativamente pequeños en comparación con BTC.
Sí, ha habido momentos en que se produjeron bloques BCH de hasta 16 o 32 MB (no se muestran en la Figura N anterior porque es el promedio diario). Sin embargo, el tamaño de bloque promedio es quizás más parecido a 100 kb hasta ahora, con solo unos pocos tramos donde el promedio sobresale por encima de eso.
De hecho, la historia de BCH es suficiente para desacreditar el mito de que los bloques grandes y las tarifas bajas conducen automáticamente a cierta demanda para almacenar cantidades infinitas de datos en una cadena. Todos los días que BCH sobrevive, parece clavar un clavo más en el ataúd de esa teoría.
"¿Pero qué pasa con BSV?" - ¡Has escuchado a algunas personas decir que tiene grandes bloques! ¡Veamos ese caso (algo extraño)!
Bitcoin SV (BSV):
Aquí es donde las cosas se ponen raras. No, en serio, has sido advertido.
En 2018, la actualización de red habitual de Bitcoin Cash el 15 de noviembre no iba a ser tan fluida. Un tiempo antes, después de un período de semanas / meses de discusiones con el resto de la comunidad de Bitcoin Cash, un grupo de partidarios de Craig Wright y Calvin Ayre se separó con sus propias reglas de consenso y hashrate para crear Bitcoin SV (BSV).
Entre otras cosas, decidieron que debían aumentar de inmediato el tamaño máximo de bloque permitido a 128 MB, y seguir una hoja de ruta que lo incrementó agresivamente a 2 GB (mayo de 2019) y tienen la intención de eliminar por completo el límite de tamaño de bloque (entre otras cosas) para 2020 .
Entonces estás diciendo ...
Si. Por ahora, han cambiado el código fuente para que el número aumente a 2GB. Hay otros cambios de elevación de límite, excepto para aumentar el tamaño de bloque. BSV aumentó significativamente el tamaño del soporte de datos, al menos a 100kB, posiblemente más. Su plan oficial ha sido atraer proveedores de datos para almacenar datos en su cadena para monetizarlos.
En consecuencia, si espera algunos bloques más grandes, ¡no debería decepcionarse al encontrar algunos!
Espera, que es eso? ¿Un gráfico de registro?
¿Estoy tratando de engañarte para que pienses que los bloques BSV son más pequeños de lo que realmente son?
¿Podría ser que son más grandes en realidad, ya que el mito nos haría creer que sería la consecuencia lógica de "abrir las compuertas" a "gigamegs"?
No. Voy a tener que decepcionarte aquí. Si observa el gráfico original y cambia al modo lineal, verá que los bloques diarios promedio en BSV siguen siendo bastante pequeños, alrededor de 1.9 MB en el momento de la escritura. Eso es más grande que los bloques de BTC, pero no es un caso de "bloques completos" como lo que el mito nos haría creer.
¿Es quizás porque la gente de BSV está cobrando tarifas tan altas que mantiene a raya esa demanda externa casi infinita?
Ese no es el caso tampoco, cuando verificamos las tarifas:
Las tarifas de BSV son actualmente las más bajas de las 3 cadenas, sin embargo, ninguna de esa demanda 'efectivamente infinita' se lanzó para saturar la cadena de BSV con grandes bloques.
Si miramos más de cerca lo que históricamente ha causado grandes bloques en BSV, han sido las pruebas de estrés que su comunidad ha llevado a cabo en su red principal. No estoy seguro de que cuente como "demanda" cuando ocasionalmente ocasiona que una empresa sufra tiempo de inactividad y declare que dejará de ejecutar un nodo completo de BSV.
Los partidarios de BSV han subido muchas fotos entusiastas de videos, canciones y videos caseros, algunos aparentemente con lazos financieros con las empresas que crearon BSV y básicamente dirigen el programa en lo que respecta a las inversiones en otras startups. Se ha especulado que gran parte del tráfico que se ve en la red BSV en realidad se genera menos a partir de la demanda real por parte de actores independientes, y más para generar lo que parece un volumen de transacción, pero en realidad es almacenamiento de datos como datos meteorológicos, datos de contaminación del aire, datos del mercado financiero y similares.
Terminemos la revisión de los datos de blockchain de las principales bifurcaciones de Bitcoin BTC, BCH y BSV en este punto.
Quizás podamos estar de acuerdo en que el mito de los actores externos que llenan una cadena de bloques más grande debido a la demanda legítima de almacenamiento de datos que tienen, no se materializó.
Quizás eso se deba a que el almacenamiento masivo se ha vuelto tan económico. O tal vez solo necesitemos esperar más, tal vez sucederá en 18 meses ;-)
Si está tan motivado, investigue la situación en cualquiera de las numerosas bifurcaciones de Bitcoin que tienen una baja calificación en el mercado o que se han retirado. Es posible que deba investigar un poco, ya que es poco probable que la mayoría de las personas las conozcan. Me arriesgaré a que no encuentres nada que hubiera vivido si no hubieras muerto a manos de este mito. No he oído hablar de una sola instancia de este tipo.
Ahora, es totalmente posible que algún bromista salga después de leer este artículo, y realice spam con algunos centavos en algunos blockchain muertos , solo para demostrar que hay algo en este mito. Para él / ella / eso digo: ¿realmente le importará a alguien si aniquilas un shitcoin solo por defender un argumento? Intenta hacerlo con cualquier moneda que tenga algo de peso.
Una cosa más.
Para finalmente poner fin al mito, con los honores académicos adecuados.
Peter Rizun intenta romper este mito con la ciencia
En 2015, cuando el Gran Debate de Escalamiento de Bitcoin ya estaba bastante acalorado, Peter Rizun publicó un artículo titulado "Existe un mercado de tarifas de transacción sin un límite de tamaño de bloque" [10]. Se difundió y discutió ampliamente, al menos en la comunidad que favorecía el escalado en cadena a través (entre otras cosas) del aumento del tamaño de bloque, y fue presentado por Peter en la conferencia Scaling Bitcoin en Montreal [9].
Exponía elocuentemente tanto el caso económico como el teórico de la información contra el mito que hemos examinado empíricamente hasta ahora.
"El documento [...] muestra que no puede existir un mercado de tarifas poco saludable, donde los mineros son incentivados para producir bloques arbitrariamente grandes, ya que requiere la comunicación de información a una velocidad arbitrariamente rápida".
- Peter R. Rizun, en resumen de [10]
¡Te recomiendo que veas la presentación en video de la presentacon sobre el papel si aún no lo has hecho!
Encontrarás que otros académicos (J. Stolfi fue uno que encontré) criticaron algunos de los supuestos del periódico. Sin embargo, creo que presenta un argumento central fuerte, y como tal vale la pena estudiarlo.
Finalmente, lo empírico tiene la última palabra en cualquier debate con lo teórico :-)
"En teoría no hay diferencia entre la teoría y práctica. En la práctica sí la hay".
Espero que hayas disfrutado este artículo. Si tiene preguntas, algunos datos adicionales interesantes, o simplemente desea discutir sobre los materiales presentados y su interpretación, ¡nos veremos en los comentarios!
Creditos: btcfork
Referencias
[2] https://hackernoon.com/the-great-bitcoin-scaling-debate-a-timeline-6108081dbada
[3] https://medium.com/@octskyward/the-capacity-cliff-586d1bf7715e
[4] http://gavinandresen.ninja/time-to-roll-out-bigger-blocks
[5] https://medium.com/@jgarzik/bitcoin-is-being-hot-wired-for-settlement-a5beb1df223a
[6] https://news.bitcoin.com/bitcoin-cash-upgrade-milestone-complete-32mb-and-new-features/
[7] what is a gigameg? (Youtube)
[8] https://np.reddit.com/r/btc/comments/bes7dz/calvin_ayre_talking_out_his_ass_about_regular/
[9] Peter Rizun presentation at Scaling Bitcoin 2015 in Montreal (Youtube)
[10] "A Transaction Fee Market Exists Without a Block Size Limit", Peter R. Rizun [PDF]
...and you will also help the author collect more tips.
Gracias!
Because this was a long article and certainly a lot of work to translate, you get +75 MYTHBUSTER.
txid: 70e0d1e8d813ec9b820b9539f10e7e9431a1453c6152fca055e19965d62b6245
Please note I corrected in the original:
"Figure N" -> "Figure 4"
there are two links to Satoshi's github commit, both of which are the same, but the second one ("reglas de consenso") should be changed to : https://github.com/bitcoin/bitcoin/commit/172f006020965ae8763a0610845c051ed1e3b522