Artículo del Blog
Autor
Bri Wylde
Fecha de publicación
Desde Soroban’s anuncio, se ha promocionado como una plataforma de contratos inteligentes escalable, siendo su nueva estructura de tarifas uno de los principales puntos de apoyo. La escalabilidad significa que una red puede funcionar bajo un aumento de uso manteniendo aún la descentralización y seguridad. Blockchain tiene el potencial de transformar los pagos transnacionales, conectar la dispar economía mundial y abrir acceso a nueva y existente infraestructura financiera. Y para hacer esto, debe poder soportar un gran número de cuentas y un alto volumen de transacciones, lo que significa que necesita ser diseñada para escalar.
El diseño de Soroban ha tomado en consideración la escalabilidad desde el inicio. Por ejemplo, la reciente Vista Previa 10 lanzamiento vio la implementación de la fase inicial de un modelo de expiración de estado sin precedentes. Este modelo limita el crecimiento del libro mayor y asegura que los datos de los contratos inteligentes en la red sean valiosos y útiles al permitir que las entradas del libro mayor no utilizadas expiren, manteniendo también bajos los costos de participación en la red. Hay mucho más sobre el modelo de expiración de estado que puedes leer en este reciente post del blog o en los documentos de Soroban.
El modelo de tarifas de Soroban también ha sido diseñado con la escalabilidad en mente. Se diferencia de otras redes en que los desarrolladores pagan una tarifa de recurso que se contabiliza para cada tipo de recurso, permitiendo que el consumo de recursos individuales sea valorado independientemente. Debido a esto, el presupuesto de un bloque también puede ser establecido por recurso medido. Este diseño permite que los recursos de un bloque sean utilizados más eficientemente, ya que los contratos pueden ser construidos intencionalmente para consumir todos los recursos medidos disponibles.
Para hacer esto posible, Soroban tiene un detallado sistema de medición que mide con precisión el consumo de recursos de una transacción. Y para hacer los contratos aún más eficientes, Soroban emplea limitaciones de recursos por transacción limitaciones de recursos.
Con estos sistemas en su lugar, los contratos inteligentes de Soroban están certificados para ser máquinas de lucha delgadas y eficientes construidas para soportar la escalabilidad, sostenibilidad y longevidad de la red Stellar.
Para entender qué hace tan única la estructura de tarifas de Soroban, volvamos a lo básico: una blockchain puede describirse como un conjunto de recursos computacionales que se venden para realizar trabajo. Cada bloque en una blockchain representa un período de tiempo y tiene un número determinado de recursos disponibles para “vender” antes de que el bloque sea finalizado. Para tener una red blockchain funcionando eficientemente, quieres que todos los recursos disponibles en cada bloque sean utilizados o “vendidos”.
La mayoría de las blockchains utilizan un sistema de medición de recursos demasiado simplificado. La EVM, por ejemplo, mide el consumo de recursos en gas. Y el gas es una métrica única que engloba todos los diversos recursos, incluyendo computación, memoria y almacenamiento. Cada bloque tiene un presupuesto total de gas que es consumido por las transacciones, y cada operación tiene un costo de gas. Dado que EVM convierte múltiples métricas diferentes en una sola medida, no todos los recursos subyacentes terminan siendo utilizados, lo que asume recursos desperdiciados en cada bloque y hace que el sistema sea ineficiente en general.
¿Por qué? Aquí hay un ejemplo (muy) simplificado.
Digamos que tenemos un nuevo bloque EVM. Este bloque tiene disponibles 100 unidades de computación, 50 unidades de memoria y 25 unidades de almacenamiento, todo ello sumado en un presupuesto de gas disponible. Si alguien tiene una transacción intensiva en almacenamiento que utiliza todas las 25 unidades de almacenamiento, esto agotará el presupuesto de gas completo para ese bloque. Dado que el sistema no querrá arriesgarse a otra transacción que use más almacenamiento y cause un fallo, 100 unidades de computación y 50 unidades de memoria quedan sin usar y desperdiciadas en ese bloque.
Alternativamente, Soroban expone la disponibilidad de recursos individuales de cada bloque, incluyendo lecturas y escrituras de entradas de libro mayor, instrucciones de CPU y RAM, lo que permite a los desarrolladores construir sus contratos basados en estos recursos medidos específicos y ayuda a asegurar que todos los recursos disponibles en cada bloque sean completamente utilizados. Este diseño permite procesar más transacciones en cada bloque usando la misma cantidad de recursos.
La eficiencia de la red de Soroban facilita que los validadores procesen y validen bloques, ayudando finalmente a mantener costos de validadores razonables para que la participación en la red siga siendo accesible, una parte importante de la descentralización.
Ahora, por supuesto, se anima a los desarrolladores a construir sus contratos de la manera más eficiente posible para pagar una tarifa de transacción menor. Y si eso no es incentivo suficiente, los usuarios de contratos inteligentes también pagan una tarifa menor al invocar contratos menos intensivos en recursos, por lo que los desarrolladores están aún más motivados para escribir contratos eficientes para mantener bajas las tarifas de los usuarios, y las personas son justamente cobradas por lo que usan. También es importante recordar que las tarifas de la red Stellar van a un fondo de tarifas que actualmente está bloqueado y no es recolectado por ninguna otra persona u organización, por lo que no hay incentivo para que los validadores (o alguien) aumenten los precios de las tarifas. Esto proporciona estabilidad de precios a largo plazo incluso a medida que la adopción y el uso crecen.
No solo se fomenta y se incentiva la construcción de contratos eficientes en Soroban, sino que también se les da a los desarrolladores las herramientas para hacerlo.
Dado que Soroban cobra una tarifa basada en el consumo de recursos, también debe tener un sistema preciso para medir estos recursos. Soroban emplea un sistema de conteo y medición detallado que contabiliza los costos de recursos incurridos durante la ejecución de un contrato inteligente y sirve como entrada para los cálculos de tarifas.
Antes de la ejecución del contrato, el desarrollador de contratos inteligentes declara sus límites de recursos individuales en la transacción. Durante el ciclo de vida de la transacción, el modelo de medición mide el consumo de recursos e incrementa el medidor en consecuencia. El medidor verifica el consumo de recursos contra los límites de recursos, y si se supera algún límite, la ejecución de la transacción se termina. De esa manera, nadie paga más de lo que está dispuesto a pagar. Si la ejecución termina dentro de los límites especificados, los totales medidos se registran y se utilizan para los cálculos de tarifas.
Este sistema de medición detallado hace posible la tarifa de recursos granular de Soroban e incentiva la eficiencia de recursos.
Mientras que las tarifas y la estructura de medición fomentan un diseño de contrato inteligente optimizado, las restricciones de recursos realmente lo imponen. Soroban tiene un límite global de red por transacción sobre la cantidad de recursos que una transacción puede consumir. Estas limitaciones de recursos son, como otros ajustes de red, determinadas por una votación de validadores como parte del Protocolo de Consenso Stellar (SCP), un ejemplo de cómo la gobernanza es descentralizada en la red Stellar. Estas limitaciones no están fijas en piedra, y los validadores pueden votar para ajustarlas en respuesta al uso de la red y las necesidades del ecosistema.
Las limitaciones de recursos de Soroban obligan a los desarrolladores a ser económicos al escribir contratos y a pensar más cuidadosamente sobre cómo van a usar los recursos de manera más efectiva. Aunque esto puede ser más trabajo al principio, ayuda a mantener bajos los costos de los validadores porque hay menos desperdicio en la red. Los validadores de la red Stellar solo requieren 8GB de RAM (a diferencia, por ejemplo, de los 256GB de RAM recomendados o más de Solana), y las restricciones de recursos ayudarán a mantenerlo así.
Las limitaciones de recursos hacen más para asegurar que lo que está en la red sea eficiente y valioso y desalientan la creación de tráfico malo ilimitado y casos de uso pobres y spam.
Los diseñadores de Soroban están tomando decisiones deliberadas y bien pensadas para apoyar la escalabilidad. La expiración de estado, las tarifas de recursos, un sistema de medición finamente detallado y limitaciones de recursos contribuyen a tener contratos inteligentes valiosos y eficientes y precios justos y predecibles, llevando finalmente a una red blockchain sostenible y escalable.
Si toda esta charla de escalabilidad y sostenibilidad te inspira, hay muchas maneras de involucrarte. Soroban actualmente está disponible en Futurenet, una red de prueba compartida, con el lanzamiento de Mainnet previsto para más adelante este año. Consulta los documentos si estás interesado en tutoriales y contenido informativo, dirígete al Desafío de Dapps para un curso paso a paso que te enseña sobre la construcción de dapps en Soroban, y si estás listo para empezar a contribuir, Espectacular Sorobounty ahora está aceptando presentaciones para contenido educativo enfocado en dapp.
Y, como siempre, el Discord de Desarrolladores de Stellar es un gran lugar para aprender y obtener respuestas a tus preguntas durante tu viaje con Soroban.