WEB3DEV

Cover image for As Inovações da Solana - uma explicação sem jargões
Banana Labs
Banana Labs

Posted on

As Inovações da Solana - uma explicação sem jargões

Aprenda sobre Solana com linguagem fácil voltada para iniciantes.

Introdução

O que é Solana? Para quem não é desenvolvedor, pode ser difícil entender quando explicado por um engenheiro que fala a linguagem de código. Por definição, Solana é uma blockchain descentralizada criada para possibilitar aplicativos escaláveis e fáceis de usar para o mundo.¹ Famosa por ser baseada em 8 inovações principais, Solana oferece alto rendimento e baixo custo nas transações, proporcionando um produto em escala web para DeFi, NFTs, Web3 e muito mais.

solana capa

Neste tutorial, vamos revisar e discutir cada uma dessas inovações em termos adequados para que qualquer pessoa possa compreender. Se você não é um desenvolvedor ou fluente no mundo do código, você está no lugar certo para aprender o que é Solana e, mais importante — o que ela traz para o jogo.

Pré-requisitos

  • Conhecimento geral e compreensão da blockchain e seus casos de uso

As 8 Inovações Principais da Solana

Exibindo as velocidades mais rápidas do setor, Solana pode lidar com mais de 50.000 transações por segundo (tps). O protocolo faz isso garantindo que os custos nunca ultrapassem $0,01 por transação para os usuários e desenvolvedores. Com esse nível de desempenho, Solana seria mais de 2500 vezes mais rápida e 559 vezes mais barata do que a Ethereum atual!
Como isso é possível?

1. Prova-de-História (PoH)

Esse é o segredo da Solana. Se você está familiarizado com blockchain em geral, certamente já ouviu falar da Prova-de-Participação (Proof-of-Stake - PoS) e da Prova-de-Trabalho (Proof-of-Work - PoW). Solana emprega o popular e eficaz método Prova-de-Participação para proteger sua blockchain e, em seguida, adiciona uma atualização - Prova-de-História (Proof-of-History). Isso super-potencializa a blockchain.

Para conceituar a PoH, pense nos blockchains como parques de diversões. Nesses parques de diversões, você precisa esperar na fila em um dos muitos portões de entrada para apresentar seu ingresso e ser admitido. Receber entrada no parque é o equivalente a ter sua transação processada e incluída no próximo bloco adicionado à cadeia. Para o parque, é uma prioridade máxima que todos os portões de entrada estejam na mesma página em termos de quem será admitido e quando.

Para fazer isso, parques de diversões populares como Ethereum exigem que os trabalhadores dos portões se comuniquem por rádio para discutir e concordar sobre quais pessoas farão parte do próximo grupo a entrar no parque - deixando os frequentadores esperando na fila e olhando para seus relógios. Se for um dia movimentado no parque, você pode imaginar o quão árduo e demorado esse processo pode ser. Como resultado, as filas podem ser longas e os preços dos ingressos podem disparar.

Para evitar isso, a Solana entregou aos operadores dos portões uma impressora especial. Essa impressora registra o horário em que o ingresso do frequentador foi entregue no portão, converte-o em uma sequência segura de caracteres e imprime no ingresso. Isso é frequentemente descrito como um registro de data e hora criptográfico. Cada ingresso que passa pela impressora recebe uma marcação de tempo que faz referência ao ingresso carimbado diretamente antes dele - consolidando a segurança e melhorando a certeza da ordem. Se você encontrasse um desses ingressos no chão, teria, em essência, um histórico de todos os visitantes que já entraram no parque até aquele ingresso ser impresso. Isso é muito poderoso para a principal prioridade do parque - rastrear quem foi admitido e quando.

Fazendo essa diligência prévia, os operadores dos portões da Solana podem permitir que um grupo entre no parque primeiro e concordem com a ordem depois. Quando chega a hora de discutir a ordem dos eventos, não há discussão porque não há nada para discutir. Os operadores dos portões rapidamente organizam os ingressos coletados por carimbo de data e hora, se cumprimentam e voltam ao trabalho.

A PoH é o combustível usado para impulsionar o arsenal de inovações de última geração da Solana. Nas seções seguintes, você aprenderá como isso é a chave para agilizar o fluxo de frequentadores em seu parque com alta segurança e em velocidades incrivelmente rápidas.

2. Tower BFT

Este é o algoritmo de consenso da Solana. Pode ser melhor categorizado como uma versão única da Tolerância a Falhas Bizantinas Prática (pBFT). Para entender isso, vamos primeiro descrever brevemente ambos.

Tolerância a Falhas Bizantinas Prática (pBFT) - um líder é escolhido entre as partes que tentam chegar a um consenso. Quando uma solicitação chega, o líder a transmite para todos no grupo. Quando recebe respostas idênticas de mais de dois terços (> 2/3) do grupo, atinge um consenso. Para blockchain, as partes que chegam a um consenso são os nós da rede e, entre eles, um novo líder é escolhido a cada rodada de consenso.

Tower BFT - pBFT que aproveita a Prova de Histórico (PoH). Um líder transmite uma solicitação a todas as partes, pedindo-lhes para votar no que consideram o estado atual do blockchain. Exceto que desta vez, as partes não podem votar em um estado específico do blockchain, a menos que inclua o estado pelo qual votaram em uma rodada de consenso anterior. Isso é possível porque o PoH mostrará seu histórico de votação em votos futuros de consenso. Isso permite maior taxa de transferência, favorecendo a vivacidade em vez da certeza quando escalonado; cada novo voto reafirma votos anteriores, fornecendo consenso exponencial e incentivo para votar conforme a maioria e ganhar as recompensas de validar um bloco. Tower BFT não requer confirmação de consenso antes de passar para a próxima votação, eles podem lidar com um fluxo contínuo de rodadas de votação com este sistema. Cada rodada de votação contribui inerentemente para o consenso das rodadas anteriores.

Fluxo de transações

Se expandirmos ainda mais nossa analogia do parque de diversões, obteremos uma representação mais precisa do que realmente está acontecendo na Solana. O fluxo de admissão de visitantes ao parque é o seguinte:

  • Operadores de portão escolhem um colega para ser o líder
  • O líder processa os ingressos (transações) de todos, carimbando a hora de cada um com sua impressora - isso os ordena de acordo com o tempo (PoH)
  • Ao processar os ingressos de todos, o líder gera uma cópia do que acredita ser o estado atual do parque de diversões (blockchain) e assina
  • O líder envia cópias dos ingressos ordenados e sua cópia assinada das transações processadas para os demais portões (transmissão)
  • Os portões receptores processam a série de ingressos (transações) e criam sua própria cópia assinada do que acreditam ser a composição atual do parque (confirmações)
  • Cada confirmação publicada pelos outros portões serve como um voto para o algoritmo de consenso (Tower BFT)
  • Um novo líder é escolhido e o processo se repete para o próximo grupo de visitantes esperando para entrar

fluxo de transações
Fonte: Solana Whitepaper

Otimizando a Blockchain

Solana inova em cada tarefa que ocorre na blockchain, não deixando nenhuma pedra sobre pedra. Abaixo, você aprenderá como o Gulfstream elimina as pools de transações, o Sealevel permite que os contratos inteligentes sejam executados em paralelo e o Pipelining otimiza a validação.

3. Gulfstream

Transações pendentes/não confirmadas esperando para serem adicionadas à blockchain geralmente ficam em pools. Pense na analogia do parque de diversões, esta é a fila para entrar no parque. Os operadores de portões estão conversando entre si sobre quem está esperando na fila e qual grupo deixar entrar em seguida. Quanto maior a fila, maior a demanda que o parque está vendo e não atendendo. Quando a Solana está permitindo que as pessoas entrem no local do parque, eles sabem quais portões vão deixar o próximo grupo de pessoas entrar em seguida (qual nó será o próximo líder). Isso permite que os trabalhadores da Solana direcionem os clientes aos portões apropriados com antecedência, permitindo que os operadores de portões processem e ordenem as transações com antecedência, para que, quando chegar a vez de abrir o portão, possam fazê-lo de forma quase instantânea. Portanto, a Solana não tem filas em seu parque.

