A testnet é a blockchain alternativa do bitcoin. Um ambiente de teste global no qual os desenvolvedores podem obter e gastar satoshis que não têm valor real em uma rede que é muito semelhante à rede regular do bitcoin (também chamada de Mainnet). Isso permite que os desenvolvedores de aplicativos ou outros que queiram realizar testes no bitcoins, façam experiências sem ter que usar bitcoins reais ou se preocupar em quebrar a cadeia principal de bitcoins.

A mainnet e testnet são redes distintas. Não é possível enviar moedas da testnet para mainnet e vice versa.

Embora similar, a testNet e a rede regular do bitcoin não são compatíveis, o que significa que você não pode usar bitcoins na testNet e não pode usar moedas  da testNet na rede bitcoin. A testnet tem seu próprio conjunto de bitcoins, também conhecido como "testnet coins". Estas moedas não têm valor algum e não podem ser trocadas. No entanto, as moedas podem ser usadas para realizar transações de teste, garantindo que os testes estejam funcionando conforme o esperado.

A razão pela qual o testnet é importante é que os desenvolvedores e outros programadores experimentem novos códigos e soluções. Ao fazer isso, eles não estão “perturbando” a rede principal bitcoin, nem são forçados a usar bitcoins que realmente têm valor. Mais importante, se uma mudança de código proposta fosse dar errado, ela não teria impacto no ecossistema bitcoin principal. Sendo o cenário perfeito para analisar o funcionamento de novas melhorias na rede regular do bitcoin, já que é uma rede muito semelhante, com regras e maneira semelhante de operar. Antes de implantar uma alteração na versão do Mainet, ela é implementada nessa rede e o resultado é observado sem grandes consequências. E também para fazer testes em ferramentas que serão integradas ao bitcoin. Verificando se a ferramenta que irá usar bitcoin realizará as transações e terá capacidade de trabalhar com o código integrado, verificando se o código  está totalmente funcional ao trabalhar com bitcoins reais.[1][2][3]

Diferenças entre bitcoin (mainnet) e testnet editar

  • A testnet usa um valor diferente no parâmetro ADDRESSVERSION. Este parâmetro é o que acaba criando endereços diferentes e é por isso que nenhum endereço do testnet funciona no bitcoin. Enquanto bitcoin usa 0x00 na testnet, 0x6F é usado. É algo essencial para que eles possam ser identificados visualmente.
  • A rede testnet usa um bloco Gênese diferente da rede bitcoin principal. O bloco Gênesis é o inicio do qual a blockchain começa a ser criada.
  • A verificação IsStandard () escrita no código bitcoin está desabilitada no testnet, que permite um cenário diferente para experimentar novas transações e novas idéias.
  • No início da testnet, ela usa diferentes sementes de DNS.
  • Endereços da testnet não começam com “1” ou “3” como no bitcoin, mas por “m” ou “2”.
  • O cabeçalho das mensagens do protocolo é 0x0B110907 em vez de 0xF9BEB4D9 usado no bitcoin.
  • O programa bitcoin é um nó de uma rede Peer-to-peer e necessita se comunicar com outros nós na rede. Por padrão utiliza a porta 8333 do computador, mas no modo testnet ele usa a porta 18333 para poder operar ambos os modos ao mesmo tempo no mesmo computador.
  • A dificuldade mínima de 1.0 no testnet é igual à dificuldade de 0.5 na mainnet. Isto significa que o mainnet-equivalente de qualquer dificuldade testnet é metade da dificuldade na testnet. Além disso, se nenhum bloco for encontrado em 20 minutos, a dificuldade será redefinida automaticamente.
  • O programa bitcoin também permite se comunicar com outros programas. Usando a porta para o protocolo RPC. O testnet por padrão usa o 18332, enquanto o bitcoin usa o 8332.[4][5]

Gerações da testnet editar

Atualmente a rede Testnet é a terceira “versão” da rede, que tambem é conhecida como Testnet3. Na primeiro Testnet, no início do bitcoin, algo não esperado aconteceu: suas moedas começaram a tomar valor e começaram a serem usadas para troca por dinheiro real e por bitcoins. Foi então quando se decidiu criar um novo bloco de gênese e nasceu o Testnet2, que tinha outro problema: ele começou a aumentar a complexidade da mineração para níveis que implicavam um custo de mineração. Assim nasceu o Testnet3, que opera desde 2012, que tem a capacidade de reiniciar automaticamente a complexidade da mineração, se necessário. Em 21 de dezembro de 2015, a SegNet foi implantado para testar a proposta de Pieter Wuille de Testemunha Segregada.[6][6][7]

 
Gráfico da dificuldade de mineração da Mainnet no ano de 2018.

