Skip to content Skip to sidebar Skip to footer

12142 | Proposta di testo – Rimozione dei moduli biforcati da Terra Classic

8 min read 1,438 words 229 views

Riassunto esecutivo

OrbitLabs propone di rimuovere i moduli mainline forkati dalla blockchain Terra Classic per migliorare la manutenibilitร , ridurre il debito tecnico e allinearsi al piรน ampio ecosistema Cosmos.

Per una presentazione completa dei nostri team e delle nostre qualifiche, consulta: https://hackmd.io/@orbitlabs/SJiDiG22A

Situazione attuale

La base di codice di Terra Classic utilizza attualmente diverse versioni fork dei moduli di Cosmos per adattarsi alle sue caratteristiche uniche. Questi fork hanno fatto sรฌ che la base di codice si discostasse sempre piรน dai moduli a monte, aumentando i costi di manutenzione fino a quando persisterร .

Con le versioni attuali di Luna Classic e dei moduli upstream, abbiamo ora la possibilitร  di:

  • Rimuoviamo i moduli forclusi mantenuti dal team di Terra Classic
  • Integrare i moduli standard a monte
  • Modifiche specifiche di Port Terra Classic al modulo Terrad stesso

Questo approccio consentirebbe a Terra Classic di ereditare titoli e funzionalitร  aggiornate dal team di sviluppo di Cosmos, riducendo notevolmente i costi e i tempi di manutenzione.

Personalizzazioni/forchette Terra Classic

#### CosmosSDK:

  • Logica personalizzata per OracleTx: Supporto per la gestione della prioritร  delle transazioni Oracle.
  • Logica di puntata personalizzata: Limita il potere di voto del validatore al 20%.

#### CometBFT (ex Tendermint):

  • Transazioni Oracle: Aggiunta la funzionalitร  per elaborare transazioni Oracle specifiche per Terra Classic.

#### Wasmd

  • Deprecazione delle chiavi: Le chiavi attualmente utilizzate nel fork Wasmd di Terra Classic sono deprecate. Questo influisce sul modo in cui i dati relativi al contratto vengono memorizzati e a cui si accede all’interno dello stato della blockchain.

Conseguenze dell’inazione

Se non affrontiamo questo problema:

Aumento dei costi di manutenzione

Dato che Terra Classic continua a mantenere le versioni forcelle dei moduli principali di Cosmos, l’onere di mantenere queste forcelle sincronizzate con gli sviluppi upstream aumenterร . Ciรฒ richiederร  notevoli risorse di sviluppo per gestire aggiornamenti, correzioni di bug e compatibilitร , con conseguente aumento dei costi operativi.

Miglioramenti a monte mancati

Discostandosi dall’SDK principale di Cosmos e dai relativi moduli, Terra Classic rischia di rimanere indietro nell’adozione di miglioramenti chiave e nuove funzionalitร  sviluppate dalla piรน ampia comunitร  di Cosmos. Questo puรฒ limitare la competitivitร  di Terra Classic e rendere piรน difficile l’integrazione di future tecnologie, aggiornamenti, miglioramenti delle prestazioni e altre innovazioni.

Aumento dei rischi per la sicurezza

L’adozione tardiva delle patch di sicurezza e delle correzioni delle vulnerabilitร  a monte espone la catena Terra Classic a potenziali exploit. Piรน a lungo Terra Classic rimarrร  su moduli obsoleti e forkati, maggiore sarร  il rischio di essere colpiti da vulnerabilitร  note che sono giร  state risolte nell’ecosistema Cosmos.

Ecosistema di sviluppatori limitato

Una base di codice sempre meno in linea con l’ecosistema Cosmos principale potrebbe scoraggiare gli sviluppatori L1 dal contribuire a Terra Classic. Gli sviluppatori dovrebbero affrontare un’ulteriore complessitร  nell’apprendimento della base di codice, limitando potenzialmente l’innovazione e l’impegno degli sviluppatori.

Soluzione proposta

Proponiamo di rimuovere i moduli mainline forkati e di sostituirli con i moduli standard di Cosmos. Questo processo sarร  suddiviso in due fasi

Fase 1

  • Unfork di CometBFT dalla versione v0.37.4-terra1 alla versione principale v0.37.4
    • Questo comporterร  l’aggiornamento del motore di consenso per allinearlo alla versione 0.37.4 di CometBFT.
    • Saranno necessari test approfonditi per garantire la stabilitร  della rete.
  • Aggiornare CosmosSDK da v0.47.10-terra.1 a v0.47.10
    • Migrare alla versione v0.47.10 di CosmosSDK che รจ compatibile con la versione di CometBFT v0.37.4.
    • Identifica e risolve qualsiasi conflitto con le caratteristiche specifiche di Terra Classic.
  • Sposta l’oracolo e la logica dei pali in Terrad
    • Riformulare il modulo oracle per renderlo compatibile con il CosmosSDK aggiornato.
    • Assicurati che tutte le funzionalitร  di oracolo specifiche di Terra Classic siano mantenute.

Fase 2

Migrazione di Wasmd dalla v0.46.0-classic.1 alla mainline Wasmd v0.46.0

  • Migrazione dello store del contratto, per garantire la compatibilitร  con gli smart contract esistenti
  • Test approfonditi dell’esecuzione dei contratti e delle migrazioni di stato
    • Test unitari: Aggiornare i test unitari esistenti e crearne di nuovi per la logica di migrazione del negozio di contratti e le migrazioni di stato.
    • Test di integrazione: Sviluppare test end-to-end che simulino l’intero processo di migrazione, compresa la distribuzione, l’esecuzione e le interazioni tra piรน contratti.
    • Test dell’istantanea di stato: Importa un’istantanea dello stato attuale della blockchain, esegui una migrazione a secco, verifica gli stati e le funzionalitร  del contratto dopo la migrazione e testa le procedure di rollback.

Vantaggi

  • Miglioramento della manutenibilitร  e riduzione del debito tecnico
  • Adozione piรน semplice dei futuri aggiornamenti di CosmosSDK
  • Miglioramento della sicurezza grazie a una piรน rapida implementazione delle correzioni upstream
  • Miglioramento dell’interoperabilitร  con altre catene basate su Cosmos
  • Potenziale di attrarre altri sviluppatori Cosmos nell’ecosistema Terra Classic

Cronologia e tappe fondamentali

Fase 1 (8 settimane stimate):

  • Settimana 1: Analisi dettagliata e pianificazione
  • Settimane 2-3: disimballaggio e integrazione di CometBFT
  • Settimane 4-5: aggiornamento di CosmosSDK e risoluzione dei conflitti
  • Settimana 6: Oracle e la migrazione della logica di staking a Terrad
  • Settimane 7-8: test approfonditi, revisione della comunitร  e preparazione per la distribuzione della testnet

Fase 2 (10 settimane stimate):

  • Settimane 1-2: Pianificazione della migrazione Wasmd e implementazione iniziale
  • Settimane 3-6: integrazione di Wasmd e test di compatibilitร  del contratto
  • Settimane 7-8: test dell’intera rete e messa a punto delle prestazioni
  • Settimane 9-10: Revisione finale, documentazione e preparazione per la distribuzione di Testnet.

Bilancio

Budget totale richiesto: Il pagamento sarร  suddiviso in due fasi e sarร  richiesto attraverso due proposte di spesa separate.

Fase 1

Valore Fiat: $16.000 USD

Fase 2

Valore Fiat: $20.000 USD

*Valore totale: 36.000 dollari USA.

*Nota: l’importo effettivo del LUNC per ogni fase sarร  calcolato in base al prezzo in tempo reale del LUNC al momento della presentazione di ogni proposta di spesa.

Certificazione KYC

Come previsto dalla Proposta #12129, le revisioni che approvano il codice sui repository di Terra Classic devono essere condotte da persone con KYC. OrbitLabs รจ KYCed da 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_Certificate_SolidProof_Individual_TuanTran.jpg

Aggiornamento sui progressi

Per garantire la trasparenza e tenere informata la comunitร  di Terra Classic su tutti gli sviluppi del progetto, forniremo rapporti settimanali o bisettimanali sullo stato di avanzamento dei lavori. Per massimizzare il coinvolgimento e fornire aggiornamenti in tempo reale, utilizzeremo diversi canali di comunicazione come indicato di seguito:

Aggiornamenti su Twitter

  • Forniremo aggiornamenti regolari attraverso il nostro sito ufficiale [Twitter account] (https://twitter.com/orbit__labs). Questi aggiornamenti riguarderanno le tappe principali, i progressi dello sviluppo, le sfide incontrate e gli eventuali aggiustamenti della timeline. Anche Twitter sarร  una piattaforma per rispondere alle richieste della comunitร  e per fornire brevi aggiornamenti.
  • Oltre agli aggiornamenti specifici sul progetto, forniremo informazioni generali sugli sviluppi della blockchain e sulle discussioni sulla governance relative a Terra Classic.

I commit di GitHub

  • Tutte le modifiche al codice saranno disponibili pubblicamente nei nostri repository ufficiali su GitHub. Ogni commit sarร  accompagnato da un messaggio di commit dettagliato che spiegherร  la portata della modifica, le motivazioni alla base del cambiamento e qualsiasi considerazione tecnica correlata.
  • Le richieste di modifica (PR) saranno accompagnate da una documentazione completa e saranno aperte alla revisione della comunitร . Incoraggiamo gli sviluppatori della comunitร  a partecipare alle discussioni su queste PR per garantire la massima trasparenza e collaborazione.

Community AMA

  • In occasione di tappe fondamentali (come il completamento di fasi importanti) organizzeremo sessioni di Ask Me Anything (AMA). Queste sessioni daranno alla comunitร  l’opportunitร  di porre domande direttamente al team di sviluppo.
  • Gli AMA saranno ospitati su Twitter Spaces. Gli AMA saranno annunciati in anticipo via Twitter e i risultati piรน importanti di queste sessioni saranno riassunti negli aggiornamenti successivi agli AMA.

Messaggi del blog di Medium/HackMD:

Per aggiornamenti piรน approfonditi e dettagliati, pubblicheremo periodicamente dei post sul blog di Medium/HackMD. Questi articoli saranno dei resoconti completi che includeranno una panoramica dei progetti, le sfide tecniche, le soluzioni e le tabelle di marcia future.

Conclusione

Rimuovendo i moduli mainline forkati, intendiamo posizionare Terra Classic per una sostenibilitร  e una crescita a lungo termine all’interno dell’ecosistema Cosmos. Riteniamo che questo approccio sia in grado di bilanciare la necessitร  di miglioramento con una gestione prudente del rischio e con il coinvolgimento della comunitร .
Accogliamo con favore il feedback e la discussione della comunitร  di Terra Classic su questa proposta.

Dettagli

  • Autori :OrbitLabs
  • Link al forum delle proposte: https://commonwealth.im/terra-luna-classic-lunc/discussion/24923-proposal-removal-of-forked-modules-from-terra-classic

Vote_option_context

  • Sรฌ: appoggiare la proposta di OrbitLabs di rimuovere i moduli “forked” dalla base di codice di Terra Classic.
  • No: Opponiti alla proposta di OrbitLabs di rimuovere i moduli “forked” dalla base di codice di Terra Classic.
  • Astenersi: non hai un’opinione forte e accetterai la decisione della maggioranza.
  • No con veto: Ritieni che questa proposta sia dannosa e non debba essere attuata.
Was this article helpful?
YesNo
E-mail
Password
Confirm Password
QuoraTelegram