DEV Community

Nox Klax
Nox Klax

Posted on

¿Por qué deberías considerar Solana para tu próximo proyecto blockchain?

Image description

El fin de semana pasado decidí explorar Solana por primera vez. Conocía el proyecto desde inicios de 2021, sus llamativas propiedades, pero no me había sumergido en la exploración de sus programas (equivalente a los smart contracts de ethereum) principalmente por desconocer Rust.

Comencemos listando las propiedades que probablemente ya la mayoría conozca y lo que lo ha hecho tan atractivo para inversionistas. Luego te hablaré las ventajas desde el punto de vista de desarrollo y web3 y finalizaremos con algunas desventajas que encontré en el proceso respecto a ethereum.

Ventajas Generales

Proof of history

A diferencia de ethereum donde las transacciones deben ser verificadas a través de PoW(proof of work), Solana utiliza PoH(proof of history).

En términos muy generales, PoH permite que cada nodo verifique por sí solo la validez de la transacción de forma independiente. Por lo tanto, Solana es muchísimo más rápido que otras blockchains, permitiendo que la validación de las transacciones sea prácticamente instantánea.

Costo de transacciones

Para nadie es un secreto que uno de los grandes desafíos que enfrenta ethereum son sus costos de transacción. Mintear un NFT sobre la mainnet a día de hoy puede costar $150 dólares o más dependiendo de la congestión en la red.

Por otro lado, Solana tiene costos de transacción de $0.00025 dólares. Esto inevitablemente hará que muchos proyectos lo consideren, dado que disminuye muchísimo la barrera de entrada para los usuarios.

Escalabilidad

Solana es capaz de manejar más de 65.000 transacciones por segundo gracias a su modelo de PoH. Por lo tanto, No es de extrañar, que aunque es una blockchain que hizo pública su mainnet hace relativamente poco tiempo, el número de transacciones ejecutadas sea altísimo.

Ventajas para el desarrollo

Los programas de Solana son stateless. Muy diferente de ethereum. En ethereum escribes Smart Contracts y cuando son desplegados en la blockchain, estos Smart Contracts almacenan el estado de nuestra aplicación. Es decir, la misma dirección que es responsable por la ejecución del código del contrato, lo es también por la información almacenada dentro de él.

En Solana el código del programa se almacena en una dirección diferente a la del estado del programa. El estado del programa se almacena en cuentas (no confundir con las billeteras de los usuarios) que pueden contener todo tipo de información. Los programas solo interactúan con estas cuentas.

Múltiples programas pueden interactuar con una misma cuenta y un un programa puede interactuar con muchas cuentas.

Por lo tanto, esto desbloquea algunas características que no son posibles en otras blockchains:

  1. Pueden existir múltiples versiones de un mismo programa. Es decir, puedes usar el mismo código y hacerlo interactuar con diferentes cuentas para crear distintas versiones de una aplicación. Muy parecido al multi-tenancy.

  2. Una cuenta puede ser accedida y modificada desde múltiples programas. Esto te permite seguir creando programas relacionados a tu aplicación que tienen acceso directo al mismo estado.

  3. Los programas se puede actualizar. Sí, tal como lo escuchaste. A diferencia de ethereum donde una vez desplegado, un contrato no puede ser actualizado (debido a que almacena el estado en el mismo contrato), en Solana puedes actualizar el contrato tantas veces como sea necesario.

Image description

Nota que todas las ventajas se derivan principalmente de que la información (estado) esté separado del código. Esta para mí es la principal característica que puede hacer que Solana sea más viable para un número no menor de aplicaciones.

Sin embargo, no todo es positivo.

Cosas por mejorar

Herramientas de desarrollo

Una de las grandes barreras del ecosistema de Solana hoy en día es el tooling. Las herramientas disponibles en el mundo de ethereum han madurado mucho con los años, creando una experiencia de desarrollo bastante más amigable que las de Solana. Anchor todavía está lejos de ser Hardhat.

Documentación

Muchas de las preguntas que tengas, probablemente no encontrarán respuesta tan fácilmente. Afortunadamente, el discord oficial de Solana está lleno de gente fantástica dispuesta a resolver la mayor parte de tus dudas. Sin embargo, vas a tener que leer mucho, investigar por tu cuenta y aprender con prueba y error.

Rust

Esta no es una desventaja en general y es posiblemente una opinión personal. La curva de aprendizaje de Rust es mucho más pronunciada que la de Solidity. Es un lenguaje de mucho más bajo nivel que te permite más, pero que a la vez (sobretodo si no estás familiarizado con lenguajes de bajo nivel) traerá dolores de cabeza a los que apenas comienzan.

En fin, Solana es un ecosistema que apenas está comenzando y que tiene propuestas muy interesantes en comparación a otros proyectos. Ten en cuenta que el objetivo de Solana no es ser un Ethereum Killer. El futuro de la web 3 es cross chain. Cada blockchain tendrá proyectos que encajen mejor con sus características y cada día que pasa nos acercamos más a podernos comunicar entre diferentes blockchains de forma efectiva (hola Polkadot).

Seguiré escribiendo sobre web3, solidity y smart contracts, asi que si te interesa, sígueme en twitter, es allí donde te podrás enterar más fácilmente de mi travesía por la web3.

https://twitter.com/NoxKlax

Discussion (0)