Solana (SOL) é uma criptomoeda de terceira geração, que tem como foco oferecer uma rede de alta velocidade, com capacidade para contratos inteligentes paralelizáveis, um custo por operação desprezível, sem sacrificar a segurança e com grande escalabilidade.
O projeto Solana Network é um projeto de tecnologia blockchain focado em oferecer recursos avançados para dApps e processamento de rede de alta velocidade para atender aplicativos de alta simultaneidade. Na verdade, a Solana Network é um dos concorrentes mais sérios do Ethereum, embora o Preço Solana ser muito inferior.
História e origem de Solana
A origem de Solana começa graças ao trabalho de Anatoly Yakovenko, um desenvolvedor de software com vasta experiência no desenvolvimento de sistemas operacionais na Qualcomm (Brew OS), sistemas distribuídos na Mesosfera e sistemas de compactação no Dropbox. Yakovenko, passou a se interessar pela capacidade da tecnologia de blockchain e, muito especialmente, pelos protocolos de consenso com os quais já tinha experiência na Mesosfera.
Desse interesse inicial surgiu o livro branco da Prova de História (PoH) ou Teste de História apresentado em 2018, e no qual venho trabalhando desde 2017. Prova de História é um protocolo de consenso curioso que usa o tempo para criar um sistema de hashing seguro para um blockchain. Este sistema funciona com base no VDF ou Verifiable Delay Functions, um tipo de função muito especial que permite este tipo de construção, na qual o tempo marca inescapavelmente que uma transação ocorreu numa determinada sequência de criação, transmissão e verificação da mesma. Este sistema permite a construção de redes muito seguras mas, sobretudo, rápidas e muito eficientes ao nível do consumo de recursos computacionais e de energia.
O nascimento da ideia
Pouco depois de apresentar este trabalho, Yakovenko começou a trabalhar com Greg Fitzgerald, para trazer sua ideia sobre PoH para uma realidade tangível dentro de um blockchain. O projeto era inicialmente conhecido como Loom, mas logo depois mudou seu nome para Solana, um nome que mais tarde seria usado para o registro da empresa Solana Labs, em março de 2018.
Até aquele momento, Yakovenko e Fitzgerald continuaram a trabalhar em uma implementação inicial de PoH no blockchain, mas finalmente em 19 de julho de 2018 seu trabalho valeu a pena. Nesse dia foi colocada em operação uma versão inicial do Solana com 50 nós em operação e com os quais alcançaram uma velocidade invejável: 65.000 transações por segundo. Foi o início de uma nova tecnologia que tinha todos os elementos para deixar o problema da escalabilidade do blockchain no passado.
Primeiro beta de Solana
O trabalho de Yakovenko continuou até que, em fevereiro de 2020, o primeiro beta da rede, conhecido como SOL Testnet Tour, foi lançado, que era um testnet totalmente funcional da rede Solana. Para março de 2020, foi anunciado o lançamento do beta mainnet (na verdade um testnet com funções mais avançadas), com suporte básico para contratos inteligentes e praticamente todas as funções da rede com exceção do sistema de inflação e recompensa para os validadores.
Esta decisão foi tomada com o objetivo de testar as funções iniciais da rede em condições próximas da produção. Este segundo testnet é a rede que funciona atualmente e espera-se que um hard fork ative o sistema de inflação da rede e habilite as demais funções do sistema até o final de 2021.
Como funciona a Rede Solana?
Para entender como a Rede Solana funciona, devemos primeiro examinar as partes que compõem este protocolo. Entre essas partes, podemos destacar o seguinte:
Proof of History (PoH), o protocolo de consenso de Solana Proof of History (PoH) é a pedra angular do Solana, uma vez que este protocolo é o que proporciona a capacidade de processar operações em alta velocidade e com total segurança. Proof of History, é um protocolo de consenso do tipo Proof of Stake (PoS) cuja operação depende do uso do tempo e de um tipo de função conhecido como VDF ou Verifiable Delay Function.
Para que um validador PoH funcione na rede, ele deve realizar um determinado piqueteamento que lhe dê poder de voto dentro da rede, mas o processo de geração e validação usa os VDFs como meio de segurança adicional ao da loteria simples que normalmente é visto na maioria dos algoritmos de PoS.
Nesse sentido, os PoH VDFs funcionam de duas formas:
- Permite ordenar as transações da rede em ordem cronológica para que sejam atendidas exatamente nessa seqüência.
- Cria um sistema criptográfico intrinsecamente ligado ao tempo em que as transações são realizadas, tomadas e verificadas pela rede. Isso é possível porque os VDFs usam os parâmetros temporários dos TXs para executar uma função criptográfica única para garantir sua validade.
Esses dois pontos permitem que os VDFs dentro do PoH sejam muito seguros e também muito rápidos de executar. Entender isso pode ser um pouco complexo, mas acreditamos que este exemplo o ajudará a:
PoH exemplo
Suponha que Ana deseja enviar uma transação (TX) para Juan para pagar o reparo em seu laptop. Ana envia ao TX, em data e hora específicas, dados que constam dos metadados do referido TX. A rede Solana pega aquele TX e inicia o seu processamento, porém, em toda a rede existem centenas e até milhares de operações, cada uma delas com uma data e hora de criação específicas. O que Solana faz com o PoH é pegar cada um desses TXs e criar uma cronologia, ordenando-os da maneira mais exata possível.
Aqui, as diferenças de 0,1 segundo podem colocá-lo à frente ou atrás de muitas outras transações dentro da rede. Isso é vital porque evita que Ana duplique os gastos (movimentando dinheiro que temporariamente não está sob sua propriedade, ou alterando um TX anterior por meio de um vetor de ataque como o de Vetor76) Neste ponto, quando a rede ordena os TXs para seu próximo bloco, os validadores aplicam em paralelo uma série de funções VDF para marcar o referido bloco e iniciar com a geração do próximo bloco.
Esse outro ponto é vital, pois a geração temporária do primeiro bloco e sua marcação serão essenciais para criar a relação criptográfica com o segundo. Em qualquer caso, os VDFs são responsáveis por verificar os timestamps TX, criando um hash único para aquele bloco junto com seu próprio timestamp e criando não apenas uma cronologia nas transações do bloco, mas também uma ordem temporal com os próprios blocos do blockchain.
Ou seja, o TX e os blocos são organizados temporalmente, a ponto de as diferenças temporais entre eles não ultrapassarem 1 segundo, permitindo que o blockchain Solana seja lido conforme uma linha do tempo continua segundo a segundo que é registrada e é inalterável. Em tudo isso, o TX de Ana é validado e Juan recebe seu dinheiro, e embora essa explicação seja extensa, todo esse processo dentro de Solana levou apenas em média um segundo para ser concluído.
O exemplo anterior já nos diz muito sobre PoH e sua velocidade, e é que o tempo de produção de blocos da rede Solana é de longe um dos mais rápidos que existem, de apenas 400 milissegundos. Isso significa que Solana é capaz de gerar dois blocos por segundo, com alguma margem de tempo para montar um terceiro bloco. Colocado dessa forma, Solana parece ficção científica para blockchainers, mas não, é algo tão real que podemos simplesmente sentir enquanto usamos a rede.
Uma rede P2P rápida, eficiente e temporalmente precisa
No entanto, a velocidade muito alta da Prova de História e seus VDFs cria dois problemas:
- Transmitir informações pela rede (TX e blocos) de forma otimizada é uma verdadeira dor de cabeça.
- A precisão temporal pode criar discrepâncias entre nós diferentes.
O primeiro problema é algo com o qual muitos projetos de blockchain têm lutado por muito tempo. É o conhecido problema da largura de banda e de fácil compreensão, pois quanto maior a rede, mais informações precisam se mover por ela, já que todos os nós devem estar sincronizados. Temos um grande número de remessas de transações, conseqüentemente os blocos vão se multiplicar e conter mais informações. Uma situação insustentável e com risco de quebrar a rede, especialmente em locais onde a largura de banda é limitada. Conseqüentemente, ideias como aumentar os blocos em Bitcoin não são bem recebidas, e coisas como aquelas que o BCH e o BSV fizeram são consideradas por muitos como uma ameaça de centralização, ou completa loucura.
O segundo problema é algo que até Satoshi Nakamoto teve que trapacear, porque no próprio Bitcoin um sistema de tempo bastante exato é usado, seus nós realmente não têm a mesma sincronização. Existem pequenas variações, deltas que podem ser considerados imperceptíveis dentro de 10 minutos da validação dos nós Bitcoin. Porém, isso em Solana é impensável, pois seu tempo de validação de 400 ms o torna inviável.
Então, que solução Solana aplica a ambos os problemas?
Turbina, a transmissão de informações pela Rede Solana
Turbina é o nome pelo qual o sistema de propagação de dados da Rede Solana é conhecido. Este protocolo é um derivado do protocolo Gossip e sua tarefa é entregar as informações aos nós que fazem parte da rede. O funcionamento da turbina é bastante simples porque o que ela faz é dissecar as informações dos blocos, para que possam ser enviadas a todos os nós com muito mais rapidez.
Ou seja, a Turbina garante que os metadados do bloco sejam enviados primeiro e, em seguida, as informações internas do bloco. Isso torna a transmissão mais rápida porque, para termos de verificação, tudo o que é importante está dentro dos metadados. Desta forma, a Turbine consegue transportar a informação da rede para todos os seus nós de uma maneira ótima. Algo semelhante ao que a rede Bitcoin faz atualmente com seus blocos compactos.
GulfStream, um cache para transações
GulfStream é o nome do protocolo responsável por armazenar e priorizar transações na rede Solana. Basicamente, o GulfStream é um mempool avançado responsável por transmitir as transações aos validadores para facilitar seu pedido e verificação.
Solana é uma rede com operação paralela. Ou seja, seus validadores são capazes de trabalhar na validação de um bloco e, ao mesmo tempo, preparar o caminho para o próximo. Para conseguir isso, a GulfStream orquestra a entrega de transações de uma forma que mantém essa operação paralela. E, ao mesmo tempo, mantém o tempo necessário para manter o cronograma de validação do sistema. Simplificando, o GulfStream é um protocolo determinístico de armazenamento, pedido e paralelização de blocos e é responsável por grande parte do processo de validação da transação.
Além disso, o GulfStream garante que os validadores de um bloco sincronizem seus relógios para manter a pontualidade da rede. E quando esse bloco é criado, ele sincroniza o próximo quorum de validação com o tempo do bloco anterior e atual, mantendo assim a sincronização temporal da rede em todos os momentos.
Smart Contracts e dApps, objetivo central da Rede Solana
A Rede Solana é capaz de implantar contratos inteligentes e dApps. Na verdade, esse é o seu objetivo principal, uma vez que se trata de uma rede construída para executar aplicações descentralizadas de uso massivo. No entanto, Solana não seguiu o caminho que muitos projetos têm seguido neste sentido, e que são compatíveis com o Ethereum e pouco mais. Em vez disso, Solana criou uma infraestrutura totalmente nova para oferecer contratos inteligentes com recursos exclusivos em sua rede.
Em primeiro lugar, os contratos inteligentes Solana podem ser escritos em duas linguagens populares: C e Rust. Ambas são linguagens de programação de propósito geral bem conhecidas. Na verdade, eles têm bibliotecas de desenvolvimento extensas e uma velocidade que muitas outras linguagens dificilmente podem alcançar.
No entanto, o principal motivo para a escolha dessas linguagens é muito maior: conseguir a paralelização de contratos inteligentes. Falamos sobre como os contratos inteligentes podem explorar todo o potencial do hardware do validador para execução rápida. Tudo isso graças a ser menos caro no nível computacional e, finalmente, ser mais eficiente.
Para conseguir isso, Solana criou o Sealevel, uma camada inteligente de execução de contratos que permite que as instruções sejam lidas, executadas e escritas em paralelo. O resultado disso é claro: os contratos inteligentes de Solana são muito mais rápidos do que os de qualquer outra rede. E, tudo isso graças à paralelização dessa rede. Na verdade, esse sistema não é apenas dimensionado em termos de crescimento da rede, mas também em termos de potência de hardware. Isso graças ao fato de que os equipamentos mais avançados serão capazes de executar esses contratos inteligentes com muito mais rapidez.
Rede Solana e sua crescente comunidade
Atualmente, há um grande número de projetos comprometidos com o desenvolvimento de Solana. E, não é de admirar, dada a tecnologia brilhante que demonstrou. Na verdade, o site da comunidade nos informa que já existem mais de 400 projetos que usam Solana em seu desenvolvimento. Alguns desses projetos são amplamente conhecidos como o caso de Serum, Exodus, Moonpay, Anchor, Fantom, The Graph ou Band Protocol. E, claro, plataformas como Bit2Me estão de olho neste blockchain e seu token.
E isso é apenas o começo, Solana continua seu desenvolvimento imparável e no futuro sua evolução pode trazer melhorias importantes para uma tecnologia verdadeiramente impressionante.