MainNet e TestNet: O mundo das finanças descentralizadas (DeFi) funciona em cadeias de blocos: sistemas de ledger digital público descentralizado, onde as transações são registradas em blocos e verificadas por nodes.
Todos os dias, bilhões de dólares americanos trocam de mãos na forma de moedas e tokens digitais em plataformas que rodam nessas blockchains. Atualmente, há aproximadamente US$ 90 bilhões de dólares trancados somente na DeFi.
Dinheiro e ativos são trocados e novas plataformas, DApps e cadeias de blocos são lançadas diariamente.
Imagine, então, se estes produtos fossem lançados com base sem nunca terem sido testados sob condições realistas? Quando as questões inevitavelmente surgem, milhões de indivíduos podem perder dinheiro e toda a esfera DeFi pode cair em descrédito. Por estas razões, existem testnets e mainnets.
O que é um Testnet?
Um testnet é uma rede de teste de blockchains que funciona para executar e testar blockchains ou projetos de blockchains antes que eles estejam prontos para serem lançados.
É uma maneira simples para programadores e desenvolvedores criarem, modificarem e testarem as funcionalidades de seus projetos, bem como monitorar seu desempenho antes de torná-lo acessível ao público. Aqui, os desenvolvedores podem solucionar quaisquer problemas e corrigir quaisquer erros.
Em um ambiente de teste, vários testes podem ser executados repetidamente, o que permite uma comparação de desempenho e significa que a consistência pode ser verificada.
Ao correr independentemente para a rede principal, os testes permitem o teste completo de um projeto de blockchains sem interferir com as transações na rede principal. Este modelo de sandbox permite aos desenvolvedores assumir riscos, experimentar e assim criar o melhor modelo possível para lançar.
Como um protótipo, um testnet nunca deve ser usado para transferir nada de valor, e assim os testnets usam dinheiro falso, ou tokens sem valor, para executar seus protocolos.
Os desenvolvedores também usarão frequentemente um testnet para construir e testar sua própria blockchain e, uma vez satisfeitos, irão lançá-los por conta própria. Os testnets permitem um lançamento mais rápido e seguro da rede principal.
O que é uma Mainnet?
Mainnet é a “rede principal”, ou rede, na qual um projeto de cadeia de blocos é executado.
Esta é a etapa que logicamente vem após a conclusão de todos os testes necessários no testnet.
Uma rede principal consiste em uma rede totalmente lançada onde as transações de moeda virtual podem ser processadas eficientemente, verificadas com precisão e registradas com segurança.
Ao implantar uma rede principal, seus desenvolvedores estão declarando que têm plena confiança na capacidade de sua blockchain.
Como uma blockchain totalmente funcional, as redes principais podem ser usadas para enviar e receber qualquer transação, na forma de moedas virtuais ou tokens não fungíveis (NFTs), entre outras, ou transferir informações.
Além disso, uma rede principal pode executar um projeto que requer esse protocolo específico da blockchain, por exemplo, DApps na rede principal Ethereum.
Testnet vs. Mainnet: As Principais Diferenças
- Objetivo: Um testnet é um blockchain de teste, um poço de areia onde as falhas são protegidas, enquanto a rede principal é a blockchain em funcionamento liberada.
- Custo das operações: as tokens em testnets não possuem nenhum valor, ao contrário dos tokens mainnet que utilizam ativos reais e moedas cripto.
O custo das operações em uma rede principal é, portanto, maior. Isto porque cada operação realizada na requer uma taxa, paga em tokens de um determinado valor — algo que o testnet não possui.
- ID da rede: as redes de teste e as redes principais têm IDs de redes diferentes umas das outras, que são usadas para ajudar os desenvolvedores a identificar a rede.
Por exemplo, o ID da rede principal Ethereum é 1, enquanto os testadores comuns Ethereum Ropsten, Rinkeby e Kovan usam 3, 4, e 42, respectivamente.
- Bloco Genesis: Testnet e mainnets têm ambos seu próprio bloco de gênesis independente, ou seja, o primeiro bloco em sua blockchain.
- Nós: um testnet terá menos nós do que uma rede principal, já que há menos informações a verificar.
- Frequência de transação: as redes de teste têm uma frequência de transação menor do que as redes principais, o que faz sentido, pois não terão o grande pool de usuários que uma rede principal tem.
- Código publicado: as redes principais terão seu código subjacente tornado público uma vez publicado, pois isso fortalece a confiança dos usuários na cadeia. Testnets não publicarão o código, pois ele está constantemente passando por mudanças.
Por que a Diferença Entre um Testnet e um Mainnet Importa
Desde 2017, com a explosão da criptomoeda no cenário financeiro, muitos indivíduos se apressaram a investir em novas blockchains, plataformas, DApps e moedas.
Com falta de conhecimento e medo de perder a oportunidade, muitos indivíduos investiram apenas com base em um whitepaper.
Estes whitepaper reivindicavam velocidades fantásticas, altos rendimentos e excelentes resultados, no entanto, estes resultados tinham sido vistos logo nos estágios iniciais e apenas em um ambiente de teste.
Como resultado, projetos que tinham feito afirmações tão ousadas nunca progrediram para o estágio principal da rede e, em vez disso, falharam e queimaram, levando o dinheiro de seus investidores com eles.
Portanto, é de suma importância pesquisar os projetos nos quais se está procurando investir e compreender em que estágio eles se encontram.
Se um projeto é experimentado e testado deve ser um dos primeiros indicadores a serem procurados, portanto, se o projeto atualmente opera uma rede principal ao vivo ou apenas um testnet é da maior importância para qualquer investidor sério.
Por que os Testnets são Importantes?
Todos podem concordar que a execução de testes em qualquer sistema, especialmente um sistema financeiro, é de suma importância antes de seu lançamento, mas, por que estes não podem ser simplesmente executados na rede principal?
Primeiro, a execução de testes em uma rede principal pode ser muito cara:
Será necessário pagar taxas de bloqueio para cada transação feita, cada mudança e cada vez que um projeto é lançado — que durante uma fase experimental são múltiplas e repetidas.
Isto significaria que, para testar um projeto de forma eficiente e explorar suas possíveis opções, seriam cobradas taxas incrivelmente altas.
Se um problema ocorrer durante uma fase experimental na rede principal, poderá perturbar toda a rede, os ativos de seus usuários e as transações, significando que os usuários poderão perder seu dinheiro.
Isto poderia ser muito caro, tanto para os desenvolvedores quanto para a reputação da moeda criptográfica como um todo.
Em segundo lugar, há um problema de compatibilidade:
Testnets não usam nada de valor real, e em vez disso usam “dinheiro falso” sob a forma de tokens sem valor.
As moedas Testnet não são compatíveis com as redes principais, e vice-versa, o que significa que novas moedas ou métodos precisariam ser mineradas, resultando em um processo muito mais longo, complicado e caro.
Por esta razão, todos os novos projetos devem ser testados primeiramente em uma cadeia de blocos independentes com seu próprio bloco de gênese — como um testnet.
Desta forma, aqueles que operam no mercado de moedas cripto podem permanecer absolutamente separados de qualquer operação de “tentativa e erro”, e os desenvolvedores podem ser livres para testar todos os aspectos da cadeia de blocos antes de seu lançamento.
Para quem são os Testnets?
Testnets podem ser usados por qualquer pessoa com um projeto em desenvolvimento e que precise de testes.
Eles são simplesmente uma forma de testar um produto mais próximo da escala, sem taxas e sem o risco de interferir com a rede principal.
Muitas redes principais oferecem um serviço de teste, pois diferentes testadores se assemelham mais a redes principais diferentes e assim os desenvolvedores podem escolher a que melhor se adapta às suas necessidades.
Por exemplo, a Symbol executa tanto uma rede principal quanto um testnet, sendo o testnet uma cópia de sua própria estrutura de rede principal, enquanto a rede principal do Ethereum é muito parecida com a da Ropsten.
Além disso, se um desenvolvedor estiver procurando construir sua própria cadeia de blocos e testá-la, ao invés de simplesmente construir um DApp ou plataforma, ele também pode usar testnets para isso.
Symbol oferece sua bootstrap Symbol, e se estiver construindo uma cadeia de blocos semelhante ao Ethereum, os desenvolvedores frequentemente usam Ganache em trufflesuite.com.
O que é um Sidechain?
Outra maneira interessante experimentar novas ideias ou atualizações de software sem interferir com a rede principal é usando sidechains, ou como a plataforma Ardour se refere a eles, childchains.
Estas blockchains, como o nome sugere, são chains que correm no blockchain principal, ou parentchain.
Elas são conectadas à rede principal por meio de uma mainnet de two-way peg. Elas são completamente independentes e estão encarregadas de sua própria segurança, o que significa que se não houver energia mineira suficiente para proteger a sidechain, ela pode ser invadida.
Entretanto, como é independente, os danos serão contidos dentro dessa cadeia, e não na rede principal. Desta forma, ele cria um espaço semelhante a um testnet.
A principal diferença, entretanto, é que os bens reais podem ser trancados e utilizados em uma sidechain, enquanto que em um testnet eles não podem. Isto dá lugar a cenários mais reais e pode acrescentar uma camada extra de testes ao projeto de um desenvolvedor.
Embora os sidechains tenham esta funcionalidade de teste com risco adicional (devido à possibilidade de perda de capital), seu principal objetivo é adicionar funcionalidade adicional às cadeias de blocos.
Por exemplo, o Rootstock (RSK) é um sidechain que foi desenvolvido com o objetivo de dar à Bitcoin, capacidades inteligentes e a capacidade de fazer pagamentos mais rápidos.
A cadeia de blocos da Ardour, entretanto, emprega suas cadeias de blocos para adicionar uma camada adicional de segurança, conduzindo verificações através delas ao invés de através da rede principal.
Sidechains permitem que as criptomoedas interajam umas com as outras, permitindo flexibilidade e um ambiente contido onde os desenvolvedores podem experimentar sem criar muito impacto.
Resumindo Sobre MainNet e TestNet
Qualquer investidor sério em criptomoedas ou desenvolvedor de cadeias de blocos deve entender a diferença entre uma rede principal e um testnet, e quando usar cada um deles.
Não compreendê-los, ou usá-los incorretamente, pode resultar em perdas de capital ou danos à reputação de uma criptomoeda.
Além disso, outras possibilidades, tais como as sidechains podem provar ser uma boa opção para explorar o desempenho ou acrescentar funcionalidade a um projeto.
Portanto, é importante não apenas compreender o básico, mas também explorar as novas tecnologias que estão evoluindo continuamente no espaço criptográfico.