I progetti di criptovaluta implementano costantemente nuove tecnologie e funzionalità. Affinché queste nuove implementazioni abbiano successo, devono prima assicurarsi che non danneggino il funzionamento della blockchain. Per fare ciò, hanno bisogno di una versione testnet prima che le nuove funzionalità siano attive.

L’articolo di oggi ti fornirà tutto ciò che devi sapere sul testnet:

  • Cos'è una rete di prova?

  • Come funziona la rete di test.

  • Il ruolo e l'importanza di testnet.

  • Qual è la differenza tra testnet e mainnet? L'analisi di un esempio può fornire una chiara comprensione di come funziona e delle differenze tra queste due reti.

Scopriamolo insieme!

Cos'è una rete di prova?

Nelle criptovalute, una testnet può essere intesa come una blockchain alternativa, una copia esatta della blockchain originale (mainnet). La testnet viene utilizzata principalmente per testare nuove funzionalità senza preoccuparsi di possibili danni alla mainnet.

Le modifiche apportate alla mainnet non saranno più reversibili. Questo è il motivo per cui gli sviluppatori utilizzano attivamente le testnet per introdurre nuove funzionalità, testare diversi protocolli e qualsiasi modifica importante alla funzionalità prima di portarli eventualmente sulla mainnet.

In genere per i progetti di avvio, la testnet viene solitamente completata prima del lancio della mainnet. Questa fase di test è molto importante per assicurarsi che tutto funzioni perfettamente. Perché se la testnet fallisce, il progetto non può rilasciare la mainnet.

Il concetto di testnet è stato introdotto per la prima volta nell'ottobre 2010. Gavin Adresen, uno degli sviluppatori Bitcoin, ha presentato una patch per implementare una nuova funzionalità accettata da Satoshi Nakamoto. Questa patch è considerata la prima testnet.

Bitcoin non è l’unica criptovaluta ad implementare una testnet. Questa rete di test consente a qualsiasi sviluppatore di apportare modifiche al protocollo e testarlo senza influire sulla rete principale. Questa è una svolta per l’industria delle criptovalute.

Sebbene il primo testnet abbia avuto successo, il 3 febbraio 2011 la rete è stata riavviata su richiesta di David Francoise, che ha aggiunto una patch al codice Bitcoin Core. Questa nuova patch si chiama Testnet2.

Anche se questa versione avrebbe dovuto essere un miglioramento rispetto alla prima versione, si è rivelata avere un grosso problema: la rete ha aumentato la difficoltà di mining con conseguenti costi di mining elevati e, a causa dell'elevata difficoltà, molti utenti hanno iniziato a convertire i token Testnet Venduto come BTC reale.

La soluzione a questo problema è stata data quando Andresen ha riavviato la rete il 04/12/2012. Questo ha lasciato il posto all’ultima testnet Bitcoin, attualmente Testnet3. Risolve tutti i bug dei primi due testnet. La terza testnet è attualmente ancora in esecuzione.

Come funziona TestNet?

Aggiungere nuovi prodotti o strumenti a una blockchain attiva può essere molto rischioso e avere conseguenze indesiderate. Immagina, se si verifica un errore durante l'aggiornamento della blockchain, milioni di utenti potrebbero essere colpiti in pochi secondi.

Non solo, gli utenti potrebbero perdere fiducia nella tecnologia e nel team di sviluppo, o anche nel potenziale futuro del progetto. Nel peggiore dei casi, potrebbero verificarsi vulnerabilità che consentono agli hacker di attaccare e causare la perdita delle risorse degli utenti.

Pertanto, lo scopo degli sviluppatori che creano testnet è condurre test senza influenzare il normale funzionamento e le prestazioni della mainnet.

Per verificare se gli aggiornamenti/test funzionano correttamente sulla mainnet, verranno prima messi su testnet per il test. Il team di sviluppo eseguirà quindi analisi e monitoraggio per rilevare bug del software o vedere come i nuovi aggiornamenti incidono sulla testnet. Possono anche incentivare gli utenti a provare la testnet e trovare bug per ottenere premi.

Dopo aver individuato possibili bug e averli risolti, questi aggiornamenti possono essere distribuiti sulla mainnet una volta che gli sviluppatori si assicurano che gli aggiornamenti/test siano sicuri e non abbiano un impatto negativo sulla testnet.

Importanza della rete di prova

Per gli sviluppatori

Le testnet sono importanti per garantire che gli sviluppatori si sentano sicuri durante la distribuzione di modifiche o l'avvio di funzionalità sulla mainnet. In questo modo, la testnet funge da beta pubblica e fornisce un ambiente di test per gli sviluppatori. Le testnet in genere hanno il proprio sistema di portafoglio per controllare le transazioni e i faucet per distribuire i token testnet ai nuovi utenti, consentendo loro di utilizzare le utilità testnet proprio come le monete reali sulla mainnet.

Gli sviluppatori interessati a una blockchain specifica spesso approfittano della disponibilità di testnet per provare le loro idee.​

Ad esempio, sul testnet di Ethereum, gli sviluppatori potrebbero voler testare i propri contratti intelligenti e le implementazioni delle dApp prima di eseguirli sulla mainnet. In questo modo, gli sviluppatori possono comprendere e trarre vantaggio dai protocolli della blockchain prima di decidere di creare applicazioni per essa.

per i minatori

Anche i minatori traggono vantaggio dall’utilizzo di una testnet, poiché consente loro di testare diversi metodi e configurazioni di mining sulla blockchain prima di implementare strategie di mining potenzialmente costose sulla mainnet. I nodi sulla testnet possono anche ricevere premi per testare nuove funzionalità della rete. Le testnet sono particolarmente importanti per i miner che utilizzano nuove blockchain che non hanno ancora lanciato la mainnet, poiché consentono ai miner di prepararsi in anticipo per il lancio.

Per gli utenti

Testnet non è solo un ambiente di test per ingegneri o programmatori, ma si rivolge anche agli utenti che desiderano testare. Più specificamente, fornisce un prezioso strumento di simulazione che consente agli utenti di apprendere in dettaglio come funzionano e vengono utilizzati i prodotti e servizi del protocollo prima del lancio ufficiale della rete. Inoltre, alcune testnet dispongono di meccanismi per premiare gli utenti che contribuiscono allo sviluppo del protocollo testando la testnet e rilevandone bug/problemi.

Differenza tra testnet e mainnet

  • Testnet è una versione di prova, mentre mainnet è la principale blockchain funzionale del progetto.

  • Testnet e mainnet sono due blockchain completamente indipendenti che utilizzano i propri token.

  • In alcuni testnet, i token non hanno valore commerciale e non funzionano come unità monetarie. Sulla mainnet, invece, ogni attività svolta sulla blockchain richiede una commissione sotto forma di token di un certo valore.

  • Mainnet e testnet hanno ID di rete diversi. Ad esempio, l’ID della rete principale di Ethereum è 1, mentre le altre testnet più comunemente utilizzate hanno gli ID di rete 3, 4 e 42.

  • Sul testnet i programmatori hanno generato il blocco Genesis in modo leggermente diverso dal solito. Nello specifico, i tag vengono creati in blocchi e token. Ciò impedisce loro di essere aggiunti alla rete principale e aiuta a mantenere separate le due blockchain. Pertanto, gli utenti non possono trasferire token dalla mainnet alla testnet o viceversa.

  • Testnet consente agli utenti di eseguire i propri nodi su una blockchain di prova. Ciò semplifica il processo di mining di criptovaluta. Allo stesso tempo, sulla rete principale, a causa dell’elevato numero di miner, il mining è più difficile e la concorrenza è molto agguerrita.

  • La frequenza delle transazioni sulla testnet è inferiore rispetto alla mainnet.

Esempio di rete di prova

Ethereum è una piattaforma decentralizzata open source che utilizza contratti intelligenti per consentire agli sviluppatori di creare in modo sicuro applicazioni decentralizzate (dApp) eseguite su di essa, senza alcun controllo da parte di intermediari o terze parti.

Ropsten è il testnet più popolare di Ethereum ed è spesso utilizzato come testnet per gli sviluppatori che creano le proprie dApp sulla blockchain di Ethereum. Utilizzando Ropsten, gli sviluppatori possono testare la funzionalità sulle dApp evitando le commissioni di transazione e l'ETH richiesto per l'implementazione del contratto intelligente. Una volta che sono sicuri che la loro dApp è attiva e funzionante e che i test sono stati completati, possono distribuirla sulla rete Ethereum principale.

La differenza tra la mainnet di Ethereum e la testnet risiede nei seguenti due fattori:

  • ID di rete: un ID di rete è l'identificazione di una rete, simile a una carta d'identità che rappresenta la tua identità. Se un nuovo nodo vuole unirsi alla blockchain di Ethereum, dovrà unirsi alla rete principale con ID di rete 1. Se vogliono unirsi alla rete di prova, possono unirsi a Ropsten utilizzando l'ID di rete 3.

  • Blocco Genesis: poiché mainnet e testnet sono indipendenti l'uno dall'altro, hanno anche blocchi Genesis diversi. Tuttavia, il contenuto del blocco genesi potrebbe essere simile.

Insomma

La natura decentralizzata della blockchain rende difficile modificare e correggere eventuali problemi con il protocollo in esecuzione su di essa. Questo è il motivo per cui i testnet sono così importanti per il successo della blockchain in particolare e dell’industria delle criptovalute nel suo complesso.

Senza un ambiente di test, gli sviluppatori dovrebbero correre rischi costosi provando modifiche o scrivendo nuove funzionalità. Molti attuali progetti di pre-accensione stanno lavorando per lanciare testnet nel prossimo futuro.