Saltar al contenido
0%

Cómo elegir la blockchain correcta para tu dApp

Mark Jonathas headshot

Escrito por Mark Jonathas

Publicado el 24 de abril de 20239 min de lectura

En su forma más básica, blockchains son una excelente herramienta de infraestructura para que los desarrolladores descentralicen sus necesidades de almacenamiento de datos. Como sistema, las blockchains les dan a los desarrolladores la capacidad de distribuir sus aplicaciones de forma segura, sin necesidad de intermediarios centrales de confianza.

Las blockchains se pueden usar para muchas aplicaciones distintas y, como resultado, existen muchos tipos de chains que se optimizan para diferentes usos. Cada tipo de chain es ligeramente distinto. Por eso, es importante que los desarrolladores entiendan las diferencias para elegir la blockchain adecuada para sus necesidades.

Este artículo aborda las principales diferencias entre las blockchains más importantes y las razones por las que los desarrolladores eligen un tipo de chain sobre otro.

7 preguntas que hacerse al elegir una blockchain sobre la cual construir

Al decidir qué plataforma blockchain usar para tu proyecto, hay al menos siete factores que deberías considerar como desarrollador:

1. ¿Cuánto throughput necesita tu dapp?

Según el tipo de proyecto que estés desarrollando, el rango de throughput de transacciones requerido puede variar mucho.

Si estás construyendo un juego DeFi, por ejemplo, que requiere que los usuarios hagan miles de microtransacciones diarias, vas a necesitar una blockchain con alto throughput y tarifas de gas bajas.

Pero si estás operando una DAO que solo hará transacciones ocasionales, la facilidad de colaboración podría ser un factor más importante.

Lo importante es considerar cómo escalará un protocolo blockchain junto con tu dapp. Cuando recién empiezas, un throughput de transacciones bajo puede ser suficiente, pero a medida que escalas, podría reducir tus ganancias o generar descontento en tus usuarios.

Por eso, antes de tomar una decisión, es importante considerar el costo y la velocidad a largo plazo de construir sobre una chain determinada. Los desarrolladores deben considerar tanto la escalabilidad de la mainnet como la disponibilidad de redes Layer 2.

La red de Ethereum, por ejemplo, tiene un throughput de transacciones bajo, pero existen múltiples redes Layer 2 construidas sobre ella con un throughput mucho mayor. La segunda capa está diseñada para darles a las apps la seguridad de un ecosistema blockchain robusto junto con la escalabilidad de un mecanismo de consenso más rápido.

2. ¿Qué blockchain ofrece el nivel de recursos para desarrolladores que necesitas?

Como las blockchains son una tecnología relativamente nueva, los recursos disponibles para los desarrolladores pueden marcar una gran diferencia. Muchos protocolos blockchain les ofrecen a los desarrolladores tutoriales y guías externas, o crean chats grupales y foros para que los desarrolladores puedan aprender entre sí.

Pero la calidad de estos recursos puede variar. Antes de empezar a trabajar en una chain, tómate un tiempo para familiarizarte con los recursos disponibles en ese protocolo.

Por ejemplo, algunos sistemas están diseñados para facilitar la composabilidad, mientras que otros no. La composabilidad es el grado en que las partes más pequeñas de una aplicación dada pueden copiarse y usarse en la creación de otras aplicaciones.

Las apps compatibles con la Ethereum Virtual Machine (EVM), por ejemplo, pueden volver a desplegar fácilmente su dapp en otras blockchains compatibles con EVM.

La diferencia entre empezar desde cero y construir a partir de un ecosistema de herramientas e infraestructura ya existentes puede ser enorme.

Nunca sabes qué tipo de problemas pueden surgir en el proceso de construir tu dApp. Por eso es útil saber que, cuando surjan estos problemas, contarás con el soporte suficiente.

3. ¿Qué ecosistemas blockchain tienen las condiciones adecuadas para la estrategia de go-to-market de tu dapp?

Algunas blockchains ya tienen un ecosistema muy activo, mientras que otras todavía se están desarrollando con el tiempo.

Si los desarrolladores planean construir una dApp que depende de otras apps, por ejemplo, tiene sentido desarrollarla en una blockchain con un ecosistema grande.

Por ejemplo, si estás creando una dApp que agrega liquidez entre distintos Exchanges Descentralizados (DEXs), es imprescindible que la blockchain que elijas tenga múltiples DEXs para poder agregar liquidez.

En cambio, si estás intentando construir un producto que no existe en algunas blockchains, puede ser beneficioso elegir una blockchain donde esa aplicación no tenga competidores.

Por supuesto, los desarrolladores no necesitan limitarse a un único ecosistema blockchain, y numerosos protocolos han crecido con éxito en múltiples ecosistemas.

4. ¿Qué lenguaje de programación usa la blockchain?

La complejidad de desarrollar sobre una plataforma determinada puede variar mucho. Algunas blockchains requieren que los desarrolladores aprendan lenguajes de programación completamente nuevos, mientras que otras estandarizan el proceso.

Por ejemplo, los desarrolladores con experiencia en Rust pueden encontrar accesible la blockchain de Solana, ya que su lenguaje principal es Rust. En cambio, Ethereum y el ecosistema EVM giran en torno a Solidity. Los desarrolladores que quieren construir sobre EVM aprenden Solidity, ya que no es extremadamente distinto de JavaScript.

Por supuesto, esto no siempre es una opción. Como cualquier equipo de desarrollo tendrá un rango de niveles de habilidad, la facilidad con la que los desarrolladores novatos pueden empezar puede importar mucho.

Considerar la composición de tu equipo y los recursos que tienes disponibles puede ayudarte a decidir qué blockchain usar.

5. ¿Qué incentivos existen para construir sobre la blockchain?

Algunos proyectos blockchain incentivan a los desarrolladores con programas que recompensan la lealtad y les pagan por su contribución a la red. Por ejemplo, algunas blockchains ofrecen incentivos por la detección de bugs y por respuestas en foros.

Otras blockchains recompensan a los desarrolladores a través de oportunidades de staking, y al permitir que los proyectos ganen dinero al traer usuarios a la plataforma.

En algunos casos, puede ser inteligente construir junto a una chain más pequeña con alto potencial de crecimiento, para que los equipos puedan compartir las recompensas de un crecimiento mutuo. Para otros, simplemente es mejor elegir un ecosistema confiable.

6. ¿La blockchain es compatible con tus herramientas e integraciones de desarrollo existentes?

Después de años de desarrollo, algunas herramientas blockchain se han convertido en el estándar de la industria. Por ejemplo, kits de herramientas web3 como Hardhat y Foundry son muy populares, al igual que ciertas billeteras cripto, como MetaMask.

Pero no todas estas herramientas funcionan en todas las blockchains. Hardhat y Foundry, por ejemplo, solo funcionan en blockchains compatibles con EVM. En otras palabras, los desarrolladores no pueden desarrollar una dapp de Solana con ellas, y en su lugar deben usar una herramienta como Anchor.

De igual manera, la facilidad de integrar herramientas existentes con una blockchain determinada puede variar drásticamente.

Aunque muchas blockchains compatibles con EVM siguen la misma estructura de integración, esto puede ser distinto entre las blockchains que no lo son.

Para blockchains más nuevas o con documentación deficiente, la integración puede tardar un tiempo en configurarse.

Dicho esto, el resultado de una integración más difícil puede valer la pena si los desarrolladores creen en el éxito de una blockchain a largo plazo.

7. ¿La blockchain es lo suficientemente segura para tu dapp?

En el contexto de blockchain, la seguridad puede referirse a varias cosas distintas. Puede referirse tanto a la descentralización de los nodos de la red como a la finalidad de sus transacciones.

La descentralización es importante porque puede representar qué tan difícil sería para una organización o gobierno cerrar la dapp. Para algunos desarrolladores, esto es la máxima prioridad. Pero para otros, la principal preocupación de seguridad es la finalidad de las transacciones. ¿Qué tan probable es que la blockchain que elijas sufra un fork, o una reorganización, que haga que las transacciones de tus usuarios ya no queden incluidas en la blockchain?

El procedimiento para producir bloques puede variar significativamente, y algunos son más robustos que otros. Por eso, asegurarte de que la blockchain que elijas tenga un protocolo de seguridad sólido puede significar la vida o la muerte de tu dApp.

También hay otros problemas de seguridad que vale la pena considerar. Por ejemplo: la capacidad de tu blockchain de mantenerse activa, su vulnerabilidad a ataques de denegación de servicio (DoS), o cualquier problema subyacente en su mecanismo de consenso. Aunque solo cuente como una señal de alerta temprana, considerar si una blockchain se ha detenido antes, ha sufrido un fork, o ha estado sujeta a esfuerzos de reorganización extensos puede ser un indicador de lo que vendrá.

En cualquier caso, tómate un tiempo para investigar la historia de la blockchain y considerar cómo se han desempeñado otras apps en ella en el pasado.

Elegir la plataforma blockchain correcta

Al elegir el protocolo blockchain adecuado para una dApp determinada, los desarrolladores deben tomar en cuenta las ventajas y desventajas de las principales blockchains:

1. Ethereum

Ethereum es una plataforma blockchain Layer-1 conocida por ser pionera en el concepto de los smart contracts.

Ethereum fue lanzada en 2015 por Vitalik Buterin. Vitalik aplicó los principios de descentralización de Bitcoin a una máquina virtual.

Esta idea permitió que la blockchain de Ethereum se convirtiera en una potencia de innovación, con miles de apps desarrolladas para servicios financieros, gobernanza, gestión de tesorería, pagos, exchanges, arte, y más.

Ethereum ha atraído el mayor valor de cualquier blockchain de smart contracts debido a su seguridad descentralizada.

Los bloques de Ethereum duran 15 segundos, lo que significa que la liquidación ocurre en ese tiempo o menos. El tamaño de bloque de Ethereum está limitado para lograr la máxima descentralización, lo cual hace que las transacciones sean costosas en comparación con otras blockchains.

Ethereum actualmente respalda esfuerzos para mejorar su escalabilidad. Gran parte de este proceso implicó apoyar el desarrollo de blockchains Layer-2.

2. Arbitrum

Arbitrum es una de las soluciones de escalabilidad Layer-2 más populares para Ethereum. Construida y mantenida por Offchain Labs, usa un protocolo de agrupamiento llamado "optimistic rollups", que trata de manera optimista todas las transacciones como válidas por defecto, antes de que se publiquen en Ethereum.

Esta técnica le permite a Arbitrum aprovechar la seguridad y descentralización de Ethereum mientras ofrece una liquidación más rápida y económica.

Aunque descentralizarse por completo forma parte del roadmap de Arbitrum, actualmente hay partes del stack tecnológico que están controladas de forma centralizada por el equipo de Arbitrum. A medida que el equipo itera sobre su tecnología y gana confianza en su viabilidad, todo el stack pasará a estar bajo gobernanza descentralizada.

3. Optimism

Optimism es otro optimistic rollup que publica sus datos en Ethereum.

Optimism también se beneficia de la seguridad y descentralización de Ethereum mientras ofrece transacciones más económicas y rápidas.

Al agrupar transacciones, Optimism puede escalar la tasa de throughput de transacciones uno o dos órdenes de magnitud por encima de la mainnet de Ethereum.

Optimism, al igual que Arbitrum, prioriza la escalabilidad y la seguridad por sobre la descentralización. Usa un sistema llamado Optimism Virtual Machine (OVM), que es compatible con EVM.

El roadmap de Optimism también incluye planes para volverse más descentralizado de lo que es actualmente.

4. Polygon

Antes conocida como Matic Network, Polygon es una solución de escalabilidad Layer 2 lanzada en 2019 que ayuda a que las transacciones en la blockchain de Ethereum sean más rápidas, sencillas y económicas.

A diferencia de otras soluciones Layer 2, como zkSync y StarkNet, Polygon funciona como una solución "navaja suiza", combinando varias herramientas para resolver el problema de la escalabilidad. Esto significa que opera múltiples chains: una que prioriza el throughput de transacciones y otra que prioriza la seguridad. Al igual que Optimism, Polygon ofrece compatibilidad total con EVM.

Polygon tiene uno de los ecosistemas más activos de todas las soluciones Layer 2 de Ethereum, que alcanzó un pico de $9.000 millones en TVL en 2021.

Polygon Labs también lanzó la versión beta de su herramienta de recursos para desarrolladores, Polygon University, y mantiene una wiki con documentación completa, recursos de la comunidad y guías para desarrolladores.

5. Solana

Solana es una de las blockchains Layer-1 alternativas más populares. Fundada en 2017, es un proyecto de código abierto administrado actualmente por la Solana Foundation, con sede en Ginebra.

Solana es conocida por ser pionera en el concepto de proof-of-history (PoH), desarrollado por su fundador Anatoly Yakovenko en 2017. PoH es una prueba para verificar el orden y el paso del tiempo entre eventos, y se usa para codificar el paso del tiempo sin necesidad de confianza en un ledger.

Los smart contracts de Solana se escriben en Rust, lo cual resulta atractivo para los desarrolladores que no quieren aprender lenguajes de programación compatibles con EVM como Solidity.

Actualmente, Solana procesa 3.886 transacciones por segundo, lo cual resulta atractivo para los desarrolladores que necesitan actualizaciones de estado frecuentes para su dApp.

Como una de las redes blockchain más grandes del mundo, Solana les ofrece a los desarrolladores un entorno de programación flexible en el que pueden usar lenguajes conocidos como Rust, C y C++. Esto la convierte en una plataforma atractiva para quienes buscan desarrollar aplicaciones descentralizadas de alto rendimiento.

6. StarkNet

StarkNet es una solución de escalabilidad Layer-2 sin permisos de tipo Zero-Knowledge Rollup (ZK-Rollup), construida sobre la mainnet de Ethereum por StarkWare Industries.

StarkNet fue fundada por Eli Ben-Sasson y Uri Kolodny para mejorar la escalabilidad y la privacidad usando tecnología STARK.

Los ZK rollups de StarkNet aumentan la escalabilidad de la mainnet de Ethereum al "agrupar" múltiples transacciones en un solo bloque, lo que reduce las tarifas de gas y acelera las transacciones.

Los smart contracts en Starknet se escriben en un lenguaje de programación llamado Cairo. Esto significa que los desarrolladores que quieran usar el ecosistema de Starknet van a necesitar aprender herramientas de desarrollo distintas, pero a cambio recibirán la seguridad y descentralización de Ethereum, junto con escalabilidad.

Sin embargo, una ventaja de construir sobre StarkNet es que todas las billeteras usan account abstraction por defecto.

Conclusión

Antes de que los desarrolladores elijan una blockchain para su dapp, es importante que entiendan las formas en que las blockchains pueden diferir entre sí.

Recuerda que las apps se pueden desplegar en múltiples blockchains y no tienen que limitarse a una sola. Dicho esto, encontrar la chain adecuada para tu proyecto puede ahorrarte muchísimo tiempo, esfuerzo y dinero, y ser la diferencia entre el éxito y el fracaso.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.