La competencia por el espacio de bloques de Ethereum es extremadamente feroz y las transacciones enviadas dentro de los últimos segundos del intervalo de bloque tienen una ventaja de información.
Escrito por: Trípoli
Compilado por: 0x11, Foresight News
A principios de esta semana, hice una pregunta en un AMA de Reddit organizado por la Fundación Ethereum y una de las respuestas me llamó la atención:
¡Espero ver cómo cambian los tiempos de presentación de ofertas después de la fusión!
En teoría, el tiempo promedio de empaquetamiento debería reducirse aproximadamente a la mitad después de la fusión, ya que el tiempo esperado hasta el siguiente bloque ahora es de 6 segundos en comparación con los 13 segundos anteriores, y los tiempos de empaquetamiento más regulares también reducen el pico. Desde mi experiencia personal, los acuerdos se cierran muy rápidamente hoy en día, incluso en comparación con el período posterior a EIP-1559 y antes de la fusión. Será interesante ver cómo se ven los datos.
- /u/vbuterin
La dinámica del tiempo de bloque de Bitcoin se está estudiando más y los datos están más disponibles. Por lo tanto, transferiré la prueba de trabajo de Ethereum a Bitcoin para su análisis [1]. Los dos sistemas son muy similares, con la principal diferencia que el ajuste de dificultad mantiene el tiempo de bloqueo promedio de Bitcoin en 10 minutos, mientras que el tiempo de bloqueo promedio de Ethereum se mantiene en alrededor de 13 segundos [2].
Sin embargo, promediar el tiempo de bloque es una enorme simplificación. Los medios de comunicación suelen referirse a los mineros de Bitcoin como un grupo de ordenadores que resuelven problemas matemáticos complejos, pero no es así. Implícito en la palabra solución está que analogías convencionales como estas sugieren que las plataformas mineras se están acercando constantemente a una solución, pero no es así como funciona la criptominería. La analogía de hash más simple es lanzar una moneda e intentar obtener cara 77 veces seguidas [3]. Los hashes incorrectos no proporcionarán un progreso significativo, lo cual es una versión de la falacia del jugador: todos los hashes son independientes y cuando un hash falla no hay progreso.
El intento de independencia y la consiguiente falta de progreso se describen como amnesia. No importa cuánto tiempo haya pasado desde el último bloque, la probabilidad de que los mineros de Bitcoin descubran el siguiente bloque es siempre la misma: el tiempo medio para que aparezca el siguiente bloque es siempre 10 minutos más tarde.
Si está interesado en datos sobre la variación del intervalo de bloques de Bitcoin, Jameson Lopp escribió un excelente artículo hace unos años. En pocas palabras, los intervalos de bloques siguen una distribución de probabilidad exponencial, ignorando los casos extremos que se originan en bloques que aparecen muy rápidamente.
Variación del tiempo de bloque de Bitcoin: teoría y realidad Fuente: Jameson Lopp;
Para analizar el tiempo de empaquetado de las transacciones, necesitamos agregar otra capa al análisis. Una afirmación ingenua sería que cuando se confirma una transacción de Bitcoin, debe incluirse en el siguiente bloque, que se completará en un promedio de 10 minutos, por lo tanto, el tiempo de empaquetamiento debe ser de 10 minutos; En la práctica, la naturaleza competitiva del espacio en bloque distorsiona los tiempos de empaquetado y desafía los supuestos de fungibilidad.
El siguiente gráfico muestra el aumento de las transacciones pendientes el 2 de septiembre de 2022. Cada acantilado o caída en el gráfico representa el descubrimiento de un nuevo bloque y el procesamiento de un lote de las transacciones más valiosas. Para mayor comodidad, las líneas verticales de la cuadrícula están espaciadas en intervalos de 10 minutos, que es el tiempo promedio de bloque de Bitcoin.
Mempool de Bitcoin
El gráfico muestra una brecha atípica pero no infrecuente en el descubrimiento de bloques. Entre las 10:20 y las 12:18 sólo se descubrieron dos bloques en lugar de los doce esperados.
Si bien parece seguro enviar una transacción de 12 sat/vB a las 10:20, es posible que no se procese hasta las 13:00, al menos a 8 y posiblemente hasta 11 cuadras de distancia. Dos fuentes de latencia son la variación del tiempo de bloque y la información de tiempo asimétrica, es decir, las transacciones enviadas más tarde tienen la ventaja de contar con información adicional y pueden pagar una tarifa mayor para saltarse la cola de transacciones.
Al tomar una muestra aleatoria de bloques descubiertos lentamente y analizar las transacciones contenidas en ellos, surge un patrón claro entre los tiempos de envío de las transacciones y la densidad relativa de transacciones incluidas en el siguiente bloque [4]. Los bloques lentos contienen aproximadamente un 50 % más de transacciones del intervalo de tiempo inmediatamente anterior al bloque descubierto que del intervalo de tiempo inmediatamente posterior al bloque anterior.
En marcado contraste, si nos fijamos en los bloques rápidos, la distribución de los tiempos de confirmación es mucho más uniforme [5]. Esto demuestra que la competencia de tiempo en bloques rápidos no tiene sentido.
La mayoría de los bloques se pueden descubrir rápidamente, entonces, ¿importa?
Si calculamos el tiempo de bloque esperado, la contribución de los bloques de cola larga es sorprendentemente grande. Si calcula el tiempo de bloqueo promedio pero ignora los valores atípicos como 20+ o 30+ minutos, el tiempo de bloqueo esperado se reduce a 6-8 minutos.
Con respecto al tiempo de empaque, la competencia de tiempo por el espacio del bloque básicamente ignora estos bloques de cola larga. Por ejemplo, suponiendo que las transacciones de más de 20 minutos sean reemplazadas por nuevas transacciones con tarifas más altas, el tiempo promedio de empaquetado de las transacciones que ingresan al primer bloque debería, en teoría, reducirse a solo 6 minutos.
En realidad, no bajó a 6 minutos. Vemos en la distribución lenta de bloques que las transacciones no se reemplazan por completo, pero esperaría que el tiempo de empaquetamiento del primer bloque esté probablemente en el rango de 8 a 9 minutos, en lugar de la ingenua aproximación de 10 minutos.
Un cálculo adicional de las transacciones reemplazadas requerirá un análisis de datos más completo que el proporcionado en este artículo (que depende en gran medida de las tendencias en los requisitos de espacio de los bloques, la posterior rotación aleatoria de los intervalos de los bloques, etc.), y el resultado puede ser una distribución armónica multimodal.
Volviendo a la Prueba de participación de Ethereum, suponiendo un espacio de bloque no competitivo, un intervalo de bloque constante de 12 segundos indica un tiempo de empaquetado promedio de 6 segundos [6] (en comparación con los 13 segundos en la Prueba de trabajo).
Sin embargo, la competencia por el espacio del bloque Ethereum es feroz.
Incluso con un intervalo de bloques constante, parece que estamos viendo una fuerte competencia por el tiempo, incluso mayor que la competencia por el espacio de bloques de cola larga de Bitcoin. Todo esto sucede en unos pocos segundos y se repite cada 12 segundos.
Entonces, ¿el tiempo de envasado es más corto? Supongo que dependerá de cómo se defina el tiempo de envasado. Si el primer bloque en Ethereum estuvo dominado por transacciones enviadas en los últimos segundos del intervalo del bloque, entonces no me queda claro si la caída en la variación haría una diferencia significativa. Por otro lado, si hablamos de una única transacción cuya tarifa de prioridad es suficiente para garantizar que la transacción esté incluida, entonces el tiempo de empaquetado esperado debería reducirse de 13 segundos a 6 segundos [7].
anotación:
[1] La varianza de la distribución de probabilidad exponencial es proporcional al cuadrado del tiempo del bloque, por lo que la varianza del tiempo del bloque de Bitcoin es (600/13)^2 = 2130 veces la del bloque Ethereum PoW. Quizás esto explique la relativa falta de análisis de los tiempos de bloqueo de Ethereum.
[2] Este indicador supone que Ethereum no está en la ventana de tiempo de una bifurcación dura. En la ventana de tiempo de la bifurcación dura, el tiempo de bloqueo comienza a aumentar exponencialmente para obligar a los mineros a adoptar este cambio.
[3] Al momento de escribir este artículo, la tasa de hash promedio de 30 días es 250,75 millones de TH/s, por lo que hay 250,75×E6×E12×(60×10) = 1,5E23 intentos de hash en un bloque de 10 minutos. Para encontrar el equivalente al lanzamiento de una moneda, tomamos un logaritmo de base 2, que equivale a 76,9 lanzamientos de moneda consecutivos.
[4] El bloque lento de esta muestra es una secuencia pseudoaleatoria encontrada entre el 22 de diciembre de 2022 y el 12 de enero de 2023, que contiene 40 bloques y el intervalo de bloque es de entre 42 y 75 minutos.
[5] El bloque rápido de esta muestra es una secuencia pseudoaleatoria que consta de 86 bloques encontrados entre el 22 de diciembre de 2022 y el 12 de enero de 2023. El intervalo de bloque oscila entre 2,5 minutos y 6 entre minutos.
[6] No hay cambios si ignoramos los bloques vacíos debido a un error del validador.
[7] Desafortunadamente, los datos previos a la fusión parecen poco confiables y, si bien esto podría deberse simplemente a la naturaleza hipercompetitiva del espacio de bloques combinada con las diferencias de tiempo de los bloques, no me siento lo suficientemente seguro como para publicarlos.
