O Blockchain: não apenas uma descentralização bonita
No artigo anterior, exploramos o conceito de Web3 e seu foco na colaboração, na criação de valor e na importância da interação direta e segura do usuário. Também discutimos brevemente as tecnologias descentralizadas e sua contraparte centralizada.
Neste segundo artigo da série, não apenas nos aprofundaremos em alguns conceitos básicos de como funciona o Blockchain – essa tecnologia descentralizada chave que alimenta a Web3, mas também como começar a usá-la.
O Blockchain, como mencionamos anteriormente, é uma rede contábil descentralizada que permite que várias partes confiem em um banco de dados compartilhado sem a necessidade de um intermediário central.
Quem constrói os blocos cadastrados no Blockchain são os chamados mineradores, que recebem uma recompensa por cada bloco construído que é aceito pelos demais mineradores e pelos chamados full nodos, e cuja integridade é sustentada por diferentes tipos de “provas”. ”que dependem do protocolo de rede.
Isso significa que qualquer usuário da rede pode participar da aprovação de um novo bloco. Qualquer usuário? Bem, não qualquer pessoa no sentido aleatório: qualquer pessoa que “passou no teste” do protocolo em questão.
Esses protocolos são na verdade algoritmos de consenso que, em última análise, tentam resolver o problema de confiança que existe em ambientes descentralizados: é um conjunto de regras que determina os critérios para considerar um bloco confiável (e então válido).
Historicamente, tanto o Ethereum quanto o Bitcoin usaram a Proof Of Work -o que exige muito esforço computacional, pois envolve a resolução de um “problema criptográfico” – mas há algum tempo o Ethereum modificou seu protocolo (em um evento que ocorreu em 15 de setembro de 2022 e foi chamado The Merge) pela Proof Of Stake -em que a probabilidade de encontrar um bloco de transação e receber o prêmio correspondente é diretamente proporcional ao número de moedas que se possui em stake-.
O Blockchain é descentralizado porque opera em uma rede distribuída de nós autônomos que participam do processo de validação das transações, o que também o torna resistente à censura e ataques maliciosos, e garante a continuidade e disponibilidade dos dados nele armazenados.
Por que dizemos que não se trata apenas de uma descentralização bonita?
O Blockchain não é apenas descentralizado, mas também reúne duas características fundamentais: é verificável e imutável.
É verificável porque cada evento registrado pode ser verificado publicamente: qualquer pessoa pode - além de entrar no explorador da rede e ver o histórico completo de transações e bloqueios e informações sobre qualquer uma das carteiras virtuais - baixar e ter seu próprio nó e verificar em seu ter. Esta transparência e a possibilidade de verificação em tempo real aumentam a confiança no sistema e nos convencem de que não precisamos de intermediários ou terceiros.
É imutável porque cada bloco faz parte de uma cadeia e contém não apenas um identificador – chamado hash – relacionado aos dados dentro do bloco, mas também uma referência ao bloco anterior. É por isso que, uma vez registado um evento na cadeia, é praticamente impossível modificá-lo: qualquer alteração feita num bloco afetaria o seu identificador e, consequentemente, quebraria a continuidade da cadeia. Como mencionamos anteriormente, os dados armazenados no blockchain são distribuídos e replicados em vários nós da rede, portanto, se alguém tentasse modificar um bloco em sua cópia da cadeia, os outros nós o detectariam.
Concluindo, a modificação de um bloco requer ou o consenso da maioria dos nós - praticamente impossível dada a autonomia e número deles - ou a alteração em todos os blocos subsequentes - computacionalmente impossível devido ao PoW, e economicamente impossível devido ao PoS então -.
Como funcionam exatamente os algoritmos Proof Of Work e Proof Of Stake?
Proof Of Work
Suponha que somos um minerador de Bitcoin que deseja registrar um novo bloco na rede. Este bloco em questão, além de informações sobre algumas transações, contém um valor denominado nonce. Este nonce - que objetivamente nada mais é do que um contador - será a chave para resolvermos este famoso problema criptográfico. Como?
Aqui precisamos introduzir a noção de função hash. Uma função hash recebe uma entrada de qualquer tamanho e retorna uma saída de comprimento fixo. Mas não só isso, mas não é contínuo (ou seja, que entradas “semelhantes” retornam saídas absolutamente diferentes), e não tem um inverso (isto é, que, dada uma saída, não podemos calcular a entrada): isto é por isso que é muito seguro em termos criptográficos.
O problema criptográfico a resolver é encontrar a entrada que devemos dar à nossa função hash para que ela retorne a saída esperada pela rede (no caso do Bitcoin, essa saída deve começar com pelo menos uma certa quantidade de 0s, previamente definido pelo protocolo, para que o registro de um novo bloco a cada 10 minutos seja estável, portanto quanto mais poder computacional na rede, maior número de 0s nossa saída necessitará).
Como esperado, a entrada que enviaremos é o nosso bloco. E como fazemos com que o mesmo bloco retorne saídas diferentes?! Pois bem, com o nosso querido nonce: na primeira vez, enviaremos nosso bloco com o nonce em 0. A segunda, em 1. A terceira, em 2... E assim por diante (e tem que estar em ordem, já que o nonce também está relacionado com segurança... embora não nos aprofundemos nisso).
A Proof Of Work É então competitivo, pois o minerador que resolver primeiro o problema será aquele que conseguir cadastrar o bloco na rede e obter a recompensa da mineração.
Proof Of Stake
Suponha que somos um minerador do Ethereum que deseja registrar um novo bloco na rede. Bom, para começar não vamos mais nos chamar de mineradores, pois não vamos precisar minerar nada nem resolver nenhum problema criptográfico: o que vamos precisar são de vários pares de milhares de dólares, pelo menos o equivalente a 32 ETH.
Os nós deste protocolo são chamados de validadores, escolhidos “aleatoriamente” para validar.
Mas, para serem elegíveis, eles precisam ter uma participação – isto é, não apenas possuir o dinheiro, mas também não gastá-lo por vários meses – de pelo menos 32 ETH. E dizemos “aleatoriamente” porque quanto mais dinheiro o nó tiver apostado, maior será a probabilidade de ele ser escolhido para confirmar o bloqueio.
Além disso, outra condição obrigatória é garantir que o nó esteja continuamente conectado à rede.
A segurança deste algoritmo é proporcionada pelo staking: caso seja detectado comportamento suspeito ou malicioso num nó, este pode ser penalizado com a perda total ou parcial do seu stake.
Em ambos os algoritmos, são muito comuns grupos de mineração ou staking: um conjunto de mineradores ou nós validadores que unificam suas possibilidades computacionais ou econômicas (e, portanto, suas chances de resolver o problema ou de serem escolhidos pela rede) e depois distribuem proporcionalmente a recompensa.
Então, com qual ficamos?
Os algoritmos PoS tornam a sua rede mais eficiente em termos energéticos, mais rápida, mais barata, escalável e mais amigável para novos nós, uma vez que é mais barato apostar uma certa quantia de dinheiro do que comprar o hardware necessário - que também estará obsoleto em alguns anos - para configurar um nó Bitcoin.
Mas os algoritmos PoW tornam sua rede mais segura e descentralizada.
Mas com qual ficamos?! E bem... isso vai depender de quais são as nossas prioridades. Se quiséssemos armazenar as nossas poupanças, provavelmente o faríamos em Bitcoin, mas se quiséssemos realizar transações diárias, provavelmente o faríamos em Ethereum.
A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.