Un análisis del procesamiento por lotes en Bitcoin

El 6 de mayo de 2017, Bitcoin alcanzó un máximo histórico en transacciones procesadas en la red en un solo d ay: movió 375,000 transacciones que representaron una producción nominal de alrededor de $ 2.5 mil millones. Las tarifas promedio en la red Bitcoin habían subido más de un dólar por primera vez un par de días antes. Y siguieron subiendo: a principios de junio, las tarifas promedio alcanzaron los $ 5.66 dólares. Esto fue algo sin precedentes. En el período de tres años desde el 1 de enero de 2014 al 1 de enero de 2017, las tarifas por transacción nunca habían excedido los 31 centavos en promedio semanal. Y los golpes siguieron llegando. Antes de que terminara 2017, las tarifas promedio alcanzarían un máximo de $ 48 por semana. Cuando se produjo la recesión criptográfica, el recuento de transacciones colapsó y las tarifas volvieron a bajar por debajo de $ 1.

Durante los días más febriles del período previo a Bitcoin, cuando los usuarios normales se encontraron con saldos cuyo envío costaría más de lo que valían, los gritos por el procesamiento por lotes (la agregación de muchas salidas en una sola transacción) se hicieron más fuertes que nunca. David Harding había escrito una publicación en el blog sobre los ahorros de costos de procesamiento por lotes a fines de agosto y se volvió a publicar en el subreddit de Bitcoin a diario.

La idea era simple: para las entidades que envían muchas transacciones a la vez, agrupar los resultados en una sola transacción era más eficiente en términos de espacio (y costo), porque cada transacción tiene una sobrecarga de datos fija. David descubrió que si combinaba 10 pagos en una transacción, en lugar de enviarlos individualmente, podría ahorrar el 75% del espacio del bloque. Esencialmente, el procesamiento por lotes es una forma de empaquetar tantas transacciones como sea posible en el espacio de bloque finito disponible en Bitcoin.

Cuando las tarifas comenzaron a subir a mediados de 2017, los usuarios comenzaron a escudriñar el comportamiento de los usuarios habituales de la cadena de bloques de Bitcoin para determinar si estaban usando el espacio de bloques de manera eficiente. En general, no lo fueron, y comenzó una campaña de cabildeo informal, en la que se pidió a estos principales usuarios, principalmente intercambios, que comenzaran a agrupar transacciones y fueran buenos administradores del escaso espacio de bloques a su disposición. Algunos intercambios se habían estado agrupando durante años, otros cedieron y lo implementaron. La pregunta se desvaneció después de que el precio de Bitcoin colapsó en el primer trimestre de 2018 de aproximadamente $ 19,000 a $ 6000, y la carga de transacciones, y por lo tanto la tarifa promedio, disminuyó.

Pero seguimos sintiendo curiosidad. Un estribillo común, durante el colapso del uso en cadena, fue que el recuento de transacciones era un método confuso de comprender el uso real. La idea era que las transacciones pudieran codificar una cantidad arbitrariamente grande (dentro de lo razonable) de pagos, por lo que si el procesamiento por lotes se había vuelto cada vez más frecuente, esos pagos aún se estaban produciendo, justo bajo un régimen de menos transacciones.

Algunos sitios aparecieron para informar resultados y pagos por día en lugar de transacciones, aparentemente molestos por la cobertura de la disminución del recuento de transacciones. Sin embargo, nadie realizó un análisis de la relación cambiante entre el recuento de transacciones y los productos o pagos. Nos encargamos de averiguarlo.

Tabla de contenido:

1. Introducción al procesamiento por lotes

Bitcoin utiliza un modelo UTXO , que significa Salida de transacción no gastada . En comparación, Ripple y Ethereum usan un modelo de cuenta / saldo. En bitcoin, un usuario no tiene saldos, solo UTXO que controla. Si desean transferir dinero a otra persona, su billetera selecciona una o más UTXO como entradas que, en suma, deben sumar la cantidad que desean transferir. La cantidad deseada luego va al destinatario, que se denomina salida , y la diferencia vuelve al remitente, que se denomina cambio de salida . Cada salida puede tener una cantidad virtualmente ilimitada de valor en forma de satoshis . Un satoshi es una unidad que representa una cien millonésima parte de un Bitcoin. Esto es muy similar a una billetera física llena de diferentes denominaciones de billetes. Si está comprando un bocadillo por $ 2.50 y solo tiene $ 5, no le entrega al cajero la mitad de su billete de 5 dólares; le da los 5 y recibe un cambio.

