Neste post vamos resumir o whitepaper da Plataforma Avalanche [PDF].
Este documento faz parte do material técnico da Ava Lab’s sobre o protocolo Avalanche e sua implementação. Uma vez que o documento entra em detalhes minuciosos, nós o resumimos utilizando linguagem coloquial, menos técnica, para te dar uma noção geral de como a implementação oficial da AVAX funciona.
O whitepaper da plataforma Avalanche concentra-se em três eixos principais, os quais resumimos, tais quais:
Vamos dar uma olhada em cada um desses eixos, individualmente, enquanto resumimos o whitepaper da Avalanche.
A família de protocolos da neve é o terceiro tipo de mecanismos de consenso distribuídos após consenso clássico e consenso de Nakamoto (Bitcoin et al).
A neve opera por meio de amostragens repetidas de rede. Os nós pesquisam um conjunto pequeno e constante de pares de rede escolhidos aleatoriamente e mudam sua decisão sobre uma transação se uma supermaioria apoiar uma decisão diferente.
A neve é um ambiente que não pede permissões, isto é: os participantes da rede não sabem, necessariamente, sobre a existência de todos os nós. Na verdade, o protocolo permite aos nós que tenham visualizações muito diferentes na rede.
A neve é escalável: a rede pode crescer para milhões de nós trabalhando de forma independente. A delegação da estaca é possível, mas não é necessária. Todos podem se tornar um validadorer e ganhar AVAX em troca de sua contribuição para a rede.
A neve é assincronamente segura: ela não depende de um consenso difícil como Bitcoin ou Ethereum fazem. A rede Avalanche é metaestável e não rigidamente definida para um estado consensual. Veja nosso artigo do protocolo ELI5 Avalanche, é um resumo de como isso funciona.
Ava Labs implementou o protocolo Snow em um sistema originalmente chamado Gecko, hoje chamado AvalancheGo.
A arquitetura da plataforma tem três preocupações principais:
Na Avalanche, cada ativo vive em sua própria blockchain. Ao contrário da Ethereum e de outras plataformas de contratos inteligentes, onde os ativos vão na blockchain principal, a Avalanche cria uma cadeia separada para cada ativo.
Cada cadeia é uma instância de uma máquina virtual de Avalanche. A implementação atual da Ava Labs oferece 2 principais máquinas em que você consegue instanciar, porém qualquer tipo de VM pode ser implementado se você tiver requerimentos especiais. Os Avalanche VM’s são implementados na linguagem GO Programming.
Quando um novo ativo é criado no sistema Avalanche, sua gênese é armazenada na Cadeia de Plataforma (P-Chain). Quando o nó Gecko é iniciado, ele inicializa a Cadeia P e lê todos os ativos criados, instanciando uma máquina virtual para cada ativo em execução em sua própria cadeia.
Uma subnet é um conjunto de validadores que verificam transações para uma determinada cadeia blockchain e seu ativo.
Cada ativo é validado por exatamente uma sub-rede. Porém, os nós em uma sub-rede podem validar vários blockchains se eles escolherem.
Este elegante design hierárquico permite que várias redes de validadores validem sua própria cadeia em execução sob Avalanche, dissociando a principal cadeia AVAX de diferentes ativos.
Os “mineiros” (validadores) não precisam “ver” todas as transações dos outros ativos, que é o que acontece no Ethereum, por exemplo. Isso torna o sistema muito mais escalável.
Quando o nó completo do Gecko é inicialmente executado, ele executa um processo chamado de bootstrapping. Esta terminologia vem do jargão geral de computação, onde iniciar um computador é chamado de “booting” em inglês, que decorre de “bootstrapping” (que em si é a abreviação, em inglês, de “”pulling oneself up by the bootstraps””!).
O bootstrapping acontece em 3 etapas: conectando-se às sementes da rede; descoberta de rede e estado e, finalmente, se tornando um validador. Uma vez que este processo é feito, você possui um nó completo em execução na rede Avalanche.
Cada sistema de rede P2P precisa, de alguma maneira, começar a descobrir a rede. Em um sistema verdadeiramente descentralizado, como a Avalanche, um nó é iniciado sem noção de qualquer outro nó. Não há nós especiais, nenhum líder, nenhum masternodes ou qualquer coisa do tipo na Avalanche.
Assim, uma vez que um nó é iniciado, ele tem alguns nós de semente codificados no código-fonte, muito parecido com o que o Bitcoin Core faz.
No entanto, a Avalanche tem uma diferença significativa do Bitcoin. Como o Bitcoin usa a Prova de Trabalho (“Proof of Work”), é irrelevante se os nós de rede de sementes são desonestos. A segurança é garantida através de Prova de Trabalho (“Proof of Work”).
Na Avalanche, por outro lado, o network inicial é a segurança. A maioria das sementes, então, tem que ser honestas. Por essa razão, a lista inicial dos nós é codificada para implementação Gecko.
O nó agora solicita as transições de estado mais recentes dos nós de semente.
O último estágio é chamado de “accepted frontier” (Fronteira aceita). Lembre-se: Avalanche não tem o concenito de uma “chain tip” (ponta da corrente), tal qual o Bitcoin. A “accepted frontier” de vértices é o conceito mais próximo que a Avalanche tem de uma “chain tip” (ponta da corrente). É um conceito generalizado de ponta de corrente. Por exemplo, se um DAG tiver apenas um caminho, formando um blockchain, então a fronteira aceita é a ponta da corrente.
Uma vez que um nó recebe a fronteira aceita das sementes, ele começa a caminhar o DAG para trás em direção à raiz do gráfico consultando outros nós. Uma vez que tem uma fronteira válida, todas as transições para trás percorrerão estados válidos.
Ao caminhar de volta pela cadeia, o nó também se torna ciente de todos os ativos e todos os validadores para esses ativos. Cada nó completo sabe, portanto, quem é um validador para qual ativo/cadeia.
Uma vez que o nó tem sua cópia da fronteira aceita e caminhou o DAG de volta para a raiz, ele se torna um próprio validador e torna-se capaz de propagar seus próprios dados de fronteira e vértices aceitos para outros nós de bootstrapping na rede.
As redes da Avalanche estão protegidas contra os chamados ataques Sybil através de staking. Um ataque Sybil é uma espécie de exploração, onde um jogador personifica um grande número de jogadores, a fim de falsificar a maioria. Consulte nosso artigo principal do Proof of Stake para obter mais detalhes.
Cada nó que deseja validar a rede deve bloquear pelo menos 2000 AVAX. Quanto maior a quantidade bloqueada, e quanto maior o período de bloqueio, maiores serão as recompensas de apostas quando o período de validação terminar. Veja os detalhes sobre a colheita de recompensas de validação da AVAX em nosso artigo de staking Avalanche.
Uma vez que a aposta é bloqueada e o período de validação começa, é impossível reverter. O nó deve então estar on-line 24×7 para garantir o tempo de atividade e a prova de correção.
O período de estaca (validação) é limitado a um ano. Este é um mecanismo de segurança para garantir que os usuários não bloqueem acidentalmente sua participação por um período arbitrário de tempo, cometendo um erro no tempo de jogo. Por exemplo: Bloquear fundos por 10 anos em vez de 1 inserindo um zero, de forma acidental.
Ao contrário de Tezos, Prysm e outras moedas PoS, a Avalanche não emprega corte. A razão para isso é explicada pelo criador da neve: Emin Gün Sirer: “E foi por isso que eu chamei o “cortar” como uma ideia perigosa. @avax foi o primeiro sistema (e ainda pode ser o único) a apontar o equívoco de que o corte é necessário para que uma cadeia de PoS funcione.”
https://t.co/LbzxVF6L4l– Emin Gün Sirer (@el33th4xor) 15 de agosto de 2020
A implementação inicial da Avalanche suporta contratos inteligentes Ethereum desde o início. Uma máquina virtual Ethereum é construída em cima do protocolo Snow e é executado com Gecko como um plugin (extensão de recurso). Assim, todos os contratos inteligentes Ethereum, incluindo o DeFi mais popular, serão suportados em um blockchain rodando sob Avalanche. (Esta cadeia tem sido chamada de C-Chain pela equipe Avalanche, abreviação de Cadeia de Contratos.)
A principal vantagem da Avalanche sob o Ethereum é que o C-Chain é executado em sua própria máquina virtual/cadeia e não na máquina virtual principal AVAX. Isso permite muito mais crescimento do que usando um único blockchain para todos os ativos.
Os sistemas Avalanche permitem decisões de governança sobre diversos aspectos do sistema.
Por exemplo: a fórmula da taxa de transação e as recompensas de staking (taxa de inflação) podem ser decididas dinamicamente.
Um oráculo da multidão recebe votos de partes interessadas, que decidem sobre um conjunto de parâmetros. No entanto, nem tudo é decidível através da governança. Esta limitação é incluída com o propósito de respeitar o princípio da previsibilidade.
Como mencionado, a taxa de inflação é uma questão de governação muito importante que pode ser votada. A AVAX pode ser inflacionária, deflacionária ou até mesmo desnivelada. O que significa que o limite de 720M não é absolutamente rígido.
Avalanche suporta nativamente swaps atômicos.
Uma vez que todas as diferentes blockchains rodam sob o guarda-chuva principal da Avalanche, os ativos podem ser negociados atomicamente entre cadeias.
O DAG Avalanche (hoje blockchain, após linearização da DAG ocorrida em 25 de Abril de 2023) pode ser otimizado ou, como diz o jargão técnico, “podado”. O que significa que nós completos não precisam manter toda a cadeia em armazenamento permanente o tempo todo. Vértices profundos, que foram confirmados há várias iterações podem ser assumidos como aceitos. Para fazer isso, um nó leve pode manter apenas metadados e saldos de endereços totais.
Avalanche tem 3 tipos principais de clientes: arquivo, completo e leve.
Os nós de arquivamento armazenam um banco de dados completo de todos os vértices, transações, cadeias de Avalanche e assim por diante.
Os nós completos são nós soberanos completos, mas que armazenam apenas o estado atual do sistema, como mencionado na seção Poda.
Finalmente, os clientes leves executam o protocolo completo do Avalanche, mas não armazenam o estado permanente. Os clientes leves verificam constantemente o estado atual do sistema e executam o algoritmo de consenso e podem, assim, ser considerados 100% seguros.
Sharding é o processo de divisão do trabalho a ser feito em diferentes conjuntos que podem ser processados em paralelo, a fim de otimizar a velocidade. Por exemplo, os sistemas RAID usam a fragmentação de discos para ler ou gravar vários setores ou discos ao mesmo tempo.
Existem três tipos de fragmentação: compartilhamento de rede, estado e transação.
Avalanche apoia o compartilhamento de rede, onde a rede é dividida em subnets, onde cada subnet é verificada por um conjunto diferente de validadores. Ao contrário de outros blockchains como Ethereum, onde todos os ativos funcionam na cadeia principal e são validados pelo mesmo conjunto de mineiros.
O whitepaper da plataforma menciona algumas preocupações técnicas que merecem atenção.
A criptografia quântica, enquanto ainda não desenvolvida o suficiente para representar uma ameaça direta ao Bitcoin e a outras criptomoedas, é uma ameaça 100% certa no futuro. Avalanche permite que qualquer VM arbitrária seja implementada, portanto, um desenvolvedor de ativos pode simplesmente usar criptografia resistente ao quântano.
Adversários realistas foram simulados e a equipe Avalanche determinou que um adversário todo-poderoso seria muito difícil de implementar em um cenário real.
Finalmente, a igualdade é incentivada pelo mecanismo de estaca da Avalanche, onde cada validador é recompensado, desde que eles provem tempo de atividade e correção, evitando assim que os ricos fiquem mais ricos, problemas inerentes à maioria das criptomoedas do Proof of Stake. Avalanche é sem liderança, o que significa que blocos e vértices não têm líderes ou proprietários, sendo verificados por todos da mesma maneira.
Avalanche é leve, versátil e projetada em escala.
Várias limitações dos protocolos Proof of Stake anteriormente desenvolvidos foram melhorados na Avalanche, incluindo compartilhamento de rede, validação sem liderança, trocas atômicas integradas e a possibilidade de desenvolver VMs personalizadas para requisitos específicos.
Esperamos que este resumo tenha tornado a plataforma Avalanche mais fácil de entender. É verdadeiramente uma nova tecnologia de criptomoeda emocionante, que promete trazer avanços significativos para a tecnologia de criptografia de terceira geração.
Whitepaper da plataforma Avalanche
Gecko: Implementação de Avalanche por Ava Labs