Haré un resumen sobre los datos y las métricas de la blockchain Cardano, que deberías conocer para entender la importancia de este desarrollo en la industria cripto.
Cardano es una plataforma blockchain con demasiado contenido, solo presentaré en este artículo los más importantes para la comunidad. La idea es contarte lo que tú necesitas saber. Para conducir tu vehículo no debes entender toda la mecánica automotriz, solo la básica. Los desarrolladores necesitan más información que ésta.
Presentaré el artículo ordenado por temática, para que puedas comprenderlo mejor.
El comienzo
Cardano fue fundado por Charles Hoskinson, que también fue uno de los cofundadores de la red Ethereum. Es el director general de IOHK, la empresa desarrolladora. Fundada en 2015 por Charles Hoskinson y Jeremy Wood, IOHK es una de las empresas de investigación e ingeniería de infraestructuras de blockchain más importantes del mundo.
Además, en la construcción de Cardano, forman parte otros dos pilares, EMURGO y la Fundación Cardano.
EMURGO desarrolla, apoya e incuba oportunidades comerciales y ayuda a integrar a las empresas al sistema de cadena de bloques. Esencialmente es el brazo con fines de lucro de Cardano.
La Fundación Cardano es un organismo independiente que supervisa el avance de Cardano y de su ecosistema. Como custodio legal del protocolo y propietario de la marca Cardano, la Fundación trabaja para impulsar la adopción y las asociaciones, hacer crecer la comunidad de Cardano a nivel mundial, dar forma a la legislación y las normas comerciales. Cuenta con un programa de embajadores, formado por miembros de la comunidad, que en forma voluntaria difunden los valores del ecosistema.
El nombre fue elegido en honor a Gerolamo Cardano, (o Girolamo), quien fue un médico y matemático italiano del Renacimiento, astrólogo y un estudioso del azar, (24 de septiembre de 1501–21 de septiembre de 1576).
Augusta Ada King, condesa de Lovelace, conocida como Ada Lovelace (1815–1852), fue una matemática y escritora inglesa que escribió el primer algoritmo usado en una computadora, convirtiéndola en la primera programadora de computadoras. Para honrar su visión, los creadores de Cardano decidieron nombrar “ADA” a la criptomoneda, su símbolo ₳, y “Lovelace” a su subunidad más pequeña, valuada en ₳0,000001.
La blockchain Cardano inició el día 2017–09–23 a las 21:44:51:
La estructura de la blockchain
Desde el principio, Cardano optó por un enfoque diferente para todas las soluciones y esfuerzos que persigue. Adopta un enfoque científico en los fundamentos que guían sus objetivos. Todo lo que se hace en Cardano se basa en estos tres principios de diseño:
Escalabilidad: cantidad de transacciones por segundo y costo de red
Interoperabilidad: capacidad de una blockchain de interactuar con otras blockchains
Sostenibilidad: sistema de Tesorería para pagar los futuros desarrollos y el crecimiento
La escalabilidad está relacionada con el diseño de dos capas:
Capa Transaccional: donde se encuentra el libro contable (ledger) con sus saldos, y es la capa donde se liquidan las transacciones, y se ejecuta el algoritmo de consenso Ouroboros.
Capa Computacional: donde tiene lugar la ejecución de los contratos inteligentes
Los lenguajes usados para desarrollar en la plataforma de Cardano son Haskell y Plutus. Haskell es un antiguo lenguaje de programación funcional, y Plutus es un nuevo lenguaje desarrollado por Cardano basado en Haskell. La principal ventaja de tener un paradigma de programación funcional, es que cada pieza de código puede ser verificada matemáticamente y esto significa que es mucho más difícil introducir errores cuando se programan contratos inteligentes.
La evolución de Cardano está determinada por 5 eras donde cada una tiene un objetivo, Byron fue la fundacional, Shelley la era de la descentralización, Goguen la de contratos inteligentes, Basho la era de la escalabilidad y Voltaire la de gobernanza. Las eras van desarrollándose en el tiempo, algunas de ellas en forma paralela. El inicio de cada era se activa con un evento hard fork programado, con la tecnología del Hard Fork Combinator (invención de IOHK). En esta infografía de mi autoría, te muestro los tiempos:
La blockchain divide su tiempo en bloques, epochs y slots. Cada epoch dura 5 días, e incluye 432.000 slots, (5 días x 24 horas x 60 minutos x 60 segundos). Por término medio, se espera que se nomine un nodo cada 20 segundos, lo que supone un total de 21.600 nominaciones por epoch. Si los líderes de slot elegidos al azar producen bloques, cada uno de ellos se añadirá a la cadena. Los demás bloques candidatos serán descartados.
Así, en cada época se crean aproximadamente 21.600 bloques, pero debido a la aleatoriedad que se implementa en el protocolo se pueden crear más o menos bloques. Al momento de escribir este artículo se han creado 6.119.920, con un promedio de 21.473 por epoch.
El algoritmo de consenso usado en Cardano se llama Ouroboros, y es una versión de Proof of Stake (PoS) propia de Cardano. Un líder del intervalo (slot) es seleccionado al azar, proporcionalmente a la cantidad de tokens que posea (stake), para tener la oportunidad de crear un nuevo bloque.
La elección de slot leader es una lotería, donde es el stake de la comunidad en el stake pool aumenta las posibilidades de ser elegido.
Dado que no hay una carrera para minar un bloque, no hay desperdicio de energía ni de recursos computacionales. En ese sentido, Ouroboros es un protocolo más eficiente y económico que el protocolo de Bitcoin, manteniendo todas las garantías de seguridad.
El protocolo proporciona seguridad, matemáticamente verificable contra ataques, ya que para hackear el consenso y robar monedas, se precisa que el 51% de la participación esté en manos de uno o varios participantes deshonestos que se comploten. Por eso la selección de líderes para que forjen bloques es aleatoria. Hoy día, para un ataque Sybil (mayor al 50% de las tenencias de circulante) se necesitaría un mínimo de ₳11,790,056,714 de tenencias en staking, sobre el total en staking de ₳23,117,758,263 (haz cuentas a la cotización de USD).
Este año 2021, ha crecido la delegación, y a partir de febrero se ha sostenido sobre el 70% del circulante, lo que se considera significativo, ya que no todo el circulante está en manos de la comunidad para aumentar el caudal de validación, pues parte de éste se encuentra en el Tesoro. Vale decir que no es posible el 100% del circulante en delegación.
La distribución de la delegación se puede considerar, actualmente, saludable. Se registran 2.055 single stake pool operators con el 21,84% del poder de consenso, y 175 stake pools de operadores que registran más de 1 stake pool. El dato a observar es la concentración en 6 pools, que suman el 28,73% del poder de validación, Binance (BNP) + 1 Percent Pool (1PCT) + ADAlite (ADLT) + eTORO (ETORO) + Moonstake (MS) + New Girl.
El protocolo sigue evolucionando en sus distintas versiones:
Luego vendrán:
La configuración del protocolo Ouroboros tiene parámetros de cálculo desde el costo fijo mínimo que deben registrar los stake pools, la incidencia del pledge, el tamaño de los bloques, el tamaño máximo para las transacciones, el depósito por llave de staking, etc. Todos ellos pueden ser modificados para generar los cambios deseados.
Todos los parámetros son: nOpt, a0, minPoolCost, decentralisationParam, maxBlockBodySize, maxBlockHeaderSize, maxTxSize, tau, rho, poolDeposit, keyDeposit, minFeeB, minFeeA, minUTxOValue, extraEntropy, tag, eMax.
Puedes verlos aquí, con sus valores:
https://github.com/cardano-foundation/CIPs/blob/master/CIP-0009/CIP-0009.md
Los más conocidos, por su incidencia en las recompensas, son:
- a0, que es un valor que determina la cantidad de recompensas que se otorgan por bloque firmado según el pledge que garantiza cada stake pool, y como actualmente está muy bajo, no genera mucha diferencia, y
- k (descrito como nOpt) que indica la cantidad deseable de pools que pueden firmar bloques en una misma época, actualmente k=500. Así, el parámetro k, establece el llamado punto de saturación, es decir a partir de cuánto staking en un pool las recompensas comienzan a disminuir, y cuanto más exceda el punto de saturación más disminuyen. Para obtener el monto de saturación se divide el suministro circulante por el parámetro k, Actualmente la saturación = ₳32.982.237.587 / 500 = ~₳65.964.475
Algoritmo de cálculo de recompensas
Estos elementos se definen de la siguiente manera:
- R — total available rewards for this epoch
- a0 — pledge influence factor (can be between 0 and infinity)
- z0 — relative pool saturation size, i.e. 0.5% based on a number of desired pools (k=500)
- σ — stake delegated to the pool (including stake pledged by the owners and stake delegated by others)
- σ’ = min(σ, z0) — as σ, but capped at z0
- s — stake pledged by the owners
- s’ = min(s, z0) — as s, but capped at z0
Modelo eUTXO
El sistema contable empleado en Cardano (como en Bitcoin y otras blockchains) es el de salidas no gastadas (Unspent Transaction Output).
Con este método, en lugar de quitar de la dirección solo el monto de criptomonedas que se va a transferir, se resta el total de esa dirección dejándola en cero, y se transfiere la parte de dinero a la dirección de destino y el saldo se deposita en una nueva dirección creada por el protocolo para el titular que hizo el gasto. Este sistema evita el doble gasto.
Por ejemplo, si se tiene 1000 ADAs en la dirección #1 de nuestra billetera y se quieren gastar 100 ADAs, el ledger (registro en blockchain) registrará el envío de las 100 ADAs a la dirección de destino y el saldo de las 900 ADAs las enviará a una nueva dirección de nuestra billetera, digamos la #2, quedando la #1 vacía pero susceptible de ser usada nuevamente, si bien no es aconsejable porque devela todo el historial de transacciones.
El modelo eUTXO es una evolución del original, incluye:
- Implementar un lenguaje de contratos inteligentes más potente que Bitcoin Script.
- Proporcionar a los desarrolladores de contratos inteligentes un área dentro de los UTXOs para almacenar el estado de sus protocolos de contratos inteligentes.
- Permitir que se almacenen activos nativos de primera clase dentro de los UTXO, además del activo base de la red.
¿Cómo funcionan las comisiones por transacción?
Cada vez que alguien quiere transferir una cantidad de ADA, se calcula la tarifa de red. Para que la transacción sea válida, debe incluirse una tarifa mínima (aunque el remitente es libre de pagar comisiones más altas si así lo desea). Todas las comisiones de las transacciones se recogen en un fondo virtual y se distribuyen posteriormente entre los participantes del consenso.
Fee mínimo. Una transacción de 200 bytes de tamaño (un tamaño bastante típico) cuesta:
0,155381 ADA + 0,000043946 ADA/byte × 200 byte = 0,1641702 ADA.
Los honorarios mínimos para una transacción se calculan según la fórmula: a + b × tamaño
dónde:
- a: es una constante especial, actualmente es 0,155381 ADA;
- b: es una constante especial, actualmente es 0,000043946 ADA/byte;
- tamaño: es el tamaño de la transacción en bytes.
Para definir los valores de los parámetros “a” y “b”, se consideran:
- ¿Cuánto cuesta un byte de memoria del ordenador?
- ¿Cuántas transacciones hay de media por segundo?
- ¿Cuál es el tamaño medio de una transacción?
- ¿Cuánto cuesta el funcionamiento de un nodo completo?
Las transacciones simples, con baja cantidad de UTxO, suelen tener un peso entre 0,03 y 0,10 KB. Se incrementa el peso con el aumento de UTxO, también con metadatos agregados, o con NFT.
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).
Por esto es que el peso máximo de una transacción será:
0,155381 ADA + 0,000043946 ADA/byte × 16.384 byte = ₳0,875392264
La política monetaria
El suministro total establecido es de 45 mil millones de ADAs que estarán en circulación. Nunca cambiará, por lo tanto hace que las monedas ADA sean un recurso precioso por su escasez. Actualmente el circulante asciende a casi ₳32.900 millones.
Aproximadamente 2.500 millones de ADA se asignaron a IOHK una vez lanzada la red, otros 2.100 millones a EMURGO, y 648 millones se entregaron a la Fundación Cardano.
Con el circulante de monedas se abordan dos cuestiones:
- La necesidad de ofrecer recompensas a las personas que participan en la red, y
- Financiamiento de la tesorería
Las recompensas de participación para delegantes y operadores de stake pools provienen de las tarifas de transacción y de la emisión monetaria.
La expansión monetaria es el valor ρ, de 0,22% sobre el saldo de reservas, y significa que, como cada vez son menores, solo la mitad de las reservas restantes se utilizarán cada cuatro o cinco años, resultando una suerte de halving como en Bitcoin. Un 20% del fondo se envía a la tesorería (τ), y el resto se usa como recompensas de época.
Este sistema está diseñado para garantizar que la parte de las recompensas extraídas de las reservas sea alta al principio, cuando el número de transacciones aún es relativamente bajo. Esto incentiva a los primeros usuarios a moverse rápidamente para beneficiarse de altas recompensas iniciales. Con el tiempo, y a medida que aumenta el número de transacciones, las tarifas adicionales compensarán la menor emisión monetaria.
Este mecanismo también asegura que las recompensas disponibles sean predecibles y no varíen dramáticamente. El porcentaje fijo tomado de las reservas restantes en cada época garantiza un suave descenso exponencial.
Gobernanza descentralizada
La era Voltaire es la gobernanza de Cardano. El financiamiento del Tesoro tiene el objetivo de la provisión de fondos para desarrollar las actividades de Cardano a través del proceso de votación.
El sistema de tesorería de Cardano es transparente, y se financia a partir de:
• 20% de las recompensas de cada epoch,
• 20% de la expansión monetaria de cada epoch, y
• donaciones
El Tesoro comenzó su financiamiento con la era Shelley, en la epoch 208, el día 29 de julio de 2020, y a la fecha suma ₳559.301.254 o USD1.230.462.758.
Actualmente se encuentra en progreso el proyecto Catalyst, que ha comenzado en septiembre de 2020, y ya se han financiado 165 proyectos de los 851 presentados, en los 4 FONDOS hasta ahora, con total 611.412 votos, (se excluye el FUND1 porque no fue abierto a la comunidad).
Cardano Catalyst Announcements Telegram channel https://t.me/cardanocatalyst
En un próximo artículo escribiré lo que deberías saber sobre el staking.
Cardano, por Li₿εʁLiøη. Para que sea breve. Para que sea simple.