4. Sealevel

Historicamente, o estado de uma blockchain é alterado linearmente, processando transações (contratos inteligentes) uma a uma. O Sealevel permite que a Solana processe milhares de contratos inteligentes em paralelo. Voltamos ao parque de diversões.

À medida que as transações pendentes chegam ao portão designado, elas são classificadas em filas por tipo específico de transação. Isso permite que o parque se prepare para o que está chegando. Usando um sistema de processamento inovador, os operadores de portões podem então processar todas as diferentes filas classificadas simultaneamente. Além disso, o Sealevel aproveita o design de hardware de CPU e GPU, que permite que uma única instrução seja aplicada a vários pontos de dados simultaneamente. Isso significa que cada fila proverbial classificada no portão de entrada pode ser processada ao mesmo tempo. Pense em um local de entrada com 5 filas, cada uma específica para a forma como estão ganhando entrada, cada fila lado a lado, cada uma processada em lotes. Isso é eficiência - isso é Sealevel.

5. Pipelining

O Pipelining é um método comumente usado de processamento sequencial (normalmente no design da CPU), onde a taxa de transferência do sistema é aumentada organizando a execução de várias instruções simultaneamente. Na rede Solana, é assim que o processamento de transações é tratado para otimização de validação.

Realizado em quatro etapas, a "Unidade de Processamento de Transações" ou TPU, é composta por Busca, Verificação de Assinatura, Bancário e Escrita. A Solana tira proveito do uso de diferentes hardwares para lidar com diferentes etapas do processo, como uma linha de montagem faria durante a fabricação. A ideia é manter os diferentes hardwares, e assim o mecanismo, ocupados o tempo todo - otimizando a produção (validando blocos e distribuindo recompensas de bloco).

O processo é o seguinte:

1.Etapa de Busca de Dados - consultando transações recebidas para coletar pontos de dados específicos em preparação para a execução da transação, como um levantamento de paciente no consultório médico.

Hardware usado: Espaço do Kernel - o núcleo de um sistema operacional de computador, possuindo controle total do sistema e facilitando as interações entre hardware e software. Pense nisso como o quarterback da máquina, recebendo chamadas de jogadas e distribuindo a bola adequadamente.

Kernel
Fonte: Wikipedia³

2.Etapa de Verificação de Assinatura - garantindo que as solicitações de transação recebidas sejam todas únicas e legítimas.
Hardware usado: Unidade de Processamento Gráfico (GPU) - um circuito eletrônico especializado projetado para manipular e alterar rapidamente a memória para acelerar a criação de imagens em um buffer de quadro destinado à saída para um dispositivo de exibição.³ Esta definição é adequada porque uma GPU é tipicamente vista como o hardware usado para produzir imagens. No entanto, a estrutura paralela de uma GPU tem sido extremamente benéfica no processamento de grandes blocos de dados em paralelo por meio de algoritmos - o ponto forte da Solana.

3.Estágio Bancário - a parte financeira real da transação em que os tokens são distribuídos; o PoH também é utilizado nesta etapa.
Hardware usado: Unidade Central de Processamento (CPU) - processador principal que executa instruções em um programa de computador.

4.Estágio de Escrita - registrar a transação na memória permanente e, posteriormente, transmiti-la aos nós validadores subsequentes.
Hardware usado: Kernel Space.

No final da linha de montagem, quando a TPU está transmitindo blocos para os validadores, todos os outros estágios estão trabalhando duro para buscar novos dados, verificar assinaturas e creditar tokens. Isso permite que a Solana processe as transações recebidas como uma máquina bem lubrificada.

Manuntenção da Blockchain

Após de criar um novo bloco, o Líder começa a propagar os dados do bloco para o restante dos nós para que eles atualizem seus registros, um processo otimizado pela Turbine. Como todos os sistemas que criam uma lista de registros em execução, criar um banco de dados de contas é fundamental. Para fazer isso, a Solana escolhe uma abordagem única que é rotulada como sua inovação Cloudbreak. Por último, para manter o registro da blockchain imparcial e com redundância, a Solana possui nós dedicados ao arquivamento da blockchain, chamados de Arquivadores. Isso, é claro, emprega uma solução única construída para otimizar o processo - um tema comum.

6. Turbine

Um nó só pode lidar com um certo número de transmissões por segundo, então, para lidar com mais, você adiciona mais nós à blockchain, certo? Infelizmente, ao fazer isso, você aumenta a quantidade de dados e os locais para popular os dados - um efeito de estrangulamento na blockchain. A Solana resolve isso com a Turbine.

Tradicionalmente, os dados do bloco criado por meio de consenso seriam enviados pelo Líder (discutido acima) para o resto do grupo para que eles incorporassem em sua cópia da blockchain. Imagine o processo assim: O líder do grupo cria uma pintura (um bloco). Todos no grupo precisam de uma cópia da pintura, então o líder envia uma cópia individualmente para cada um. Cada cópia não é pequena e, portanto, leva muito tempo e esforço. Com a Turbine, o líder, em vez disso, corta sua pintura em várias peças de tamanho igual e as distribui aleatoriamente. Cada membro do grupo faz uma cópia e entrega sua peça à pessoa ao lado e vice-versa, até que todos tenham uma pintura completa para si.

Para aumentar a segurança, os membros são colocados em grupos, chamados de "bairros" (neighborhoods). Aqueles que têm mais investimento no projeto são colocados no bairro mais próximo do líder e ordenados em uma hierarquia ponderada a partir daí. Os bairros são responsáveis por passar algumas de suas peças da pintura para os bairros abaixo e assim por diante. No caso de nem todos estarem fazendo sua parte ao compartilhar as peças da pintura, o líder distribui cópias extras de cada peça - adicionando robustez ao processo.

A Turbine implementa essa metodologia para os dados do bloco, permitindo uma propagação de dados mais rápida, segura e eficiente para a blockchain.

7. Cloudbreak

A memória é geralmente usada para acompanhar contas em um sistema distribuído. Isso pode levar a gargalos de desempenho, onde o tamanho da rede se torna uma limitação na capacidade de armazenamento e velocidade de acesso. Solana novamente recorre ao hardware para otimização.

Solana escolhe distribuir seu banco de dados horizontalmente em vários dispositivos de armazenamento - neste caso, SSDs. Blocos de dados são segmentados e distribuídos em ordem sequencial entre os cartões SSD. Pense em um bloco de dados chegando ao banco de dados para armazenamento como um baralho de cartas não embaralhado, e os jogadores na mesa de cartas como os cartões SSD. O baralho de cartas recebido (pacote de dados) é composto por quatro naipes (contas) para serem armazenados. As cartas são distribuídas uma por vez para uma mesa de 13 jogadores, cada um recebendo uma carta de cada naipe até que todas as cartas tenham sido distribuídas. Cada carta em um naipe pode então ser considerada um segmento de dados. No final disso, a estrutura de armazenamento do baralho (pacote de dados) se parece com isso:

deck de dados

A conta "Paus" sendo armazenada é distribuída horizontalmente em uma ordem lógica e sequencial entre os jogadores. Como cada jogador, ou dispositivo de armazenamento, pode ser acessado simultaneamente, a taxa de transferência total dos sistemas é aumentada. Isso é comumente referido como data striping. Cada jogador adicional à mesa não adiciona apenas espaço de armazenamento, mas também o número de fontes de acesso simultâneo disponíveis. A organização sequencial de dados também é ideal para uso da CPU, adicionando outro impulso de desempenho.

O hardware novamente vence para a Solana. Tomado como um todo, o Cloudbreak permite que a blockchain aumente operações simultâneas, escale com a lei de Moore e aproveite a sinergia na operação de hardware. O resultado? Desempenho excepcional.

Arquivadores (Archivers)

Arquivadores (Archivers) se refere ao livro-razão distribuído da Solana que armazena enormes quantidades de dados, mantendo registros do estado completo da blockchain. Os nós arquivadores não participam do consenso. Em vez disso, eles são os guardiões da história (daí o nome).

