Algorand (ALGO) es un proyecto blockchain de alto nivel, diseñado por el criptógrafo Silvio Micali, centrado en el procesamiento de transacciones a alta velocidad y smart contracts de alto nivel para las finanzas descentralizadas (DeFi).
Uno de los proyectos más recientes en el mundo DeFi y de las DApps (aplicaciones descentralizadas) es Algorand (ALGO). El objetivo de esta red es muy claro: ser una red diseñada y construida para ser escalable, económica, extensible y altamente programable. Y, en la actualidad, esta red es uno de los proyectos blockchain de tercera generación que mayor crecimiento ha tenido en los últimos años.
Pero ¿Qué es exactamente Algorand? ¿Realmente cumple lo que promete? Pues bien, esto y mucho más te lo responderemos a continuación.
Origen de Algorand
La historia de Algorand comienza en el año 2017, cuando la empresa fue creada por Silvio Micali, un conocido profesor del MIT, ganador del premio Turing, y especialista en criptografía. Micali, quien ha formado parte de la comunidad de criptógrafos desde 1980, tiene en su haber importantes trabajos en criptografía asimétrica, y es co-creador junto con Shafirira Goldwasser de las pruebas de conocimiento cero (ZKP).
Micali, quien siempre ha sido un investigador, conoce la tecnología blockchain y Bitcoin (BTC) en el año 2015, y se interesa por la misma. En ese punto, Micali comenzó a trabajar en su proyecto personal de criptomonedas, decidido a mejorar las especificaciones de Bitcoin y del ya conocido Ethereum. Esto lo llevó a asociarse con Nickolai Zeldavich, un colega del MIT y quien ejercía como Jefe de Sistemas Distribuidos de esta institución, y que participaba en Computer Science and Artificial Intelligence Laboratory (CSAIL).
La primera impresión de Nickolai llevó a que se realizará un experimento de gran escala para probar la propuesta inicial de Micali. La prueba fue realizada usando servidores de Amazon y forzando al sistema con hasta 500 mil usuarios concurrentes en la red. Las pruebas fueron exitosas para ser una versión no pulida del sistema, y ello los llevó a la siguiente etapa: la creación de Algorand. En principio, un total de 11 personas participaron en el equipo, las cuales se reunían en la casa de Micali para realizar su trabajo.
Sus primeros éxitos
El trabajo rindió sus primeros frutos cuando se logró concretar un capital semilla de 4 millones de dólares con los inversionistas Pillar y Union Square Ventures, en febrero de 2018. Más tarde, llegaría otra ronda de financiación de 62 millones de dólares en octubre 2018, de la mano de otros inversores. Ese mismo mes, Algorand nombró a Steve Kokinos (un emprendedor en serie, fundador de dos empresas de más de 700 millones de dólares) como su CEO y a Sean Ford (ex CMO en LogMeIn) como su COO. El mensaje de estas contrataciones era claro: contratar a personas que puedan escalar el negocio.
El trabajo se hizo público en mayo de 2019, con la llegada de la red testnet. Pero junto a su presentación se comenzó un trabajo paralelo para asegurar un programa de participación universitaria en el proyecto. Así, en junio de 2019 nacía el Programa Universitario Global, en el que se invitó a las mejores universidades de Estados Unidos, Canadá, Europa, Oriente Medio y China a formar parte del programa inaugural de investigación universitaria.
Entre los miembros fundadores se encuentran el Instituto Tecnológico de Massachusetts, la Universidad de Pekín, la Universidad de la Sapienza de Roma, la Universidad de Stony Brook, la Universidad de Tel Aviv, la Universidad de Tsinghua, la Universidad de California, la Universidad de Berkeley, la Universidad de la Svizzera Italiana y, la Universidad de Waterloo.
Además de esto se realizó la primera subasta de tokens ALGO, y una semana después los principales exchanges de la criptocomunidad agregarían el token a sus pares. Comenzaba así el largo camino de Algorand como una nueva criptomoneda y plataforma de desarrollo blockchain.
Objetivo de Algorand
El objetivo principal de Algorand es la de convertirse en una plataforma dedicada a ofrecer aplicaciones descentralizadas (DApps) y DeFi de alta velocidad que estén al alcance de todos. Para lograrlo, Algorand es una blockchain del tipo “sin permisos” (permissionless). De esta forma, cualquiera puede formar parte de la misma, dentro de un sistema transparente en el que todos puedan alcanzar el éxito a través de proyectos y aplicaciones descentralizados.
Por otro lado, para hacer frente al Trilema Blockchain, Algorand está basado en un potente y rápido protocolo de consenso que puede ser aprovechado por cualquier usuario con una potencia computacional mínima, que posea $ALGO y esté en línea. Todos estos elementos le brindan el derecho a ser elegido para participar en el consenso de bloques de Algorand, el cual es un derivado del sistema de Prueba de Participación o Proof of Stake.
Pero junto a esto, Algorand centra su desarrollo en crear herramientas que faciliten el despliegue de aplicaciones descentralizadas y toda la infraestructura necesaria para su funcionamiento.
¿Cómo funciona Algorand?
Tal como comentamos hace un momento, Algorand es una blockchain y red del tipo sin permisos. Este primer punto es vital para eliminar cualquier tipo de barrera en el uso y evolución del protocolo. La idea principal tras este principio es garantizar un alto nivel de descentralización, escalabilidad y seguridad.
En segundo lugar, el funcionamiento de Algorand se basa en un protocolo de consenso derivado de Proof of Stake (llamado Pure Proof of Stake- PPoS). Este sistema está creado con el fin de garantizar la plena participación de quienes formen parte de la red, brindando protección y velocidad. El uso de PPoS está enmarcado en lograr velocidad de producción de bloques medidas en pocos segundos, lo que permitiría una alta escalabilidad de la red, atendiendo así a miles de usuarios de forma concurrente, con tiempos de espera muy cortos y, sobre todo, con costos por comisiones muy bajos.
Además, el equipo de desarrollo de Algorand ha ideado nuevos algoritmos de consenso, sistemas con tolerancia a fallas bizantinas, y un sistema de hashing y firmas digitales completamente nuevo, y con centrado en permitir la mayor escalabilidad posible.
Pure Proof of Stake, el pilar de la alta velocidad de Algorand
El principal pilar de la escalabilidad y velocidad de Algorand es su protocolo Pure Proof of Stake o Prueba de Participación Pura (PPoS). Este protocolo es un derivado del ya conocido Proof of Stake (PoS) de otras criptomonedas como Ethereum 2.0. La idea de este protocolo en Algorand es permitir una resistencia a fallas bizantinas lo suficientemente segura, mientras aporta gran velocidad en la generación y validación de bloques dentro de la red. Al mismo tiempo, PPoS es capaz de soportar un gran número de usuarios de forma concurrente y escalar de forma correcta a medida que la red aumenta en su número de validadores.
¿Resultado? Algorand es capaz de manejar en su estado actual de red unas 2 mil transacciones por segundo sin problemas. De hecho, el mayor pico de uso de Algorand se dio el 04 de marzo de 2021, cuando en solo ese día pudo manejar más de 39 millones de transacciones (unas 451 TPS en promedio, con un pico de 1153 TPS). A esto le podemos sumar un tiempo de generación de bloques de 4 segundos en promedio, lo que nos deja una de las blockchain más rápidas con las que se puede contar en la actualidad.
PPoS, un algoritmo donde todos participan
Una de las principales características de Algorand es que cualquier usuario que esté en línea y posea tokens ALGO, puede participar en el sistema PPoS. Es decir, PPoS elimina la barrera que PoS impone sobre hacer un staking duro, donde es necesario retener una determinada cantidad de tokens para participar en el proceso de selección, generación y validación de transacciones y bloques.
Esto diversifica y descentraliza aún más el proceso de generación haciendo de PPoS un sistema mucho más descentralizado que PoS (y más parecido a Proof of Work – PoW). Adicional a esto, PPoS elimina la necesidad de que sus usuarios deban exponer sus claves de gasto (es decir, las claves que utilizan para gastar participación) para lograr un consenso. En su lugar, un usuario que desea participar en el protocolo genera y registra una clave de participación. Con esta clave, una cuenta puede participar en proponer y votar bloques. El uso de claves de participación garantiza que los algoritmos de un usuario estén seguros incluso si su nodo participante está comprometido.
Un proceso de selección aleatorio y seguro
Otro punto a favor de PPoS es que la selección del nuevo validador se da gracias a un seed que es indicado en cada nuevo bloque generado. El papel de esta seed o semilla es la de servir de punto de inicio para el proceso de selección del próximo nodo validador dentro de PPoS.
Cuando la semilla llega a la red, los nodos la toman, calculan su valor y develan el secreto de la misma. El secreto es la selección, es decir, la semilla indica el listado de nodos que ha sido elegido para el próximo ciclo de validación. Este secreto está protegido por una función criptográfica autoverificable (VRF) que relaciona la clave de participación del nodo con la semilla de selección. Así, cada nodo sólo debe tomar la semilla, su clave de participación, y al aplicar la función VRF, sabrá si ha sido elegido para el próximo ciclo de generación. Todo este proceso sucede en menos de un segundo por un hardware tan poco potente como un smartphone.
Ya en este punto, los nodos elegidos comienzan con el proceso de generación del bloque. Para ello, los nodos proponen un bloque y se selecciona un comité de votantes para votar sobre la propuesta del bloque. Si una gran mayoría de los votos son de participantes honestos, el bloque puede ser certificado. En tal sentido, este proceso requiere de:
- Proponer el bloque (Proposición de bloque por los nodos elegidos)
- Votar el bloque (Voto Suave)
- Certificar el voto (Certificación y validación final del bloque)
Son estos tres pasos los que garantizan que el bloque nuevo de Algorand no tenga transacciones de doble gasto, ni ninguna otra acción maliciosa que afecte el consenso.
Un triple proceso para garantizar seguridad
El primer proceso, como ya hemos visto, comienza con los nodos elegidos y la creación de su propuesta de bloque con las transacciones a ser validadas. Pero el segundo proceso, conocido como Voto Suave (o Votación del bloque) es un proceso bien definido y vital para Algorand.
En este punto, cada nodo elegido por la seed de selección, tendrá un voto ponderado por la cantidad de tokens ALGO dentro del grupo de selección. Es decir, si un nodo ha sido elegido, su poder de voto será mayor mientras más tokens ALGO tenga en su poder. Así, cuando toca el punto de votación, los nodos tendrán distinto poder de voto. El primer proceso de votación, se realiza hasta que se llega al quorum necesario para llegar al proceso de certificación.
El tercer proceso o certificación del voto, es llevado a cabo por un comité de certificación, elegido de entre los nodos seleccionados. La función de estos nodos es verificar que los nodos que votaron anteriormente lo hayan hecho de forma correcta, vigilando también que no hayan doble gastos u otras operaciones maliciosas. Este proceso de verificación es una línea de defensa final contra ataques. Si el bloque es certificado finalmente, entonces se emite un certificado para ese bloque, se crea una nueva seed de selección y se envía el bloque a la blockchain de forma definitiva, para que entonces comience el proceso nuevamente.
En este punto los participantes del proceso reciben su recompensa por el trabajo realizado. Estas recompensas son proporcionales a su participación por cada bloque que se comprometa en la cadena. En la actualidad, la recompensa por bloque está fijada en 41,5 ALGO por bloque. Puedes ver en este enlace una calculadora de recompensas si estas interesado en lo que puede ofrecerte Algorand.
Estructuración de la red de nodos de Algorand
Otro punto adicional en las innovaciones de Algorand está relacionada con la forma en cómo se gestiona su red de nodos. El algoritmo PPoS necesita de una organización un tanto especial para su funcionamiento y ello ha llevado a Algorand a crear dos tipos de nodos:
Relay nodes o nodos de retransmisión
Estos son nodos que tienen como principal función la de actuar como puntos de conexión con otros nodos. Son de alguna forma, puntos de distribución que permiten conectar distintos puntos de la red de forma rápida. Si, por ejemplo, un nodo envía un mensaje a la red, este mensaje irá a los nodos conectados a dicho nodo y al relay node de ese nodo.
Una vez el mensaje llegue al relay node, este reenvía el mensaje al resto de nodos conectados a este y, de esta forma, el mensaje llega al resto de la red de forma mucho más rápida. La idea es sencilla, reducir al mínimo la cantidad de retransmisiones de datos de la red, ahorrando ancho de banda y maximizando la velocidad con la que los mensajes llegan a todos sus puntos.
Adicional a esto, los relay nodes realizan procesos de deduplicación de mensajes, comprobación de firmas y otros pasos de validación, para propagar de forma más eficiente los mensajes. ¿Lo mejor de esto? Cualquier puede instalar y poner en funcionamiento un relay node.
Participation nodes o nodos de participación
Estos son nodos cuya función es la de ser parte del grupo de nodos que harán su trabajo en la labor de generación, votación y validación de los bloques en Algorand. En cierta forma, serían el equivalente a los mineros en PoW o los nodos staking de PoS.
Vault, una nueva forma de contabilidad en blockchain
Otras importantes innovaciones en Algorand están relacionadas con la forma en como su token ALGO es generado y gestionado en la blockchain, tanto a nivel de cuentas y generación de tokens, como de forma criptográfica.
Recordemos que en blockchain es necesario conocer cómo se genera una moneda para conocer su origen, y en ese punto, saber cual es su ruta a lo largo de su periodo de uso. En Bitcoin, esto es posible gracias a la coinbase (que genera los bitcoins) y las UTXO (que nos dicen de donde provienen y, a dónde van las monedas). Sin embargo, Algorand no usa nada de esto. En su lugar, Algorand ha creado a Vault, un sistema de bootstraping o creación inicial de monedas completamente distinto.
Vault es un sistema que permite desvincular el seguimiento de saldos de cuentas y de las transacciones. Así, Vault solo crea un historial reciente de las operaciones, donde las operaciones más antiguas no tienen ninguna relevancia.
Por otro lado, Vault también permite usar sharding para;
- Fragmentar el estado de la cuenta entre nodos, de forma que cada nodo no necesite almacenar el estado de todas las cuentas.
- Permitir que todas las transacciones sean validadas por todos los nodos, utilizando un árbol Merkle para almacenar la información del saldo de cada cuenta.
- Almacenar en caché adaptativamente las capas superiores del árbol Merkle para que el costo de ancho de banda de transferir pruebas de Merkle crece logarítmicamente con el número de cuentas.
Este ingenioso sistema permite evitar que una cuenta pueda hacerse monedas de la nada, ayuda a crear una capa de defensa contra el doble gasto, agiliza la contabilidad de monedas dentro de la red, y finalmente, hace que la blockchain de Algorand sea más eficiente en términos de espacio que otras opciones como Bitcoin o Ethereum.
A esto se le suma un sistema de certificados criptográficos que busca reducir el costo de convencer a los nuevos usuarios de la validez de un bloque. Para evitar trampas, este sistema de certificados es verificable a nivel de red, lo que evita que terceros puedan inyectar certificados inválidos a la red, con lo que podría crear saldos inexistentes en nuevas cuentas (generar monedas de la nada).
Como resultado, una blockchain de Algorand con 500 millones de transacciones solo ocuparía unos 500 MB de espacio en disco duro. El mismo equivalente en Bitcoin, por otro lado, ocuparía un total de 5 GB. Esta es una reducción del 90 % en el tamaño de la blockchain, sin disminuir, según defienden, la seguridad.
¿Sorprendido? Pues bien, en Bitcoin actualmente se busca crear algo parecido con el proyecto UTReeXO del cual hablamos aquí en Bit2Me Academy. Con este proyecto podría reducirse enormemente el tamaño de la blockchain para nuevos nodos que inicien en la red.
Smart Contracts, la gran baza de Algorand
Algorand además es una blockchain creada con el fin de llevar a su máxima expresión a los smart contracts. Para ello, Algorand ha creado los Algorand Smart Contracts 1 (ASC1). Estos smart contracts están diseñados para explotar todas las posibilidades de Algorand como red. Para ello, los ASC1 hacen uso del lenguaje TEAL o Transaction Execution Approval Language, o de su binding en Python, PyTEAL.
TEAL es un lenguaje basado en stacks (pilas) que se traduce en un bytecode inyectado en las transacciones de Algorand, donde se pueden comprobar los parámetros de la transacción y aprobar la transacción como si fuera una firma. Los programas tienen acceso de sólo lectura a la transacción a la que están vinculados, a las transacciones de su grupo de transacciones atómicas y a unos pocos valores globales. Además, los programas no pueden modificar o crear transacciones, sólo rechazarlas o aprobarlas.
Los programas TEAL deben ser cortos y ejecutarse rápidamente, ya que se ejecutan en línea junto con la comprobación de la firma, la comprobación de las reglas de equilibrio de las transacciones y otras comprobaciones durante el montaje y la validación de los bloques. Gracias a esta característica es posible crear aplicaciones útiles en menos de 100 instrucciones, lo que, junto con una blockchain de alta velocidad, hace que estos se ejecuten de forma muy rápida. De hecho, en promedio un smart contract escrito en TEAL toma en promedio unos 5 segundos. Otro punto a favor de TEAL y la forma en como funciona es que su ejecución resulta muy económica. Un smart contract puede costar unos 0,001 ALGO por su ejecución.
Abajo, podrás ver un ejemplo de TEAL, donde está escrito un smart contract HTLC para Algorand. En comparación, el mismo smart contract HTLC escrito para Bitcoin usando Python, ya que escribirlo en Bitcoin Script es mucho más complejo (aunque más corto en término de escritura).
Adicional a esto otras funciones que pueden ser explotadas en Algorand con sus smarts contracts son:
- Creación de cuentas de depósito en garantía (Escrow payments)
- Pagos de préstamos y ejecuciones de comisiones
- Órdenes limitadas
- Suscripciones
- Obligaciones garantizadas
- Desembolsos regulados y automatizados
- Comisiones recurrentes programadas / deuda recurrente
- Gestión delegada de cuentas de alta seguridad
- Interfaz con proveedores de datos fuera de la cadena
- Transferencias atómicas entre cadenas
- HELOC (línea de crédito con garantía hipotecaria)
- Intercambios descentralizados (DEX)
- Validación de reembolsos
- Cross-chain Atomic Swaps.
Para finalizar, los smart contracts en Algorand también pueden diseñarse en otros lenguajes de programación como JavaScript, Java o Go, lo que permite una amplia gama de opciones para programar smart contracts en esta plataforma de manera mucho más sencilla. Por supuesto, todo esto es traducido a TEAL y su byetcode.
Principales características del proyecto
La característica principal de este proyecto es la cadena de bloques pública de código abierto. El mecanismo de consenso de Algorand promueve el rendimiento, la seguridad y la apertura de una red descentralizada. Dicho esto, el rendimiento de las transacciones Algorand se apresta para competir con sistemas financieros y de pago conocidos.
Según el equipo desarrollador, estas son las propiedades clave del protocolo Algorand:
- Bajos requerimientos de cálculo: no se necesitan de granjas mineras consumiendo mucha energía.
- Rápido acuerdo: Toda la comunidad está de acuerdo con el siguiente bloque y confirma las transacciones con latencia en cerca de un minuto mientras escala a muchos usuarios.
- Delegación: los poseedores de tokens pueden delegar sus tokens si desean participar en el consenso.
- Probabilidad de bifurcación extremadamente baja: los usuarios pueden confiar en un nuevo bloque tan pronto como aparezca. Incluso si la red está particionada temporalmente, Algorand asegura que ningún usuario tenga puntos de vista divergentes de la transacción confirmada.
- Verdadera descentralización: la red no está controlada por unos pocos mineros o un grupo de validadores, ya que los proponentes y los comités se seleccionan al azar.
- Gobernanza: los titulares de tokens de la comunidad pueden proponer cambios a los protocolos y acordar su capacidad de evolución.
- Uso de la investigación científica y socios comerciales influyentes: Algorand colabora con líderes empresariales de confianza que trabajan en empresas de fama mundial.
- Distribución total de tokens: 10.000 millones de tokens ALGO.
- Oferta circulante estimada de tokens ALGO a ser inyectados al mercado (inicialmente vía subastas) durante los primeros 5 años (600 millones c/año), para un total de 3.000 millones.
- Recompensa estimada por participación (distribuido a lo largo del tiempo): 1.750 millones de tokens ALGO.
- Corredores de “relay nodes” o de retransmisión: 2.500 millones de tokens ALGO.
- Fundación Algorand & Algorand, Inc. (distribuido a lo largo del tiempo) 2.500 millones de tokens ALGO.
- Subvenciones a usuarios finales (distribuido a lo largo del tiempo): 250 millones de tokens ALGO.
DeFi, el punto fuerte de Algorand
Además, a finales de 2019, este proyecto propuso dos nuevas soluciones para implementar sobre Layer 1 de su plataforma:
- La generación de nuevos tokens fungibles
- La ejecución de transferencias atómicas multipartitas (AMPT).
- Estas soluciones forman parte de igual forma del protocolo de consenso, manteniendo las características originales de la blockchain. Las soluciones propuestas son fundamentales para el desarrollo de aplicaciones DeFi como la tokenización de activos financieros; como derivados, opciones, swaps y otros valores.
Adicional a esto, se está llevando a cabo algo que han denominado FutureFi o Future Finance. FutureFi no es más que la maximización de las capacidades DeFi . Para ello, se busca crear una Layer-2 (un sistema off-chain) que permite escalar las capacidades de smart contracts de la red, junto con un sistema de almacenamiento descentralizado de datos, y mucho más.
Este es el futuro de Algorand, uno que está en construcción y que es apoyado por varias empresas, universidades y comunidades que hacen vida en el mundo cripto.