Desconocido para algunos, no existe un límite codificado para la cantidad de transacciones que pueden caber en un bloque. En cambio, cada transacción tiene un tamaño determinado en megabytes y constituye un incentivo económico para que los mineros la incluyan en su bloque. Debido a que los mineros tienen un espacio limitado de 2 MB para vender a los operadores, las transacciones más grandes (en tamaño, ¡no en bitcoins!) Deberán pagar tarifas más altas para ser incluidas. Además, cada transacción puede tener un número virtualmente ilimitado de entradas o salidas; el récord se sitúa en transacciones con 20.000 entradas y 13.107 salidas.

Entonces, cada transacción tiene al menos una entrada y una salida, pero a menudo más, así como algunas cosas estándar adicionales. La mayor parte de ese espacio lo ocupa la entrada (a menudo el 60% o más, debido a la firma que prueba que realmente pertenece al remitente), mientras que la salida (s) representa el 15-30%. Para mantener las transacciones lo más pequeñas posible y ahorrar tarifas, los usuarios de Bitcoin tienen dos opciones principales:

Esto es algo que muchos comentaristas casuales pasan por alto cuando comparan Bitcoin con otros sistemas de pago: ¡una transacción de Bitcoin puede agregar miles de transferencias económicas individuales! Es importante reconocer esto, ya que es la fuente de una gran cantidad de malentendidos y análisis erróneos.

Nunca hemos encontrado una definición común de una transacción por lotes, por lo que para los propósitos de este estudio la definimos en el sentido más amplio posible: una transacción con tres o más salidas . Comúnmente, el procesamiento por lotes se entiende como una actividad realizada principalmente por grupos de minería o intercambios que pueden intercambiar la inmediatez por la eficiencia. Es raro que un usuario normal de bitcoin tenga motivos para realizar lotes y, de hecho, la mayoría de las carteras dificultan o imposibilitan la construcción de transacciones por lotes. Para fines cotidianos, es probable que los bitcoiners normales no hagan el esfuerzo adicional de agrupar transacciones.

Establecemos el umbral en tres en aras de la simplicidad: una transacción normal sin lotes tendrá una salida transaccional y una salida de cambio, pero la transacción por lotes principal típica de un intercambio tendrá docenas, si no cientos, de salidas. Por esta razón, tenemos cuidado de proporcionar datos sobre varios tamaños de lotes diferentes, de modo que podamos determinar la prevalencia de transacciones de tres salidas y colosales de 100 salidas.

Nos resulta útil pensar en una transacción de Bitcoin como un camión de correo lleno de cajas. Cada camión (transacción) contiene cajas (salidas), cada una contiene un número de letras (satoshis). Entonces, cuando observa el recuento de transacciones como una medida del rendimiento y el rendimiento económico de la red Bitcoin, es un poco como contar camiones de correo para discernir cuántas cartas se envían en un día determinado. aunque el número de letras puede variar enormemente. La analogía del camión también deja en claro por qué muchos ven a Bitcoin como una capa de liquidación en el futuro, así como los camiones de correo no se envían hasta que están llenos, algunos imaginan que lo mismo sucederá finalmente con Bitcoin.

2. Una línea de tiempo

Entonces, ¿qué sucedió realmente en los últimos seis meses? Veamos algunos datos. Las transacciones diarias en la red de Bitcoin aumentaron de manera constante hasta aproximadamente mayo de 2017, cuando las tarifas promedio alcanzaron los $ 4. Esto precipitó el primer colapso en el uso. Luego comenzó una serie de ciclos de retroalimentación durante los siguientes seis meses en los que la carga de transacciones aumentó, las tarifas aumentaron para igualar y las transacciones disminuyeron. Este ciclo se repitió cinco veces durante la segunda mitad de 2017.

