Hoje eu vou falar sobre um tema sobre o qual têm surgido dúvidas a respeito com certa frequência, que são as networks, também vou um apanhado sobre o tema de descentralização e escopos.
O conceito das networks é relativamente simples. A gente pode comparar, por exemplo, com a Internet, que nada mais é do que um monte de computadores no mundo inteiro, sejam computadores domésticos, smartphones ou servidores, que estão plugados numa mesma rede. Essa rede, que a gente chama de Web, é a rede que a gente utiliza para se conectar com um jogo, um website, etc. As networks de Bitcoin, de Ethereum, ou qualquer outra criptomoeda têm o mesmo conceito, são dispositivos espalhados no mundo inteiro, aos quais damos o nome de “nós de rede” ou nodes. Esses computadores podem exercer diversas funções, seja espelhar uma parte da blockchain, fazer a validação de blocos ou, até mesmo, minerar os blocos para poder gerar a consolidação nessa blockchain. Quando a gente fala de serviços descentralizados, isso não quer dizer que eles são descentralizados da Internet como um todo.
Todo serviço de cripto é descentralizado dentro de uma rede, então, por exemplo, se a gente for falar no caso do Ethereum, ele tem a rede principal, que é chamada de Mainnet, e existem outras redes dentro do ecossistema, que eles chamam de testnets, redes de teste, inclusive a rede do Ethereum 2.0, a rede Beacon, é uma dessas redes teste. E por que existe uma rede principal e várias redes de teste? Porque as atualizações vão sendo feitas e colocadas nessas redes de teste e as pessoas que estão testando a criação de Smart Contracts podem usar essas testnets para experimentar esses novos recursos que estão sendo implementados antes de irem de fato para a rede principal. A Mainnet é criada a partir de um Full Node, onde é configurada a base principal daquela blockchain. No caso do Ethereum, o Full Node pertence à Ethereum.org, que é a organização criada pelo Vitalik Buterin para gerir o Ethereum, então são eles que fazem alterações no código fonte da rede e também fazem a gestão dos Full Nodes. Quando você quer fazer um node de Ethereum, você se conecta no Ethereum.org e faz um backup da blockchain para começar a operar como um node da rede.
E por que é interessante falar sobre o escopo da rede e falar sobre a questão da descentralização? A descentralização está baseada no escopo dessa rede. Por exemplo, o Bored Ape, que são NFTs muito famosas e custam milhões de dólares, só existem dentro da rede Ethereum. Se você for procurar os Bored Ape em outras redes, como Solana ou Polygon, pode até ser que existam algumas coisas similares, até mesmo sendo assinadas pelos criadores do original, como é o caso do Bored Ape ETC, que estão dentro da rede do Ethereum Classic, mas o principal escopo do Bores Ape é dentro da rede Ethereum, então se você quer comprar um Bored Ape, você precisa se conectar à Mainnet da Ethereum. Então, quando a gente fala de descentralização, a gente está falando de descentralização dentro do escopo dessa rede. Se você sai dessa rede, você pode cair em soluções que não são descentralizadas, mesmo que compartilhem do mesmo código originário de outra rede. Vou dar um exemplo, no caso da rede da Binance Smart Chain, a rede BNB, os códigos da rede, até onde eu lembro, são baseados no GAF do sistema do Ethereum, não sei se eles utilizam a versão em Python ou a versão iGO, mas eles utilizam toda essa infraestrutura do Ethereum, porém os nodes de validação são em Staking (PoS), não em PoW (Proof of Work), e essa rede é centralizada, quem faz o gerenciamento e a validação desses dados são os nodes da própria Binance, tanto que não existe a possibilidade de fazer mineração dentro dessa rede. Por mais que a rede BNB utilize a mesma tecnologia da rede Ethereum, a forma de validação usando Full Nodes centralizados faz com que a rede seja centralizada. No caso do Ethereum, qualquer pessoa, do mundo inteiro, pode se plugar nesse Full Node e fazer a mineração, então a rede tem uma validação descentralizada.
E qual a importância de se entender o funcionamento das networks na hora de criar os nossos Smart Contracts? Quando a gente precisa criar soluções 100% descentralizadas, com foco na segurança, pro exemplo, criar um Smart Contract de protocolo DeFi, a escolha da rede é extremamente importante. Você tem várias opções no mercado, você pode optar por usar a Polygon, a própria rede do Ethereum, a Ethereum Classic, ou você pode criar a sua própria sidechain usando GAF. Eu estou fazendo uma série sobre Smart Contracts no meu canal do YouTube, onde estou testando localmente com o Ganache, mas a gente vai fazer a configuração do Ethereum num node local, mostrando como é que funciona a criação de um Full Node. Vou deixar a playlist aqui, para quem se interessar:
Então a escolha de qual rede será utilizada para gerar esse Smart Contract é muito importante. Se você está fazendo um produto que precisa ser multi-chain, que o mint possa ser feito em uma rede ou outra e que você pode dar ao usuário a opção de qual rede ele vai utilizar para fazer aquela NFT, por exemplo, isso também é importante, porque tem pessoas que só confiam em NFTs que estão dentro da rede Ethereum, têm outros que são mais abertos e utilizam BNB e Polygon.
A UX ainda é um problema muito sério com essa infinidade de redes. Toda vez que a gente precisa plugar em uma rede dessas, precisa fazer uma série de configurações, por exemplo, na nossa Metamask, pra poder acessar essas criptos. Então eu tenho hoje, dentro da minha Wallet da Metamask, algumas redes: a rede local em que eu estou testando o projeto do Smart Contract; a rede do Ethereum Classic, que já é uma outra rede e que eu tive que fazer toda uma configuração para ter acesso a ela e poder tramitar com os ETC que eu tenho; tem a rede do Ethereum também. Caso eu quisesse usar a rede da Polygon ou da BNB, eu teria que fazer uma configuração para cada nova rede. Então acaba que essa UX fica complexa para quem não tem tanto conhecimento assim do universo cripto. A pessoa às vezes quer comprar um NFT, mas ela está em uma rede diferente, e aí tem que fazer todo um tutorial ali de como se conectar nessa nova rede, de como é o procedimento de comprar esse token e usar a Metamask para mintar, não é um processo simples. Essa UX é um problema muito sério que a gente tem hoje dentro do universo cripto que, obviamente, mais cedo ou mais tarde, vai ter que ser resolvida, mas, por enquanto, ainda faz com que o uso de Exchanges seja muito mais cômodo e usual do que manter a custódia da carteira.
No meu ponto de vista, é importante entender como funciona esse ecossistema de ponta a ponta, entender o que são as networks, como funciona uma carteira, o que fazer para proteger os ativos. Inclusive, se você está pensando em fazer algum projeto de Web3, a escolha dessa network é uma das coisas mais importantes, porque vai fazer muita diferença de uma rede pra outra, não só em questão de custos, mas também de segurança, disponibilidade e tudo mais.
O objetivo desse conteúdo é ajudar a desmistificar um pouco o universo cripto, mostrar como funciona esse ecossistema, o que cada um dos termos significa. Em breve eu vou fazer uma publicação falando sobre sidechains, Layer2 e altcoins.
O conteúdo desse post é baseado no vídeo abaixo: