Artículo de Blog

Soroban: Un Nuevo Estándar de Contrato Inteligente

Autor

Tomer Weller

Fecha de publicación

Soroban

Contratos inteligentes

Si nos has estado siguiendo este año, sabrás que en marzo anunciamos nuestro plan para traer contratos inteligentes a Stellar. Lo decíamos en serio. La semana pasada, en la 4ta conferencia anual Meridian de Stellar, anunciamos dos hitos importantes: primero, Soroban, la plataforma nativa de contratos inteligentes de la red Stellar, ya está disponible en Futurenet, una testnet incentivada, y segundo, SDF ha creado un fondo de adopción de $100M para apoyar a los desarrolladores que construyen sobre Soroban. Es una gran noticia, así que profundicemos en lo que significa todo esto.

Los orígenes de Soroban

Como un breve recordatorio, quiero recapitular por qué construimos Soroban en primer lugar. Cuando decidimos que queríamos traer contratos inteligentes a Stellar, realizamos un inventario bastante exhaustivo de lo que ya existía y lo comparamos con nuestras propiedades deseadas. Nada se ajustaba porque el panorama de los contratos inteligentes de hoy no cumplía con los estándares que buscábamos:

  • Escalabilidad - Queremos una plataforma que esté construida para escalar desde el principio. Necesitamos algo que pueda manejar el tráfico actual en la red Stellar, que ya opera a gran escala, y crecer con ella. Pero lo que encontramos fueron sistemas no optimizados, no construidos para la concurrencia, y que albergan un régimen de tarifas paralizante.
  • Sensatez -Queremos un sistema con opiniones que guíen a los desarrolladores hacia un diseño sensato, pero lo que encontramos fueron sistemas ambiguos que daban a los desarrolladores tantas opciones que terminaban confundidos y perdidos.
  • Una Experiencia de Desarrollador Consistente - Queremos herramientas para desarrolladores que sean de alta calidad, consistentes y familiares para los desarrolladores. Lo que encontramos fueron ecosistemas de desarrolladores plagados de herramientas de parcheo de calidad variable.

Así que, decidimos establecer un nuevo estándar para los contratos inteligentes. Y para hacer eso, necesitábamos construirlo nosotros mismos. Ahora, no me malinterpreten. Hay mucho trabajo excelente siendo realizado en contratos inteligentes a través del espacio blockchain, y algunos de estos sistemas existentes eran un ajuste parcial. Pero no podíamos comprometernos.

Soroban: un nuevo estándar de contrato inteligente

El soroban japonés soroban es el ábaco más pequeño y simple. Desarrollado en el siglo 14 y aún en uso hoy en día, su diseño es compacto y minimalista, enfocado en hacer lo esencial — y hacerlo bien. Inspirados por el soroban porque su tecnología es un estándar de diseño, queríamos establecer el estándar para los contratos inteligentes mientras ensamblábamos nuestra plataforma a largo plazo. Diseñamos Soroban con un propósito y lo construimos para que rinda mediante tres principios de diseño.

Baterías incluidas

En primer lugar, Soroban está diseñado para una experiencia de desarrollador con baterías incluidas. Los desarrolladores merecen acceso inmediato a las herramientas necesarias para comenzar rápidamente e implementar de manera efectiva. Los primeros constructores en Soroban encontrarán un sandbox local para una configuración rápida y desarrollo iterativo. Esto significa que puedes ejecutar y depurar tus contratos localmente, en tu computadora, y sin la red Stellar.

También se incluye un conjunto rico y performante de funciones anfitrionas y contratos integrados para que no tengas que reinventar la rueda. Por ejemplo, tenemos un contrato de token eficiente integrado, lo que significa que se acabó eso de copiar y pegar contratos ERC-20 sin sentido. Soroban está construido usando Rust desde cero. Recientemente compartí mis pensamientos sobre esta decisión en una entrada de blog. La máquina virtual de Soroban está escrita en Rust, para contratos desarrollados en Rust. Esto nos permite aprovechar el conjunto creciente de herramientas seguras y eficientes ya disponibles en el ecosistema Rust.

Esto significa que puedes usar las herramientas que ya usas para el desarrollo en Rust. Pero si no quieres escribir contratos en Rust, también está bien. Soroban se basa en el estándar WebAssembly (o WASM), por lo que puedes construir SDKs en tu lenguaje compatible con WASM favorito. Ya tenemos un miembro de la comunidad trabajando en un SDK de AssemblyScript.

Escalabilidad

Soroban está diseñado para escalar, proporcionando una base desde el inicio que será capaz de proporcionar concurrencia. Las transacciones de Soroban incluyen huellas o lo que podría describirse como dependencias de transacciones, lo que nos permite agrupar transacciones por estas dependencias y ejecutarlas de manera concurrente, aprovechando el hardware multi-núcleo moderno.

Nos deshicimos de la mayoría de los bucles de deserialización y serialización. Cuando examinamos los contratos inteligentes existentes, nos dimos cuenta de que se gasta mucho tiempo y poder de cómputo en codificar y decodificar, así que eliminamos la mayor parte de eso.

También estamos construyendo un modelo de gas ajustable para lograr una fuerte correlación entre los recursos informáticos y las tarifas. Esto puede sonar trivial, pero cuando miras otros ecosistemas, puedes tener dos contratos que pagan exactamente lo mismo, y uno se ejecuta órdenes de magnitud más lento. Eso es injusto e ineficiente. Para maximizar el rendimiento y reducir las tarifas, debes tener un modelo de gas calibrado a los recursos que utiliza.

También estamos abordando el elefante en la habitación: la inflación del ledger. Las blockchains están creciendo hasta el punto en que el tamaño creciente del ledger se está volviendo insostenible (mi colega Justin Rice escribió una edición de boletín sobre eso - deberías echarle un vistazo). Estamos abordando esto de frente y estamos diseñando un mecanismo de archivo de estado para lidiar con la inflación del ledger.

Acceso confiable a las vías financieras

Por último, Soroban está diseñado para un acceso confiable a las vías financieras a través de la red Stellar. Estamos incorporando Soroban al stack tecnológico y ecosistema existente de Stellar. Eso significa que podemos aprovechar lo mejor que Stellar tiene para ofrecer; una red probada y confiable que ha estado activa desde 2015. Mientras hablamos, Stellar está cerrando ledgers de manera oportuna con cinco segundos para la finalidad, en promedio. Stellar está procesando 150 transacciones por segundo (TPS) – este es un promedio semanal de TPS real, no hype de marketing teórico.

Lo más importante, aprovechamos la red global de anclajes de Stellar de on/off-ramps y activos, incluyendo acceso a efectivo en todo el mundo. Esto incluye acceso a exchanges de primer nivel y proveedores de custodia.

Soroban es la plataforma para desarrolladores que no quieren comprometer entre rendimiento y simplicidad.

¡Las pruebas de Soroban están en vivo!

Este año ya ha sido ocupado para el desarrollo de Soroban. Desde que lanzamos el Proyecto Jump Cannon en marzo, hasta anuncios de diseño en el segundo trimestre, y una vista previa inicial el trimestre pasado, estamos avanzando rápido. Y ahora que Soroban está en vivo en Futurenet, realmente podemos usar Soroban, no solo hablar de él.

Futurenet es una testnet incentivada que tendrá iteraciones en los próximos meses mientras trabajamos hacia un lanzamiento de mainnet para Soroban en la primera mitad de 2023. Eso significa que lo que se está desarrollando aquí está lejos de estar listo para producción, pero es un paso adelante para nosotros para colaborar en la tecnología y obtener comentarios valiosos de los primeros adoptantes. Va a ser un buen ambiente para probar cómo escribir y desplegar contratos inteligentes con Soroban, donde esperamos aprender junto a los desarrolladores que se unan para patear los neumáticos (fuerte) para ver qué se rompe. Esta fase hará que nuestras próximas iteraciones de Futurenet y lanzamientos de Mainnet sean más robustos.

Usando Futurenet

Avancemos rápidamente por un minuto e imaginemos a Soroban en el futuro. Es fácil imaginar todo tipo de casos de uso. Piensa en el potencial de Soroban en Stellar para alcanzar a los no bancarizados aprovechando el acceso global de Stellar con la innovación de Soroban. Por ejemplo, hemos creado una demostración de principio a fin mostrando cómo construir una plataforma de crowdfunding con Soroban que presentamos en el escenario en Meridian, el pasado miércoles, llamada Escribe Tu Primer Contrato Inteligente en Soroban. El video llegará pronto, así que publicaremos el enlace tan pronto como esté disponible.

Imaginamos productos que proporcionan infraestructura financiera de bajo costo a aquellos que no la tienen hoy en día, cosas como:

  • Bancos de ahorros verdaderamente propiedad de la comunidad.
  • Crowdfunding comunitario y propiedad para proyectos de obras públicas micro.
  • Herramientas que no solo brindan acceso financiero a las personas sin él, sino que también les dan control y propiedad de esas herramientas también.

Entonces, cuando hablamos de esta fase particular del desarrollo de Soroban en vivo en Futurenet, ¿quién debería venir a jugar? Seamos claros que este lanzamiento de Futurenet es para una categoría particular de desarrolladores ansiosos por ayudar a dar forma a la innovación desde la planta baja. Queremos todos ustedes, los manitas, los adoptantes tempranos, los constructores de herramientas y las tiendas de desarrollo, para venir a probar esto con nosotros. Sácalo a pasear, escribe y despliega contratos inteligentes de Soroban en un entorno de prueba, y comienza a crear herramientas de desarrollador como un explorador de bloques de Soroban. Estamos dispuestos a hacer eso interesante para ti. Lo que nos lleva al próximo capítulo para el futuro de Soroban.

Hemos creado una reserva dedicada en nuestro mandato específicamente para apoyar la adopción de Soroban. $100,000,000 USD para ser precisos. Así es, Soroban está respaldado por un fondo de adopción de $100 millones de SDF. Esto irá hacia apoyar a los desarrolladores para probar y construir en Soroban.

Estaremos creando programas de incentivos para otorgar estos fondos a los desarrolladores, con nuestro primer programa anunciado la semana pasada, Sorobanathon: Primera Luzt.

Sorobonathon. Es divertido decirlo. Deberías intentarlo. \ ˈsȯrəˌbän-ə-ˌthön \

Sorobonathon: Primera Luz recompensará a los desarrolladores elegibles por probar Soroban y compartir comentarios a través de contenido relacionado con Soroban, incluyendo ejemplos de código, tutoriales y problemas en Github. Más detalles sobre Sorobonathon: Primera Luz están disponibles en soroban.stellar.org.

Empezando

Si eres desarrollador, ve ahora mismo a soroban.stellar.org y únete al Sorobonathon (me encanta decir esta palabra). Puedes ganar recompensas por experimentar con Soroban y unirte a la discusión en el Stellar Dev Discord (canal #soroban). Discord es donde anunciaremos futuros programas de recompensas cuando estén disponibles, recibirás primero aviso de todos los programas de incentivos, y el lugar general para estar informado.