La línea roja sólida en el gráfico anterior son las tarifas en términos de BTC (no USD) y el área sombreada en rojo es el recuento de transacciones diarias. Puede ver que el ciclo de carga de transacciones precipita tarifas más altas que a su vez provocan una reducción en el uso. Se repite cinco o seis veces antes de la distensión en la primavera de 2018.El período más notable fue la crisis de tarifas de diciembre a enero, pero las tarifas en realidad eran bastante típicas en términos de BTC; sin embargo, el aumento del precio de BTC en USD significó que las tarifas de USD alcanzaron cifras extremas .

A mediados de noviembre, cuando las tarifas alcanzaron los dos dígitos en términos de USD, los usuarios comenzaron una campaña concertada para convencer a los intercambios de ser mejores administradores del espacio en bloque. Tanto Segwit como el procesamiento por lotes se consideraron enfoques significativos para maximizar la compresión de las transacciones de Bitcoin en el espacio de bloque finito disponible. Los datos sobre cuándo los intercambios comenzaron a procesar por lotes son escasos, pero recopilamos información donde estaba disponible en un gráfico que resume cuándo comenzaron los intercambios a procesar por lotes.

Estamos ignorando la adopción de Segwit por los intercambios en este análisis; En lo que respecta al procesamiento por lotes, la campaña para obtener intercambios por lotes parece haber persuadido a Bitfinex, Binance y Shapeshift de hacerlo. Coinbase / GDAX han declarado su intención de comenzar a procesar por lotes, aunque aún no han logrado integrarlo. Por lo que sabemos, Géminis no ha mencionado el procesamiento por lotes, aunque tenemos algunas pruebas mixtas de que pueden haber comenzado recientemente. Si conoce el estado del procesamiento por lotes en Gemini u otros intercambios importantes, póngase en contacto.

Así que algunos intercambios se han estado acumulando todo el tiempo y otros nunca se han molestado en absoluto. ¿El subconjunto de intercambios que activó el interruptor afectó materialmente la prevalencia de transacciones por lotes? Averigüemos.

3. Análisis

3.1 ¿Qué tan común es el procesamiento por lotes?

Medimos la prevalencia del procesamiento por lotes de tres formas diferentes, por recuento de transacciones, por valor de salida y por recuento de salida.

El procesamiento por lotes representa aproximadamente el 12% de todas las transacciones, el 40% de todas las salidas y el 30-60% de todo el valor de salida BTC sin procesar. No está mal.

3.2 ¿Las transacciones por lotes se han vuelto más comunes con el tiempo?

En el gráfico de 3.1, ya podemos ver una tendencia alcista pequeña, pero constante, en las tres métricas, pero queremos profundizar un poco más. Por lo tanto, primero analizamos la relación de los pagos (todos los productos que realmente pagan a alguien, por lo que el total de productos menos los cambios de productos) y las transacciones.

Lo primero que se vuelve obvio es que la narrativa popular – que la caída en las transacciones fue causada por un aumento en el procesamiento por lotes – no es el caso; los pagos también se redujeron aproximadamente en la misma proporción.

Dividir el recuento de pagos por el recuento de transacciones nos da una idea de la relación entre los dos.

En nuestro análisis, queremos acercarnos al marco de tiempo entre noviembre de 2017 y hoy, y podemos ver que los pagos por transacción en realidad se han recuperado, de 1,5 pagos por transacción a principios de 2017 a casi dos en la actualidad.

3.3 ¿Cuáles son los tamaños de lote populares?

En la siguiente parte, analizaremos los tamaños de lote para ver cuáles son los más populares. Para determinar qué transacciones se agruparon, descargamos un conjunto de datos de todas las transacciones en la red Bitcoin entre noviembre de 2017 y mayo de 2018 de Blockchair.

Elegimos ese período porque la crisis de tarifas realmente comenzó a mediados de noviembre y, con él, las demandas de intercambios por lotes. Así que queríamos capturar el efecto de los intercambios que comienzan a agruparse. Naturalmente, una muestra más grande hubiera sido más instructiva, pero teníamos recursos limitados, por lo que comenzamos con la muestra de seis meses.

Agrupamos las transacciones en grupos “por lotes” y “no por lotes”, siendo las transacciones por lotes aquellas con tres o más salidas .

Luego, dividimos las transacciones por lotes en grupos aproximadamente iguales en función de la cantidad total de producción en BTC que habían representado en el período de seis meses. No seleccionamos los tamaños de los lotes manualmente, seleccionamos tamaños de lotes que dividirían la muestra en partes iguales según el valor de la transacción. Esto es lo que obtuvimos:

