Cada nuevo proyecto que analizamos nos trae gratas y veloces sorpresas. Este es el caso de Solana que es un proyecto blockchain de alta velocidad, por ello lo de Ferrari, que viene a darle miles de vueltas a proyectos como Cardano, PolkaDot o Ethereum.
¿Qué es Solana?
Como decíamos antes, Solana es un proyecto blockchain de alta velocidad para el desarrollo de DApps de alto uso y tráfico gracias a una serie de innovaciones con lenguajes de programación conocidos por todos y que permite gran cantidad de transacciones por segundo. Superior a cualquier blockchain actual existente.
Haciendo un poco de historia
La historia comienza con Anatoly Yakovenko, fundador y CEO, quien público el whitepapper llamado “Proof of History” (PoH), tomando como base de funcionamiento la cronología de los eventos que suceden en una cadena de bloques. Yakovenko se ha graduado en Ciencias de la Computación, trabajó en empresas como Qualcomm (ocupando el cargo de Senior Staff Engineer Manager), en Mesosphere y Dropbox (ocupando en ambas empresas el cargo de Software Engineer). En su último puesto laboral tuvo el impulso necesario y final para dar luz a este proyecto.
La idea era crear un blockchain con un cronometraje y sincronización de eventos seguro y exacto. Con este disparador buscó resolver uno de los problemas más importantes del universo blockchain: la sincronización temporal de los nodos dentro de sistemas distribuidos. Para ello diseñó su propio método de consenso con el mismo nombre que el whitepapper “Proof of History” o prueba histórica si lo quisiéramos trasladar al español. El mismo puede llevar a su blockchain a gran velocidad como 100 mil transacciones por segundo con unos pocos nodos en funcionamiento.
Después de la presentación del whitepapper junto a un antiguo compañero de trabajo, Greg Fitzgerald, comenzaron con la implementación del proyecto bajo el nombre de Loom. El cual decidieron cambiar a Solana tras la salida del proyecto de Ethereum bajo el mismo nombre y el 28 de marzo de 2018 crearon su empresa, Solana Labs.
La primera prueba pública se realizó el 19 de julio del mismo año, cuando se creó una pequeña red de pruebas con 50 nodos ejecutando el software de Solana. La prueba resultó ser todo un éxito, hasta el punto que aquella pequeña red logró sostener un pico máximo de 65 mil transacciones por segundo, el mismo nivel que una red del tamaño de VISA.
En pruebas posteriores con 100 nodos más se lograron alcanzar las 100 mil transacciones por segundos de forma sostenida y picos de 500 mil.
¿Cuál es el objetivo de Solana?
Como ya mencionamos antes, busca ser una blockchain rápida, económica, flexible y centrada en las DApps.
El primer objetivo ya lo ha cumplido al demostrar las velocidades que puede alcanzar.
Con respecto a lo económico, una transacción de interacción con un smart contract en Solana tiene un costo promedio de unos 0.000005 SOL. Muy lejos de otras redes como Ethereum.
En cuanto a flexible y centrada en DApps lo cumple gracias al lenguaje de programación que utiliza para el desarrollo de las mismas: C y Rust. Dos lenguajes ampliamente conocidos y utilizados en la industria.
Para compilar ambos lenguajes utiliza otro ya conocido por todos: LLVM. Otorgando un enorme conjunto de herramientas de depuración y desarrollo multiplataforma.
Las DApps son ejecutadas bajo el estándar Web3, permitiendo que DApps de Ethereum puedan interactuar con las de Solana sin problemas.
¿Cómo funciona?
La red funciona gracias a una serie de innovaciones creadas para esta red:
- Proof of History
- Tower BFT
- Turbine y Gulf Stream
- Sealevel
Proof of History
Este método de consenso utiliza el tiempo (marcas de tiempo o timestamp) Esto gracias a que este protocolo crea un registro con marcas de tiempo exactas de todo lo que sucede en el blockchain. De esta forma, sabemos con exactitud de donde y hacia donde fue una moneda gracias a la recreación de los hechos con gran exactitud. Si queremos saber de eventos pasados solo basta con mirar el historial.
La creación de marcas de tiempo con pruebas criptográficas no es un trabajo computacional complejo. Es un algoritmo resistente a ciertos ataques y para ello se debe utilizar bajo ciertas condiciones.
PoH requiere de un fuerte sistema de comprobación y verificación de timestamp. Para esto se sirve de una función de retardo verificable que requiere de una cantidad específica de pasos secuenciales para evaluarse ofreciendo una única salida que puede ser verificada pública y eficientemente.
Para asegurar la potencia del sistema se vale de la función SHA-256 para realizar un hash de comprobación, determinando que verdaderamente se ha cumplido el paso. Si, la misma que Bitcoin.
Tower BFT o protocolo de de tolerancia de fallas bizantinas
Tower BFT es una evolución de Practical Bizantine Fault Tolerance (PBFT) un protocolo de tolerancia a fallas bizantinas bien conocido en el mundo de la computación distribuida.
Este hace las veces de juez dentro del sistema de marcas temporales o timestamp. Usa un reloj sincronizado entre todos los nodos como punto de control, verificación y aceptación del trabajo realizado por los mismos. Permitiendo un consenso descentralizado sobre el trabajo en la red.
Al ser un derivado del PBFT le otorga gran velocidad y los desarrolladores lo han optimizado aún más para evitar la latencia innecesaria del sistema.
Estas dos partes permiten a Solana altas velocidad de generación de bloques y de consenso de la red con un promedio de 0,5 segundos por bloques generados.
Turbine y Gulf Stream
El problema con las grandes redes de blockchain es que debes enviar cada nueva transacción en la red a cada uno de los nodos para que sean registrados, verificados y consensuados. Esto conlleva un grave problema de ancho de bando y ralentización en la red.
Para esto Bitcoin y otras criptomonedas utilizan uno de estos métodos:
- Usan algoritmos de propagación de información optimizados para redes descentralizadas (como Gossip, Kademlia, u otros)
- Minimizan al máximo el tamaño de sus transacciones y mantienen "bajo en grasa" sus bloques
Esto no es práctico para redes diseñadas pensadas para aplicaciones descentralizadas. Por ello es que Solana agregó estos dos aspectos.
Turbine, es un protocolo de propagación de bloque que facilita la tarea de entregar la información a los nodos, ayudando a mantener el consenso dentro de la red. Este es un proceso esencial que debe ser rápido, puesto que la velocidad de generación de bloques de Solana es veloz (un promedio de 0,5 segundos por bloque) lo que nos indica que la propagación de esta información a la red debe ser igual o más rápida. Para esto divide los bloques en pequeñas secciones que son enviadas a la red y reconstruidos por los nodos de acuerdo a sus propios estados.
En caso de no tener toda la información en su poder puede pedir al resto a la red en forma paralela reduciendo el consumo de banda, maximizando la velocidad y manteniendo un consenso seguro.
Este sistema funciona en base a un sistema que podríamos llamar "piramidal", porque el nodo generador (el primer nodo), envía una parte de la información a un determinado grupo de nodos, y estos otros reparten la información correspondiente a grupos determinados por ellos. Al final, toda la red recibe la información, recrean el bloque y se genera el consenso.
Gulf Stream es un protocolo de almacenamiento en cache de transacciones de la red. Su papel es recibir la transacción y enviarla a todos los nodos, pero priorizando a los nodos generadores. De esta forma, todos los nodos de la red tienen en su poder la información necesaria para recrear los bloques usando Turbine.
También sirven de selectores del próximo grupo de generación. De esta forma, se conoce de antemano quienes serán los futuros encargados de generar el próximo bloque. Con ello, los nodos pueden recibir las transacciones y enrutarlas a los próximos nodos generadores. De esta manera, se pueden tomar dichas transacciones e incluirlas en el próximo bloque, minimizando el tiempo de producción de bloques.
Para evitar posibles manipulaciones, toda transacción en esta etapa tiene un tiempo de vida marcado de 24 segundos. Si una transacción no es confirmada en ese lapso, se genera un fallo y se solicita nuevamente la transacción.
Sealevel
Gracias al lenguaje C y Rust, Solana puede crear un ambiente de programación de smart contracts único que le permita paralelizar su ejecución.
Sealevel permite que pueda leer, ejecutar y escribir instrucciones de forma paralela dentro del layer de ejecución de smart contracts.
A diferencia de otras redes donde sus smart contratcs son de un solo hilo de ejecución, Solana puede ejecutar múltiples acciones, smart contracts al mismo tiempo y utilizar recursos computacionales de forma paralela
Esto resulta útil para escalar la red, algo que otras no pueden. Si instalamos un nodo de Solana en un equipo poco potente, la capacidad será menor. Pero si lo actualizamos, la potencia también se actualiza. Este hace que el aumento de poder los equipos computacionales que usemos repercuta directamente en nuestro poder de ejecutar los nodos directamente.
Solana no necesita segunda capas, puede manejar todo directamente desde su blockchain.
Otras funcionalidades
Solana cuenta con sistemas para el almacenamiento distribuido conocido como Archivers, el cual permite almacenar información de primer nivel para las aplicaciones facilitando el acceso a dichos recursos en toda la red. Además cuenta con un sistema conocido como Cloudbreak, que permite mantener una estructura de datos uniforme en todos sus nodos.
¿Dónde podemos encontrar a Solana?
Tether tiene su token USDT sobre la red Solana, y el valor actual sobre la misma es superior a los 300 millones de dólares. USDC también está construido sobre este blockchain y ha alcanzado un valor superior a los 400 millones de dólares.
Dex Serum es un ejemplo en lo que se refiere a smart contracts. También algunos DeFi hacen uso de su tecnología como Step Finance, Raydium, Oxygen, Band Protocol, ChainLink, LunaDex, entre otros.
El token de Solana se denomina SOL y cotiza a 245 dólares.
Javier Molina: “Es sin duda, una solución creada para solventar los problemas que tiene Ethereum a día de hoy”
Le consultamos a nuestro experto y profesor en el curso de inversión en criptomonedas, Javier Molina, algunos de los aspectos diferenciales de Solana.
-¿Podríamos confirmar que Solana es un ejemplo de utilidad y usabilidad con respecto al universo blockchain?
Es sin duda, una solución creada para solventar los problemas que tiene Ethereum a día de hoy siempre que no necesites la máxima seguridad. Se trata de una Blockchain perfecta para realizar transacciones con importes bajos al mínimo coste.
-¿El hecho de que la ejecución se adecúa proporcionalmente a la actualización de los ordenadores le sería beneficioso con respecto a otros blobkchains si salieran equipos más potentes y que consuman menor energía en un futuro? Ya que el consumo energético es una de las grandes criticas del sector
El tema del coste energético es, sin duda, uno de los más vigilados a largo plazo y fuente de críticas. Disponer de un sistema de estas características es, sin duda, una ventaja competitiva a considerar
-Teniendo en cuenta el precio actual con respecto a otras criptomonedas y los aspectos mencionados anteriormente ¿Sería un buen momento para abrir algunas posiciones en Solana de cara al largo plazo?
Las soluciones de escalabilidad que propone (apalancada en Arweave) y contar con el apoyo Institucional (FTX o Alameda) hace que la demanda sea fuerte y con vocación de largo plazo. Otra cosa es el momento de mercado y cuándo entrar en él.