Em plena capacidade, a rede projeta gerar 1 GB/s de dados, que equivale a 4 petabytes de dados anuais. Para colocar isso em perspectiva, 1 PB de dados é igual a 1.000.000 GB de dados. Por exemplo, seria necessário 368 campos de futebol de unidades flash de 1 GB para armazenar um ano inteiro de história da Solana! É uma quantidade inimaginável. Agora, imagine se cada nó na rede tivesse que armazenar todos esses dados? Isso resultaria ou em impossibilidade, ou em apenas uma pequena concentração de entidades corporativas sendo capazes de suportar a rede - eliminando a descentralização.

A equipe da Solana não aceita nenhuma das opções. Qual foi a solução? Continuar usando suas técnicas de otimização fundamentais. Semelhante à abordagem para Turbine e Cloudbreak onde os dados são divididos, o Solana divide o histórico do livro-razão em pequenos pedaços distribuídos para os nós arquivadores. O número de peças em que o histórico é dividido é determinado por uma taxa de replicação-alvo (quantas cópias do livro-razão eles querem) e pela tolerância a falhas desejadas. Essas métricas dependem do número de arquivadores e da quantidade de espaço que eles sinalizam como disponível para armazenamento. Parece um pouco arriscado, não é? Distribuir toda a história em pedaços entre várias partes. A Solana acalma esse medo de maneira muito inteligente, garantindo a segurança em sua busca para arquivar eficientemente a blockchain.

Insira a prova-de-replicação. Para Solana, é a prova-de-replicação super-carregada por - você adivinhou - a prova de história. PoH está lá para fazer o que faz de melhor - tornar esse processo rápido. A prova-de-replicação, simplificando, é o sistema pelo qual um nó de arquivo verifica que não apenas alocou o espaço para armazenar os dados da blockchain, mas que também está armazenando os dados exatos que prometeu manter. O sistema faz isso criptografando os dados ao armazená-los. Em seguida, em um momento posterior, a rede Solana pode solicitar que o nó de arquivo prove estar fazendo o que disse que faria - armazenar o histórico da blockchain. A criptografia permite que o nó de arquivo replique os dados em alta velocidade e os forneça de volta à rede, provando que o nó de arquivo está cumprindo sua promessa. Se demorar muito, a rede Solana saberá que o nó de arquivo está sendo desonesto e tentando replicar os dados e encobrir seus rastros.

Mais uma vez, a blockchain passa de um problema que ameaça a descentralização, escalabilidade e segurança, para uma solução que reforça seu excepcionalismo em alcançar os três.

Consulte a seção 1. Proof-of-History (PoH) para saber mais sobre as vantagens de velocidade e certeza de verificação que PoH oferece.

Conclusão

Ao combinar todas essas 8 inovações, temos uma blockchain em escala web. Uma que é de alto desempenho, segura e apta a abrir um mundo de inovação. A PoH pode reduzir a sobrecarga de mensagens para a máquina Solana, permitindo tempos de finalidade de sub-segundo. O compromisso da Solana com a otimização e antecipação para escalar com hardware também é digno de nota.

No final do dia, para o não-desenvolvedor, as blockchains são todas uma tentativa de criar uma máquina de estado replicada tolerante a falhas. Cada blockchain em competição aborda esse problema com uma abordagem diferente. Ancorada pela Prova-de-História (Proof-of-History) e guiada por uma equipe comprometida em fornecer o melhor ecossistema Web3 possível, a Solana está preparada para causar impacto na indústria por anos a fio.

Sobre o Autor

Este tutorial foi escrito por Brandon Goss, um analista de pesquisa em cripto e blockchain em ascensão. Você pode entrar em contato com Brandon no Fórum Figment se tiver alguma dúvida relacionada a este guia ou à Solana.

[1] Solana
[2] Dune Analytics, Preços de Gás ⛽️ @alex_kroger
[3] Wikipedia, Kernel (Sistema Operacional)



Esse artigo é uma tradução feita por @bananlabs. Você pode encontrar o artigo original aqui

Latest comments (0)