Todos los depósitos de lotes tienen casi la misma fracción de la producción total de BTC durante el período, pero representan cuentas de transacciones y salidas radicalmente diferentes durante el período. Observe que solo hubo 183,108 lotes “extra grandes” (con 41 o más salidas) en el período de seis meses, pero entre ellos hubo 23 millones de salidas y 30 millones de BTC de valor transmitido.

Tenga en cuenta que el valor de salida en este contexto se refiere a la cifra bruta o no ajustada; nos habría resultado prohibitivamente difícil ajustar la salida para cambios o combinaciones, por lo que estamos utilizando la estimación “ingenua”.

Veamos cuántas transacciones tuvieron en cuenta los distintos tamaños de lote en el período de muestra:


Las transacciones por lotes aumentaron constantemente en relación con las no agrupadas, aunque la fracción más grande es el lote pequeño con entre 3 y 5 salidas. La historia de los recuentos de producción es un poco más esclarecedora. Aunque las transacciones por lotes son una fracción relativamente pequeña del recuento total de transacciones, contienen una cantidad significativa de resultados generales. Veamos cómo se descompone:


Por último, veamos el valor de salida. Aquí vemos que las transacciones por lotes representan una fracción significativa del valor transmitido en Bitcoin.


Como podemos ver, a pesar de que las transacciones por lotes representan un promedio de solo el 12% de todas las transacciones, se mueven entre el 30% y el 60% de todos los Bitcoins, en las horas pico incluso el 70%. Creemos que esto es bastante notable. Sin embargo, tenga en cuenta que la cifra de “producción total” no se ha modificado para tener en cuenta las salidas de cambio, los mezcladores o la rotación automática; es decir, es la cifra bruta y sin ajustar. Por lo tanto, el valor de producción total no es una aproximación ideal del volumen económico en la red Bitcoin.

3.4 ¿El recuento de transacciones se ha convertido en una medida poco confiable del uso de Bitcoin debido al procesamiento por lotes?

Sí. Recomendamos encarecidamente a todos los analistas, inversores, periodistas y desarrolladores que de ahora en adelante miren más allá del mero recuento de transacciones. La medida predeterminada del rendimiento de Bitcoin debería ser “pagos por día” en lugar del recuento de transacciones. Esto también hace que Bitcoin sea más comparable con otras cadenas UTXO. Por lo general, tienen proporciones de pagos por transacción significativamente variables, por lo que solo usar pagos estandariza eso. (Estén atentos: Coinmetrics implementará herramientas para facilitar esto muy pronto).

De manera más general, pensamos que el valor económico transmitido en la red es su característica más fundamental. Tanto las cifras ingenuas como las ajustadas merecen ser consideradas. Ajustar el valor de la producción bruta es todavía más un arte que una ciencia, y las mejores prácticas aún se están desarrollando. Una vez más, Coinmetrics está desarrollando activamente herramientas de código abierto para que estos ajustes estén disponibles.

4. Conclusión

Comenzamos revisando el año pasado en Bitcoin y mostramos que mientras el mempool estaba congestionado, la comunidad comenzó a buscar formas de usar el espacio de bloques de manera más eficiente. La atención se centró rápidamente en el procesamiento por lotes, la práctica de combinar varias salidas en una sola transacción, para usuarios intensivos. Mostramos cómo funciona el procesamiento por lotes a nivel técnico y cuándo diferentes intercambios comenzaron a implementar la técnica.

Hoy en día, alrededor del 12% de todas las transacciones en la red Bitcoin se agrupan, y estas representan aproximadamente el 40% de todas las salidas y entre el 30 y el 60% de todo el valor transaccional. El hecho de que un pequeño conjunto de transacciones tenga tanto peso económico nos hace tener la esperanza de que Bitcoin todavía tenga mucho espacio para escalar en la capa base, especialmente si continúan las tendencias de uso.

