La velocidad en la era Shelley

image

Enla era Shelley, la cantidad de transacciones por segundo (TPS) procesadas son menores al máximo posible de Cardano, conforme a la configuración del protocolo, en su versión actual Ouroboros Praos.

Actividad en Shelley

Hoy en día, la demanda de la red es inferior a la cantidad de transacciones (tx) que Cardano puede soportar.

El pico de demanda de la blockchain en la era Shelley, fue en la epoch 266, con un total de 21.404 bloques, validando 317.020 transacciones, así promediando 15 tx por bloque.

Siendo que un bloque se forja cada 20 segundos, da una media de 0,74 TPS, es decir menos de 1 transacción por segundo.

Cardano Blockchain Insights

En las últimas 10 epochs, se registró este detalle en el libro mayor:
image

Matriz de elaboración propia: fuente Cardano (ADA) Blockchain Explorer And Pools Statistics

Ahora bien, si profundizamos en el análisis, veremos que existen bloques con mayor cantidad de transacciones verificadas, que superan el promedio por epoch de la actividad exhibida en el cuadro.

Por ejemplo, cito estos 3 bloques, de la epoch 272, que superan las 30 tx, cada uno:

Entonces, en estos casos, el procesamiento es entre 1,6 y 1,9 TPS.

El peso de las transacciones

Las transacciones simples, con baja cantidad de UTxO, suelen tener un peso entre 0,03 y 0,10Kb. Se incrementa el peso con el aumento de UTxO, o también con metadatos agregados, o con NFT.

En el modelo UTxO una transacción tiene entradas y salidas, donde las entradas en una billetera son salidas no gastadas de transacciones anteriores. En cuanto una salida de una billetera es utilizada como entrada de otra, en una transacción, se gasta y nunca puede ser utilizada de nuevo.

Por ejemplo, un poema que he registrado en los metadatos de Cardano, titulado “Proof of Liberty” tiene un peso de 0.22Kb.

Daré ejemplos al azar, de registros en el libro mayor, de distintos tipos de operaciones con su peso, y se apreciará como aumenta el mismo:

Parámetros

El protocolo tiene parámetros máximos por bloque, admite hasta 65.536 bytes por bloque, o 64 Kb (1024 bytes = Kb), es decir que no pueden validarse más tx que ese peso total en cada uno. Cada tx no puede pesar más que 16.384 (16 Kb). El encabezado de cada bloque tiene un máximo de 1.100 bytes (1,07 Kb).

Información de los parámetros de los bloques:

Palabras finales

Si tomamos solo las operaciones simples, la menos pesadas, con un tamaño de 0,03 Kb, se validarían un máximo posible de 2.133 tx en un bloque, (2.133 tx x 0.03 Kb = 64Kb) por la limitación máxima de 64 Kb por bloque, de acuerdo al parámetro en el protocolo.

Así, de forma empírica, por los datos recabados en la red, se puede calcular que en la era Shelley, dividiendo las 2.133 tx en un bloque por sus 20 segundos, resulta un máximo de validación de 106 transacciones por segundo.

Para confirmar mi análisis, buscando información, de la que no hay mucha disponible con cálculos explícitos, encontré un video oficial de IOHK de septiembre de 2020, del Jefe Técnico de Arquitectura Duncan Coutts, y Neil Davies, en el que explican la velocidad de procesamiento (desde los 13 minutos en el video) , muestran el siguiente cuadro, donde el límite máximo es de 43,7 TPS (depuradas):


Performance engineering: Lies, damned lies and (TPS)benchmarks

Luego, coincidente con mi análisis, una respuesta de Pal Dorogi (usuario @ _ilap ), en el Foro de Cardano, del 17 de marzo de este año, que transcribo traducida:

Actualmente, Cardano puede manejar un máximo de ~ 270 tx de tamaño promedio por bloque de 64 Kb, lo que significa 15 TPS, que se puede escalar hasta ~ 270 TPS pero eso es muy poco realista. Yo diría que 60 TPS para tx de tamaño promedio son realistas incluso 120. Pero, solo asumiendo tx de tamaño promedio (sin contratos inteligentes, sin metadatos, sin grandes paquetes de tokens, etc.).

La velocidad de procesamiento de cualquier blockchain tiene un condicionante, el tamaño de bloques, y en Cardano es de 64 Kb cada 20 segundos, cuando un nuevo líder de slot es elegido para forjar un nuevo bloque. Si lo comparamos con Bitcoin, que valida 1Mb (tamaño de bloque), cada 10 minutos promedio, Cardano tiene el doble de capacidad de procesamiento, con casi 2 Mb (1.920 Kb) , cada 10 minutos, (64 Kb cada 20 segundos x 3 x 10).

Con el hard fork Alonzo, Goguen estará operativo para programar contratos inteligentes, lo que implicará mayor demanda de tx, y mayor peso medio para cada operación, por eso será necesario incrementar la capacidad de validación, o sea, aumentar las transacciones por segundo, para que Cardano sea competitivo en el ecosistema DeFi.

Hydra será la solución esperada.


Traducción @arielfavio Speed in the Shelley era

Cardano, por Li₿εʁLiøη. Para que sea breve. Para que sea simple.

1 Like

Buenísimo, gracias Ari :ok_hand: :muscle:

1 Like

Correction: Kb should read KB

Corrección: donde dice Kb debe decir KB

1 Like

noooo! así no se puede!!! que error tan terrible!!! jaaaa gracias Ari :wink:

1 Like

Gracias al amigo TOPO stake pool, que no puedo mencionar aquí, ya que desconozco su usuario!
Siempre ayuda con sus conocimientos técnicos.