La velocidad en la era Shelley

En la 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.

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

EpochBlocksQ txTx media /blockTPS mediaFuente
26221.194178.5888,430,42https://adastat.net/epochs/262
26321.111227.36110,770,54https://adastat.net/epochs/263
26421.127269.94512,780,64https://adastat.net/epochs/264
26521.427309.04214,420,72https://adastat.net/epochs/265
26621.404317.02014,810,74https://adastat.net/epochs/266
26721.702243.67311,230,56https://adastat.net/epochs/267
26821.413208.1649,720,49https://adastat.net/epochs/268
26921.509197.2549,170,46https://adastat.net/epochs/269
27021.395174.3348,150,41https://adastat.net/epochs/270
27121.410145.2446,780,34https://adastat.net/epochs/271
Matriz de elaboración propia

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 (1.024 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:

FieldInitial ValueDescription
maxBlockBodySize65536 Maximum size of a block body. Limits blockchain storage size, and communication costs.
maxBlockHeaderSize1100Maximum size of the block header. Should be significantly less than the maximum block size.
maxTxSize16384Maximum size of a transaction. Several transactions may be included in a block. Must be strictly less than the max. block body size.
https://github.com/cardano-foundation/CIPs/blob/master/CIP-0009/CIP-0009.md
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.

Publicado por LiberLion

La descentralización es Proof of Liberty. Twitter @liberlion17

Un comentario en “La velocidad en la era Shelley

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: