¿Por qué desarrollar Internet Computer?

Internet computer cuenta con una serie de beneficios para los usuarios de la plataforma, pero también resulta atractiva para desarrolladores que quieran dar rienda suelta a sus proyectos web3. Hoy vamos a contar cuáles son esos beneficios

A la hora de llevar a cabo ideas para desarrollar, en general se vislumbran diversas opciones para elegir finalmente cuál es la plataforma que mejor se adapte al proyecto que vamos a trabajar.

En ese sentido, Internet Computer cuenta con una serie de factores decisivos que inclinan la balanza a su favor: tanto desde el punto de vista técnico, como factores diversos que implican su utilización.

En una nueva nota de Mundo IC, vamos a hacer una breve descripción de por qué como desarrollador deberías elegir Internet Computer.

Costos

Desarrollar una idea consta de una serie de pasos previos entre la idea inicial y el resultado final. A la hora de programar, hay una instancia que resulta ineludible, que es la testnet. Una testnet es una red donde pueden realizar pruebas sin arriesgarse a comprometer el correcto funcionamiento de la red principal. Allí se puede experimentar lo que se desea, con el fin de analizar si lo que se programa se condice con el resultado que se logra.

Esto en blockchain tiene una contra muy importante y es que cada vez que se sube algo a la testnet, es imprescindible pagar por esa subida. Una vez realizadas las pruebas correspondientes, debe subirse a la mainnet, es decir a la red principal. Desplegar smart contracts en la mainnet es una operación mucho más cara ya que tenemos que pagar tasas de gas. Tomemos por caso una red de similares características a Internet Computer como lo es Ethereum

“Las altas comisiones de gas se deben a la popularidad de Ethereum. Realizar cualquier operación en Ethereum requiere consumo de gas y el espacio de gas está limitado por bloque”

Esta definición está realizada por ellos mismos en su página

La diferencia sustancial con este tipo de plataformas son dos: por un lado, en Internet Computer se puede subir un proyecto y tener un ambiente de pruebas directamente en el mainnet, o sea en la red principal y de allí trabajar en el desarrollo del proyecto, con un acceso privado, hasta que el desarrollador considere oportuno darlo a conocer. Eliminamos así el costo de subida en la testnet. 

Y por otra parte en otras redes, los desarrolladores pagan por desplegar smart contracts, y la gente paga por utilizarlos. Mientras que las tarifas de Bitcoin dependen del tamaño de la transacción en bytes las tarifas de transacción de Ethereum tienen en cuenta la cantidad de potencia de cálculo necesaria para procesar una transacción, conocida como gas, que también tiene un precio variable medido en ETH y está directamente relacionado con el tráfico de la red

Internet Computer utiliza un “modelo de gas inverso” en el que sólo los desarrolladores aportan los fondos necesarios (se paga con ciclos) para ejecutar las aplicaciones/smart contracts que utilizan su gas. 

Recordemos que en Internet Computer utilizamos una evolución de los smart contracts llamados Canister, por si no estás familiarizado con esto, puedes leer esta nota

Los ciclos son una unidad de medida de consumo de recursos (procesamiento, memoria, almacenamiento y el ancho de banda consumidos en la blockchain). Estos son necesarios para ejecutar las dApps, como si fuera el gas fee. Pero estos son estables y menos costosos. Cada canister tiene una cuenta de ciclos desde la que se cargan los recursos consumidos por el mismo.

Un ICP se puede convertir en ciclos y transferirse a un canister para ser usado. Pero los ciclos están determinados no por el valor de un ICP que puede fluctuar. Hoy en día 1 trillon de ciclos cuestan un $SDR (aprox 1,42) y es relativamente un valor estable. De cualquier forma para nuevos desarrolladores , la fundación otorga un grant (algo que abordaremos más adelante) que en unos pocos minutos nos transfiere 20 trillones de ciclos, incentivando así la utilización de la blockchain.

En definitiva, este proceso favorece que en Internet Computer alojar un gb cueste alrededor de 5 dólares al año, mientras que en otras blockchains estamos hablando de, literalmente, miles de dólares.

Ante este escenario ¿Qué plataforma creen que elegiría un desarrollador? 

Ventajas técnicas

Internet Computer cuenta con una serie de beneficios que los desarrolladores sabrán interpretar como fundamentales. 

  • Velocidad: Mientras otras blockchains crean entre 0.02 y 2.5 bloques por segundo…

Internet computer, al momento de escribir esta nota, está en los 30 bloques por segundo 

  • Escalabilidad.

Hablamos de la capacidad de soportar un alto rendimiento de las transacciones y el crecimiento futuro. Esto significa que a medida que se acelera la adopción de la tecnología blockchain, el rendimiento de la misma no se verá afectado.

Bitcoin y Ethereum han sufrido problemas de escalabilidad en los últimos años debido a la limitación del modelo de consenso Proof of Work. Actualmente, Ethereum intenta superar ese problema a partir de la tan promocionada “Merge”.

Polkadot también tiene una cadena principal, llamada Realy Chain, con varios fragmentos llamados parachains. El número de parachains es limitado y actualmente se estima en unos 100.

