Autor
Stellar Development Foundation
Fecha de publicación
Soroban
Desarrollador
Contratos Inteligentes
Ayer, como parte del esfuerzo continuo de todo el ecosistema para probar Soroban, un bug fue descubierto en Stellar Core v20.1.0 que podría impactar aplicaciones y servicios que usan aumentos de tarifa para transacciones de Soroban si o cuando el Mainnet se actualice al Protocolo 20.
En este punto, nosotros, el ecosistema — y específicamente los validadores que operan nodos que soportan la red y participan en decisiones de gobernanza — tenemos una elección: continuar con la votación de actualización al Protocolo 20 el 30 de enero como estaba planeado o retrasar la votación para esperar un nuevo lanzamiento de Stellar Core que solucione el bug.
Debido a que este es un bug con impacto limitado que puede ser mitigado mediante la adhesión a las mejores prácticas, nosotros, la Stellar Development Foundation en nuestra capacidad como validador, hemos decidido que nos sentimos cómodos continuando con la votación de actualización al Protocolo 20 el 30 de enero como estaba planeado.
Después de pensar en las posibilidades, creemos que el bug representa un bajo riesgo a través de las Fases 0 y 1 del despliegue de Soroban porque los límites estrictos en las transacciones de Soroban limitarán la pérdida y prevendrán explotaciones a gran escala. También creemos que si las aplicaciones siguen las mejores prácticas — que puedes encontrar en el post de abajo — pueden protegerse de posibles daños. Y así, tenemos la intención de armar nuestros nodos para la actualización como estaba planeado.
Sin embargo…
Depende de otros validadores tomar su propia decisión. Si deciden votar por la actualización, entonces el cronograma actual se mantendrá. Si deciden no hacerlo, la red no se actualizará el 30 de enero, pero programaremos una nueva votación cuando se implemente una solución.
De cualquier manera, los ingenieros de SDF ya están trabajando para resolver el bug, y tan pronto como un nuevo lanzamiento de Stellar Core esté disponible, estamos comprometidos a trabajar con el ecosistema para implementarlo en toda la red y solucionar el problema por completo.
Y mientras que, en última instancia, depende de los validadores revisar la situación y decidir si continuar con la votación como estaba planeado, nosotros — la Stellar Development Foundation, los validadores de la red y el ecosistema en su conjunto — podríamos beneficiarnos todos de alguna conversación sobre qué hacer a continuación. Si tienes preguntas, sugerencias u opiniones, por favor compártelas en el canal #protocol20 del Stellar Dev Discord.
De nosotros, espera transparencia: prometemos compartir cualquier información contigo tan pronto como podamos, y mantenerte informado a medida que las cosas se desarrollen. De ti, pedimos participación: por favor lee la información abajo y, especialmente si operas un validador, déjanos saber qué piensas.
Más sobre el bug y las mejores prácticas recomendadas está abajo.
Visión general
Para ser claro: este bug solo afecta a las transacciones de Soroban con aumento de tarifa.
Algunos antecedentes: Stellar admite transacciones de aumento de tarifa, que envuelven una transacción interna y pagan las tarifas de esa transacción. Es una característica utilizada para patrocinar tarifas, a menudo por billeteras que quieren ofrecer una experiencia de usuario sin problemas o por entidades que envían muchas transacciones para implementar un pool central de tarifas.
El diseño de tarifas multidimensional de Soroban introduce un componente de tarifa “reembolsable” que puede ser totalmente o parcialmente reembolsado al remitente de la transacción si no se utiliza completamente, y el bug vive donde ese componente reembolsable — que nuevamente, solo existe en transacciones de Soroban — y los aumentos de tarifa se superponen.
El bug de aumento de tarifa causa que el reembolso de la tarifa, si existe, se desvíe del comportamiento esperado.
Como resultado del bug:
A continuación, se presentan las mejores prácticas recomendadas para mitigar los riesgos del bug de aumento de tarifa si la actualización al Protocolo 20 continúa como estaba planeado el 30 de enero.
Próximos pasos
Esta sección describe las mejores prácticas para patrocinar transacciones, independientemente de la existencia de este bug particular.
En general, si usas transacciones FeeBump en tu producto o servicio:
Para patrocinar transacciones de Soroban, recomendamos construir la transacción en el servicio de patrocinio y usar el marco de autenticación de Soroban. El cliente de la billetera solo debe enviar una operación o argumentos de invocación de contrato, así como los correspondientes payloads de autenticación firmados. El servicio de patrocinio ejecuta un preflight usando la invocación y autenticación proporcionadas, y luego firma la transacción completa.
También hay algunas medidas adicionales que puedes tomar para mitigar cualquier riesgo potencial:
Háblanos
Queremos oír de ti en el canal #protocol20 del Stellar Dev Discord:
Próximos pasos
Artículo
• Stellar Development Foundation
Actualización de protocolo
Soroban
Tu guía esencial para actualizar al Protocolo 20, que introduce soporte para contratos inteligentes Soroban en Stellar.
Artículo
• Tomer Weller
Soroban
Contratos inteligentes
Desarrolladores
Actualización de protocolo
La liberación de un conjunto completo de software que admite el Protocolo 20, que traerá contratos inteligentes Soroban a Stellar está disponible.…
Artículo
• Bri Wylde
Contratos Inteligentes
Desarrolladores
Descubre la próxima actualización del Protocolo 20 en la red de Stellar, introduciendo contratos inteligentes de Soroban. Aprende sobre el proceso de…