Testnet coins editar

 
Gráfico da dificuldade de mineração da Testnet no ano de 2018.

Apesar de ser uma criptomoeda quase idêntica à bitcoin, como mencionado no inicio, essa moeda não tem valor nenhum. Isto é porque esta moeda é muito fácil de obter. Ela foi criada para que os desenvolvedores tenham um ambiente onde possam realizar experimentos sem danos econômicos. Elas podem ser obtidas de graça por meio de faucets na testnet, que são endereços que fornecem moedas livremente para fins de testes. E podem ser também mineradas com baixo custo computacional. Com a diferença do bitcoin que foi adicionado no Testnet3, o Testnet é projetado de forma que quando um bloco não puder ser extraído devido à sua complexidade, ele vai automaticamente para níveis muito baixos tornando fácil a mineração. A Diferença de dificuldade computacional pode ser observada nos gráficos obtidos de um explorador tanto da Mainnet como da Testnet. Através dos gráficos é possível observar a discrepância do custo computacional entre as redes. Na Testnet o pico da dificuldade de mineração está na faixa dos 60 megabytes e periodicamente é posto para quase 0. Na Mainet da dificuldade de mineração está na faixa dos 5.5 terabytes e tende a aumentar.[8][9]

Bloco Gênesis editar

O Testnet usa um bloco gênesis diferente para a rede principal. A rede de testes Testnet3 foi redefinida com um novo bloco de gênese para a liberação de 0,7 bitcoin.[10]

 
Gráfico do  total de Bitcoins da Testnet em circulação em 2018.

Tamanho da blockchain editar

 
Gráfico do tamanho total da Testnet em 2018

Como mencionado anteriormente, a testnet tem a blockchain distinta da Mainet. Mas esse registro não tem a atividade frenética do bitcoin. Enquanto o Blockchain do bitcoin já está perto de 182 GB, o testnet tem pouco mais de 19 GB. Como é mostrado no gráfico , o limite de 21 milhões está prestes a ser emitido na testnet, algo que o bitcoin espera para o ano 2140.[11]

A razão para isso é devido à funcionalidade do testnet3 mencionada anteriormente: quando a complexidade aumenta, ela é reiniciada e permite que muitos blocos sejam extraídos em menos tempo, reduzindo muito o tempo médio por bloco. Ou seja, enquanto em bitcoin pode demorar cerca de 1000 minutos para extrair 100 blocos, o testnet leva muito menos, talvez entre 100 e 200 minutos (é apenas uma estimativa observando os gráficos).

E o que se espera quando os 21 milhões forem emitidos, possivelmente, um novo testnet. O testnet4, porque o objetivo é não ter valor para que eles estejam constantemente gerando moedas que permitam testar para melhorar o bitcoin e seu ecossistema.[12][13][14]

 
Gráfico do tamanho total da Mainnet em 2018.

Faucets editar

Os faucets da testnet são diferentes do faucets da mainet. Na testnet os faucets disponibilizam moedas de teste deliberadamente. Uma vez que você tenha usado suas moedas de teste, é um bom gesto devolvê-las para os faucets que as forneceram, para que elas fiquem disponíveis para outros desenvolvedores. Segue alguns exemplos de falcets na testnet:

RegTest editar

O software Bitcoin Core também possui em sua configuração padrão uma outra rede chamada RegTest (teste de regressão), que também pode ser iniciada com um parâmetro na linhas de comando > bitcoind -regtest -daemon Bitcoin server starting.[15][16]

Ele foi adicionado ao Bitcoin Core versão 0.9.0, que foi lançado em março de 2014 e foi criado como um modo de teste alternativo.

Essa rede pode ser usada para criar blockchains com as mesmas características da Testnet, mas apenas entre nós que o usuário desejar. Ou seja, com este modo é possivel criar blockchains privadas que irao operar em um ambiente totalmente controlado.[17]

Bugs encontrados na testnet editar

Foi possível fazer uma uma transação na testnet onde o valor de 0,1 BTC é duplicado e gasto duas vezes. O valor de 0,1 BTC é duplicado para gastar 0,099 e pagar uma taxa de 0,101, transformando-o em 0,2 BTC.[18]

Foi descoberto um bugs no software Bitcoin Core que davam aos mineiros a possibilidade de derrubar partes essenciais da infraestrutura do Bitcoin (nós) enviando um bloco 'ruim' para o blockchain.[19]

A rede bitcoin viu a descoberta de um bug que teria permitido uma exploração que poderia ter inflado artificialmente a oferta de criptomoeda. O bug agora foi replicado na testet, mostrando que ele poderia ter sido explorado para mudar a política monetária do Bitcoin como um todo.[20]

Ver também editar

Referências

  1. «Testnet, Testing Network - Bitcoin Glossary». bitcoin.org (em inglês). Consultado em 11 de dezembro de 2018 
  2. «Testnet - Bitcoin Wiki». en.bitcoin.it. Consultado em 11 de dezembro de 2018 
  3. «What is the TestNet?». Coinbase. Consultado em 11 de dezembro de 2018 
  4. «Developer Examples - Bitcoin». bitcoin.org (em inglês). Consultado em 11 de dezembro de 2018 
  5. Mastering Bitcoin 2nd Edition: Programming the Open Blockchain - bitcoinbook/bitcoinbook, Mastering Bitcoin, 11 de dezembro de 2018, consultado em 11 de dezembro de 2018 
  6. a b Bitcoin Improvement Proposals. Contribute to bitcoin/bips development by creating an account on GitHub, Bitcoin, 11 de dezembro de 2018, consultado em 11 de dezembro de 2018 
  7. «segregated-witness-and-its-impact-on-scalability». diyhpl.us. Consultado em 11 de dezembro de 2018 
  8. «
    Testnet
    Título a ser usado para criar uma ligação interna é Testnet. Predefinição:SandboxTitlePredefinição:Current page.title - Smartbit» 🔗. Smartbit | Bitcoin Blockchain. Consultado em 11 de dezembro de 2018  line feed character character in |titulo= at position 68 (ajuda)
  9. «
    Testnet
    Título a ser usado para criar uma ligação interna é Testnet. Predefinição:SandboxTitlePredefinição:Current page.title - Smartbit» 🔗. Smartbit | Bitcoin Blockchain. Consultado em 11 de dezembro de 2018  line feed character character in |titulo= at position 68 (ajuda)
  10. «Testnet, Mark III · gavinandresen/bitcoin-git@feeb761». GitHub (em inglês). Consultado em 11 de dezembro de 2018 
  11. «O que acontecerá com o Bitcoin depois que as 21 milhões de moedas forem mineradas?». Notícias sobre Bitcoin e Altcoins. 30 de junho de 2017. Consultado em 11 de dezembro de 2018 
  12. «
    Testnet
    Título a ser usado para criar uma ligação interna é Testnet. Predefinição:SandboxTitlePredefinição:Current page.title - Smartbit» 🔗. Smartbit | Bitcoin Blockchain. Consultado em 11 de dezembro de 2018  line feed character character in |titulo= at position 68 (ajuda)
  13. «
    Testnet
    Título a ser usado para criar uma ligação interna é Testnet. Predefinição:SandboxTitlePredefinição:Current page.title - Smartbit» 🔗. Smartbit | Bitcoin Blockchain. Consultado em 11 de dezembro de 2018  line feed character character in |titulo= at position 68 (ajuda)
  14. «
    Testnet
    Título a ser usado para criar uma ligação interna é Testnet. Predefinição:SandboxTitlePredefinição:Current page.title - Smartbit» 🔗. Smartbit | Bitcoin Blockchain. Consultado em 11 de dezembro de 2018  line feed character character in |titulo= at position 68 (ajuda)
  15. «Regtest, Regression Test Mode - Bitcoin Glossary». bitcoin.org (em inglês). Consultado em 11 de dezembro de 2018 
  16. «Developer Examples - Bitcoin». bitcoin.org (em inglês). Consultado em 11 de dezembro de 2018 
  17. «Bitcoin Core version 0.9.0 released». bitcoin.org (em inglês). Consultado em 11 de dezembro de 2018 
  18. Efficient, Vitalik Buterin: Blockchains of the Future Will be Thousands of Times More; Stratosphere, Ethereum Shorts Catapult Beyond the; A $30 Billion Marshal Plan for Central America Announced, Can Crypto Play a Role?; Releases, Press; Advertising; Tips, News; Positions (27 de setembro de 2018). «Bitcoin Bug Exploited on Testnet, Chain-Split Ongoing». Trustnodes (em inglês). Consultado em 11 de dezembro de 2018 
  19. Canellis, David (27 de setembro de 2018). «Bitcoin hard fork nightmare becomes reality after testnet splits». Hard Fork | The Next Web (em inglês). Consultado em 11 de dezembro de 2018 
  20. VK, Anirudh (27 de setembro de 2018). «Bitcoin [BTC]'s critical artificial inflation bug from 2016 replicated on testnet». AMBCrypto (em inglês). Consultado em 11 de dezembro de 2018 

Ligações externas editar

 
O Commons possui uma categoria com imagens e outros ficheiros sobre Testnet