Las subredes de Internet Computer son ilimitadas. La blockchain aumenta su capacidad con la demanda y proporciona una hoja de ruta hacia la escalabilidad infinita.

En Internet Computer, los Canister son capaces de recibir y responder a peticiones HTTP y procesar datos a la velocidad que los usuarios esperan cuando utilizan la web.

Las ejecuciones de los smart contracts se dividen en llamadas de actualización, que modifican el estado, y llamadas de consulta, que son peticiones de sólo lectura. Las llamadas de actualización se procesan en todos los nodos de una determinada subred, mientras que las consultas se procesan en un solo nodo.

Una reciente evaluación del rendimiento de Internet Computer puso a prueba todas las subredes de forma concurrente, excepto el NNS, dirigiéndose a sus nodos con una carga creciente, demostrando un rendimiento de 11.000 llamadas/transacciones de actualización por segundo durante 4 minutos, con picos de 11.500 y una finalización de 1 segundo en las subredes de dApp. El rendimiento de las llamadas de consulta se situó en 250.000 por segundo, con una finalización en 200 milisegundos.

Estas cifras son especialmente significativas en comparación con la medición de Solana por ejemplo, de 1.000 TPS, que hasta hace poco se consideraba una referencia en el rendimiento de blockchain.

Como resultado, todo, desde los sistemas DeFi y las dapps hasta los juegos online que se ejecutan en Internet Computer, puede operar a la velocidad de la web y ofrecer una escalabilidad sin precedentes. Proporciona a los desarrolladores potentes marcos de software para reimaginar y reconstruir los sistemas y servicios del mundo en la blockchain.

Financiación

La fundación DFINITY está impulsando muy fuerte los proyectos a través de una serie de programas de financiación.

Por un lado, estamos hablando claro está del Hackaton Supernova. Sobre esto no nos vamos a explayar demasiado, ya que tienen un detallado artículo en nuestro sitio:

Solo cabe destacar que se repartieron alrededor de 6 millones de dólares en más de 40 proyectos. Si esto no lo hace decidir….

Otra de las razones por las que conviene desarrollar Internet Computer son las oportunidades de Grants. ¿Qué son los grants? ¡Dinero! Dfinity tiene como objetivo fomentar el crecimiento del ecosistema de Internet Computer y hacer que esto sea accesibles a más desarrolladores de todo el mundo,. De esta manera cuenta con un programa, el DFINITY Developer Grant Program, que proporciona apoyo a desarrolladores y proyectos prometedores.

Motoko

El lenguaje de programación Motoko es un lenguaje nuevo, moderno y seguro para los desarrolladores que quieran construir la próxima generación de dApps que se ejecuten en Internet Computer. Motoko está diseñado específicamente para soportar las características únicas de Internet Computer y para proporcionar un entorno de programación familiar pero robusto. Como nuevo lenguaje, Motoko está en constante evolución con el apoyo de nuevas características y otras mejoras.

El compilador, la documentación y otras herramientas de Motoko son de código abierto y se publican bajo la licencia Apache 2.0.

Motoko tiene soporte nativo para los canister, por supuesto. Este canister se expresa como un actor en Motoko. Un actor es un objeto autónomo que encapsula completamente su estado y se comunica con otros actores sólo a través de mensajes asíncronos.

El mismo ha sido diseñado para ser intuitivo para aquellos que están familiarizados con JavaScript y otros lenguajes populares, pero ofrece características modernas como tipos estructurales sólidos, genéricos, tipos variantes y coincidencia de patrones comprobados estáticamente.

Un aspecto a nombrar también es que soporta la persistencia ortogonal. Internet Computer no requiere ninguna acción específica por parte de los programas que se ejecutan en él para recuperar o guardar su estado. Por lo tanto la memoria y otros estados del canister persisten a medida que se ejecuta.

Nota del editor: mientras más escribimos en Mundo IC más nos acercamos a articulos sobre desarrollo y a términos particulares de lenguajes tecnicos. Si quieren saber más sobre esto, no duden en escribirnos así sabemos que del otro lado hay más fans como nosotros!
Motoko, a Programming Language Designed for the Internet Computer, Is Now  Open Source | by Andreas Rossberg | The Internet Computer Review | Medium

Suena muy tentador además pensar en desarrollar en un universo de constante expansión, en el que además tiene un potencial de integración con otras blockchains. 

Como vemos, Internet Computer cuenta con muchos beneficios para los desarrolladores que quieran realizar sus proyectos en esta plataforma.y generar servicios, productos y soluciones innovadoras que generen beneficios increíbles al usuario final.

Es importante entender que estamos ante un cambio de paradigma, no imaginemos sólo las mismas aplicaciones en web2 funcionando de la misma manera, ni pensemos en las mismas aplicaciones que en otros blockchains es la oportunidad de crear el futuro del internet. 

¿Sos Desarrollador de software? Sea este mes, en un año, o en 10 años, nos vemos en el ecosistema de Internet Computer.

Mundo IC