Por último, vale la pena señalar que el aumento del procesamiento por lotes en la red de Bitcoin puede no deberse exclusivamente a una acción deliberada de los intercambios, sino más bien a una función de su comportamiento recesivo en los últimos meses.Dado que el procesamiento por lotes generalmente lo realizan grandes actores industriales como intercambios, mezcladores, procesadores de pagos y grupos de minería, y las transacciones sin lotes generalmente las realizan personas normales, la proporción de lotes / sin lotes también es un indicador sólido de cuánto usuarios promedio están usando Bitcoin. Desde el colapso del precio, es muy posible que el uso individual de Bitcoin disminuya mientras que el uso “industrial” se mantuvo fuerte. Esto es especulación, pero una explicación de lo que sucedió.

Por otra parte, los actores industriales parecen estar tomando más en serio su papel de administradores del escaso espacio de bloques. Esta es una bendición significativa para la red y un desarrollo no trivial en su historia. Si se puede fomentar una cultura de parsimonia, Bitcoin podrá comprimir más datos en su espacio de bloques y los usuarios cotidianos seguirán pudiendo ejecutar nodos en el futuro previsible. Vemos esto como un avance muy positivo. Los miembros de la comunidad de Bitcoin que presionaron a los intercambios para agregar soporte para Segwit y el procesamiento por lotes deberían estar orgullosos de sí mismos.

5. Contenido adicional: consolidación UTXO

¿Recuerda que dijimos que una segunda forma de ahorrar sistemáticamente las tarifas de transacción en la red Bitcoin era consolidar sus UTXO cuando las tarifas eran bajas? Observar la relación entre el recuento de entrada y el recuento de salida nos permite detectar bastante bien estas fases de consolidación.

Normalmente, las entradas y las salidas se mueven juntas. Cuando la red está estresada, se desacoplan. Si observa detenidamente el gráfico anterior, notará que cuando las transacciones son elevadas (y el espacio de bloque es escaso), las salidas superan las entradas; observe las brechas en mayo y diciembre de 2017. Sin embargo, la actividad prolongada siempre resulta en fragmentaciones Conjuntos y carteras UTXO llenas de polvo, que hay que consolidar. Para esto, los usuarios a menudo esperan hasta que la presión en la red haya disminuido y las tarifas sean más bajas. Por tanto, después de que las transacciones disminuyen, los insumos se vuelven más comunes que los productos. Puede ver esto claramente en febrero / marzo de 2017.

Aquí hemos tomado la relación entre entradas y salidas (que se han suavizado en los últimos 7 días). Cuando la relación es más alta, hay más entradas que salidas ese día y viceversa. Puede ver claramente el ataque de spam en el verano de 2015 en el que se crearon y consolidaron miles (posiblemente millones) de resultados. Una vez que la proporción aumenta, eso es consolidación. El pico en febrero de 2018 después de las seis semanas de tarifas altas en diciembre de 2017 fue el suspiro de alivio más pronunciado en la historia de Bitcoin; la mayor desviación de la norma de relación de entrada / salida. Había una gran cantidad de UTXO por consolidar.

También es interesante observar dónde se agrupan las entradas y salidas. Aquí tenemos histogramas de transacciones con un gran número de entradas o salidas. Como era de esperar, los números redondos son comunes, lo que muestra que los intercambios no publican una transacción cada, digamos, dos minutos, sino que esperan a que 100 o 200 resultados se pongan en cola y luego publiquen su transacción. Curiosamente, las transacciones de 200 entradas fueron más populares que las transacciones de 100 entradas en el período.


Nos encontramos con más curiosidades al investigar este artículo, pero las dejaremos para otro momento.

El trabajo futuro sobre el procesamiento por lotes podría centrarse en:

Por último, animamos a todos a ejecutar sus transacciones a través del servicio en transactionfee.info para evaluar la eficiencia de sus transacciones y determinar si los intercambios están siendo buenos administradores del espacio de bloques.

Actualización 31.05.2018

Antoine Le Calvez ha creado una serie de gráficos actualizados en vivo para realizar un seguimiento de los lotes y los tamaños de los lotes, que puede encontrar aquí .

Nos gustaría agradecer a 0xB10C su generosa ayuda con conjuntos de datos y consejos, a la gente de Blockchair por proporcionar los conjuntos de datos básicos y David A. Harding por escribir la pieza inicial y responder a nuestras preguntas.

Este estudio de investigación fue realizado y escrito por Nic Carter y @hasufly .