12142 | Propuesta de texto – Eliminación de los módulos bifurcados de Terra Classic
Resumen ejecutivo
OrbitLabs propone eliminar los módulos principales bifurcados de la cadena de bloques Terra Classic para mejorar su mantenimiento, reducir la deuda técnica y alinearse con el ecosistema Cosmos más amplio.
Para una presentación completa de nuestros equipos y cualificaciones, echa un vistazo a: https://hackmd.io/@orbitlabs/SJiDiG22A
Situación actual
El código base de Terra Classic utiliza actualmente varias versiones bifurcadas de módulos Cosmos para acomodar sus características únicas. Estas bifurcaciones han provocado que el código base se desvíe cada vez más de los módulos ascendentes, aumentando los costes de mantenimiento mientras persista.
Con las versiones actuales de Luna Classic y los módulos ascendentes, ahora tenemos la oportunidad de:
- Eliminar los módulos bifurcados mantenidos por el equipo de Terra Classic
- Integra los módulos ascendentes estándar
- Portar los cambios específicos de Terra Classic al propio módulo Terrad
Este enfoque permitiría a Terra Classic heredar valores y características actualizados del equipo de desarrollo de Cosmos, reduciendo enormemente los costes y el tiempo de mantenimiento.
Terra Classic Personalizaciones/Horquillas
#### CosmosSDK:
- Lógica personalizada para OracleTx: Soporte para la gestión de la prioridad de las transacciones de Oracle.
- Lógica de apuestas personalizada: Limitar el poder de voto del validador al 20%.
#### CometBFT (antes Tendermint):
- Transacciones Oracle: Añadida funcionalidad para procesar transacciones Oracle específicas de Terra Classic.
#### Wasmd
- Claves obsoletas: Las claves actuales utilizadas en la bifurcación Wasmd de Terra Classic están obsoletas. Esto afecta a cómo se almacenan y se accede a los datos relacionados con el contrato dentro del estado de la cadena de bloques.
Consecuencias de la inacción
Si no abordamos esta cuestión:
Aumento de los costes de mantenimiento
A medida que Terra Classic siga manteniendo versiones bifurcadas de los módulos centrales de Cosmos, aumentará la carga de mantener estas bifurcaciones sincronizadas con los desarrollos upstream. Esto requerirá importantes recursos continuos de los desarrolladores para gestionar las actualizaciones, las correcciones de errores y la compatibilidad, lo que se traducirá en un aumento de los costes operativos.
Mejoras ascendentes perdidas
Al desviarse de la línea principal del SDK de Cosmos y de los módulos relacionados, Terra Classic corre el riesgo de quedarse atrás en la adopción de mejoras clave y nuevas funciones desarrolladas por la comunidad Cosmos en general. Esto puede limitar la competitividad de Terra Classic y dificultar la integración de futuras tecnologías, actualizaciones, mejoras de rendimiento y otras innovaciones.
Aumento de los riesgos de seguridad
El retraso en la adopción de parches de seguridad y correcciones de vulnerabilidades upstream expondrá la cadena Terra Classic a posibles exploits. Cuanto más tiempo permanezca Terra Classic en módulos bifurcados y obsoletos, mayor será el riesgo de verse afectado por vulnerabilidades conocidas que ya han sido corregidas en el ecosistema Cosmos.
Ecosistema de desarrolladores restringido
Una base de código cada vez menos sincronizada con el ecosistema principal de Cosmos puede disuadir a los desarrolladores L1 de contribuir a Terra Classic. Los desarrolladores se enfrentarían a una complejidad adicional a la hora de aprender el código base, lo que podría limitar la innovación y el compromiso de los desarrolladores.
Solución propuesta
Proponemos eliminar los módulos bifurcados de la línea principal y sustituirlos por los módulos estándar de Cosmos. Este proceso se dividirá en dos fases
Fase 1
- Unfork CometBFT de v0.37.4-terra1 a la versión principal v0.37.4
- Esto implicará actualizar el motor de consenso para alinearlo con la versión 0.37.4 de CometBFT
- Serán necesarias pruebas exhaustivas para garantizar la estabilidad de la red
- Actualizar CosmosSDK de v0.47.10-terra.1 a v0.47.10
- Migrar a la versión v0.47.10 de CosmosSDK, que es compatible con nuestra versión objetivo v0.37.4 de CometBFT.
- Identifica y resuelve cualquier conflicto con las características específicas de Terra Classic
- Trasladar el oráculo y la lógica de la estaca a Terrad
- Refactoriza el módulo oracle para que sea compatible con el CosmosSDK actualizado.
- Asegúrate de que se conserva toda la funcionalidad oracle específica de Terra Classic.
Fase 2
Migración de Wasmd de v0.46.0-classic.1 a la línea principal Wasmd v0.46.0
- Migración del almacén de contratos, para garantizar la compatibilidad con los contratos inteligentes existentes
- Pruebas exhaustivas de ejecución de contratos y migraciones de estado
- Pruebas unitarias: Actualizar las pruebas unitarias existentes y crear nuevas para la lógica de migración de almacenes de contratos, migraciones de estados.
- Pruebas de integración: Desarrolla pruebas de extremo a extremo que simulen todo el proceso de migración, incluyendo el despliegue de contratos, la ejecución y las interacciones multicontrato.
- Pruebas de instantáneas de estado: Importa una instantánea del estado actual del blockchain, realiza un simulacro de migración, verifica los estados y la funcionalidad del contrato tras la migración y prueba los procedimientos de reversión.
Beneficios
- Mejora de la mantenibilidad y reducción de la deuda técnica
- Adopción más fácil de futuras actualizaciones de CosmosSDK
- Mejora de la seguridad gracias a una aplicación más rápida de las correcciones upstream
- Interoperabilidad mejorada con otras cadenas basadas en Cosmos
- Potencial para atraer a más desarrolladores Cosmos al ecosistema Terra Classic
Calendario e hitos
Fase 1 (estimada en 8 semanas):
- Semana 1: Análisis detallado y planificación
- Semanas 2-3: Desbloqueo e integración de CometBFT
- Semanas 4-5: Actualización del CosmosSDK y resolución de conflictos
- Semana 6: Oracle y migración de la lógica de estacado a Terrad
- Semanas 7-8: Pruebas exhaustivas, revisión de la comunidad y preparación para el despliegue de la red de pruebas
Fase 2 (estimada en 10 semanas):
- Semanas 1-2: Planificación de la migración a Wasmd e implementación inicial
- Semanas 3-6: Pruebas de integración Wasmd y compatibilidad de contratos
- Semanas 7-8: Pruebas en toda la red y ajuste del rendimiento
- Semanas 9-10: Revisión final, documentación y preparación para el despliegue de Testnet.
Presupuesto
Presupuesto total solicitado: El pago se dividirá en dos fases y se solicitará a través de dos propuestas de gasto distintas.
Fase 1
Valor del Fiat: 16.000 USD
Fase 2
Valor del Fiat: 20.000 USD
*Valor fiduciario total: 36.000 USD*.
*Nota: El importe real de LUNC para cada fase se calculará según el precio en tiempo real de LUNC cuando se presente cada propuesta de gasto.
Certificación KYC
Según la Propuesta #12129, las revisiones que aprueban el código en los repositorios de Terra Classic deben ser realizadas por personas KYCed. OrbitLabs es KYC por sollidproof.io
https://github.com/solidproof/Projects/blob/main/2024/Kien/KYC_Certificate_SolidProof_Individual_Kien.jpg
https://github.com/solidproof/Projects/blob/main/2024/Tien/KYC_Certificate_SolidProof_Individual_Tien.jpg
https://github.com/solidproof/Projects/blob/main/2024/Tuan%20Tran%20/KYC_Certificado_Prueba_Sólida_Individual_TuanTran.jpg
Avances actualizados
Proporcionaremos informes de progreso semanales o quincenales a lo largo del proyecto para garantizar la transparencia y mantener a la comunidad de Terra Classic informada de todos los avances. Para maximizar el compromiso y proporcionar actualizaciones en tiempo real, utilizaremos varios canales de comunicación, como se indica a continuación:
Actualizaciones de Twitter
- Proporcionaremos actualizaciones periódicas a través de nuestra página oficial [Twitter account] (https://twitter.com/orbit__labs). Estas actualizaciones cubrirán los hitos clave, el progreso del desarrollo, los retos encontrados y cualquier ajuste en el calendario. Twitter también servirá como plataforma para responder a las peticiones de la comunidad y proporcionar actualizaciones breves.
- Además de las actualizaciones específicas del proyecto, proporcionaremos información general sobre los avances en blockchain y los debates sobre gobernanza relacionados con Terra Classic.
Compromisos de GitHub
- Todos los cambios de código estarán disponibles públicamente en nuestros repositorios oficiales de GitHub. Cada confirmación irá acompañada de un mensaje de confirmación detallado que explique el alcance del cambio, su justificación y cualquier consideración técnica relacionada.
- Los Pull Request (PR) irán acompañados de una documentación exhaustiva y estarán abiertos a la revisión de la comunidad. Animamos a los desarrolladores de la comunidad a participar en los debates sobre estas PR para garantizar la máxima transparencia y colaboración.
AMA comunitarios
- En momentos clave (como la finalización de fases importantes) organizaremos sesiones de Ask Me Anything (AMA). Estas sesiones darán a la comunidad la oportunidad de hacer preguntas directamente al equipo de desarrollo.
- Las AMA se celebrarán en Twitter Spaces. Anunciaremos las AMA con antelación a través de Twitter, y cualquier aprendizaje clave de estas sesiones se resumirá en actualizaciones posteriores a la AMA.
Entradas de blog de Medium/HackMD:
Para actualizaciones más profundas y detalladas, publicaremos artículos periódicos en el blog Medium/HackMD. Estos artículos servirán como informes exhaustivos que incluirán resúmenes del proyecto, retos técnicos, resoluciones y futuras hojas de ruta.
Conclusión
Al eliminar los módulos bifurcados de la línea principal, pretendemos posicionar Terra Classic para la sostenibilidad y el crecimiento a largo plazo dentro del ecosistema Cosmos. Creemos que este enfoque equilibra la necesidad de mejora con una gestión prudente de los riesgos y la participación de la comunidad.
Agradecemos los comentarios y el debate de la comunidad de Terra Classic sobre esta propuesta.
Detalles
- Autores :OrbitLabs
- Enlace del Foro de Propuestas : https://commonwealth.im/terra-luna-classic-lunc/discussion/24923-proposal-removal-of-forked-modules-from-terra-classic
Vote_option_context
- Sí: Apoya la propuesta de OrbitLabs de eliminar los módulos bifurcados de la base de código de Terra Classic.
- No: oponerse a la propuesta de OrbitLabs de eliminar los módulos bifurcados de la base de código de Terra Classic.
- Abstención: No tienes una opinión firme y aceptarás la decisión de la mayoría.
- No con veto: Crees que esta propuesta es perjudicial y no debe aplicarse.

