O que é Solana (SOL) e como funciona?

O que é Solana (SOL)?
Solana é uma blockchain pública na qual os programadores podem construir e executar programas onchain. Esses programas são semelhantes a smart contracts: fragmentos de código que correm na blockchain e executam automaticamente determinados acordos ou ações.
SOL é o token nativo da Solana. Utiliza-se SOL, entre outras coisas, para pagar taxas de transação na rede. A Solana tem o seu próprio mainnet, o ambiente de produção onde a rede funciona normalmente. Além disso, existem Devnet e Testnet, que são usados para desenvolvimento e testes por validadores. A Solana Mainnet Beta entrou em funcionamento em março de 2020. Esse nome continua a ser usado para a rede de produção.
Pontos principais
- Solana é uma blockchain pública para programas onchain.
- SOL é o token nativo e é usado para taxas de transação.
- Os validadores processam transações e votam em blocos através de proof of stake.
- Proof of History ajuda a colocar eventos numa ordem verificável.
- O processamento paralelo pode ajudar, mas não funciona para todas as transações ao mesmo tempo.
Como funciona a Solana?
A Solana usa proof of stake. Nesse modelo, os validadores ajudam a manter a rede em funcionamento. Um validador é um computador que processa transações, vota em blocos e ajuda a verificar quais os dados que entram no livro-razão digital.
A influência de um validador depende da stake delegada a esse validador. Aqui, stake significa SOL que é associado a um validador para apoiar a sua participação na rede. O validador não recebe, com isso, a propriedade nem o controlo sobre esses SOL delegados.
Os validadores alternam de função. O validador que nesse momento é líder produz blocos e acrescenta novas entradas ao livro-razão durante um slot. Em termos simples, um slot é um período em que esse validador tem essa tarefa.
Para chegar a consenso, a Solana usa Tower BFT, um método de consenso. Consenso significa que os participantes da rede determinam em conjunto qual a versão do livro-razão que é válida. O Tower BFT usa Proof of History como referência temporal. Assim que um bloco recebe votos de uma supermaioria da rede, passa a ser considerado confirmado.
Uma transação passa por várias etapas. Primeiro, entra no sistema e, depois, a assinatura é verificada. Em seguida, a rede verifica, entre outros aspetos, o pagador e as contas envolvidas. Depois, as instruções são executadas. Se tudo estiver correto, as alterações são registadas. Se a execução falhar, as alterações são revertidas, exceto eventuais taxas aplicáveis.
Visão geral da Solana (SOL)
O que é o Proof of History na Solana?
Proof of History, frequentemente abreviado como PoH, é uma forma de registar de maneira verificável a ordem e a passagem do tempo entre eventos. Pode ser visto como uma linha temporal criptográfica para a rede.
Tecnicamente, o PoH funciona com uma cadeia sequencial de hashes. Um hash é o resultado digital de um cálculo. Nesta cadeia, cada novo hash é criado usando como entrada o resultado do hash anterior. Isso cria uma ordem fixa que não pode ser alterada facilmente mais tarde sem recalcular o resto.
Também podem ser incluídas nesta sequência transações, ou hashes de transações. Assim, é possível verificar onde uma transação se enquadra na ordem. Segmentos da sequência podem ser recalculados em paralelo para realizar essa verificação.
O Proof of History não substitui o proof of stake nem os votos dos validadores. Portanto, não determina sozinho quais os blocos que são aprovados de forma definitiva. Os votos dos validadores ponderados pela stake continuam a ser necessários para o consenso. O Tower BFT usa a referência temporal do PoH, entre outras coisas, para determinar time-outs no processo de consenso.
Como é que a Solana processa transações em paralelo?
A Solana tenta executar em simultâneo transações que não interferem umas com as outras. Isto é feito com o Sealevel. A ideia principal é simples: uma transação indica antecipadamente quais as contas que quer ler e quais as contas que pode alterar.
Quando duas transações não têm acesso sobreposto às mesmas contas, o Sealevel pode planear e executar essas transações em paralelo. Isso significa que podem ser processadas lado a lado em vez de estritamente uma a seguir à outra.
Imagine que duas transações trabalham com contas totalmente diferentes. Nesse caso, podem funcionar de forma independente. Se duas transações quiserem alterar a mesma conta, surge um conflito. Essas transações não podem ser executadas em paralelo de forma independente e têm de ser processadas numa ordem segura.
As assinaturas das transações também são verificadas em paralelo, em lotes. No interior de uma transação individual, as instruções são executadas sequencialmente. Se algo correr mal durante o processo, a rede reverte as alterações dessa transação, à exceção das taxas aplicáveis.
O processamento paralelo não significa, portanto, que todas as transações num bloco corram sempre ao mesmo tempo. As contas escritas partilhadas limitam a quantidade de paralelismo possível.
Quem fundou a Solana?
Anatoly Yakovenko e Raj Gokal são os cofundadores da Solana. Yakovenko desenvolveu o conceito original de Proof of History e publicou a primeira descrição técnica do mesmo em 2017.
Raj Gokal juntou-se ao projeto inicial em dezembro de 2017. Greg Fitzgerald e Stephen Akridge foram colaboradores técnicos iniciais. Ajudaram a transformar as ideias técnicas num protótipo e numa implementação de rede.
Solana Labs foi fundada em 2018 em torno do desenvolvimento da rede.
Quais são as vantagens da Solana?
A Solana combina consenso ponderado pela stake com uma referência temporal verificável através do Proof of History. Assim, os validadores não precisam de estar constantemente a coordenar entre si a ordem dos eventos.
O Sealevel permite a execução paralela de transações que não partilham acesso a contas. Esse desenho pode ajudar a processar trabalho independente em simultâneo. A quantidade de paralelismo possível na prática depende, no entanto, das próprias transações e das contas utilizadas.
Os programas da Solana podem chamar outros programas dentro da mesma transação. Isso permite que aplicações onchain cooperem entre si e utilizem blocos de construção umas das outras.
As taxas de transação são pagas em SOL. Cada transação tem uma taxa base e pode ainda incluir uma taxa de prioridade opcional. Com essa taxa de prioridade, um utilizador pode pagar mais a um líder para que uma transação seja agendada mais depressa.
Os detentores de SOL podem delegar a sua stake a um ou mais validadores. Ao fazê-lo, mantêm a propriedade e o controlo sobre os seus tokens delegados.
Quais são as desvantagens da Solana?
A Solana teve períodos históricos em que o mainnet não confirmou novos blocos e os validadores precisaram de um reinício coordenado. Em 14 de setembro de 2021, a rede ficou parada durante 17 horas após uma inundação de transações que levou a problemas de memória e a falhas de validadores.
Em 30 de setembro de 2022, a produção de blocos voltou a parar. Um erro na implementação do consenso impediu então a recuperação de um fork, após o que a produção de blocos prosseguiu novamente depois de um reinício coordenado. Estes são incidentes históricos e não provam que a rede não funcione atualmente, mas mostram que já ocorreram problemas de disponibilidade.
Executar um validador exige hardware relativamente potente. Atualmente, recomenda-se para um validador, no mínimo, 12 núcleos de CPU, 256 GB de RAM, armazenamento NVMe e uma ligação à Internet simétrica de pelo menos 1 Gbit/s. Estes requisitos podem tornar a participação como validador mais difícil para entidades sem estes recursos. Além disso, as recomendações podem mudar com futuras versões de software.
Como os votos são ponderados pela stake, os validadores com mais stake delegada têm mais influência no resultado do consenso. Além disso, o slashing não está atualmente implementado como mecanismo no protocolo. Slashing é um sistema em que a stake pode ser reduzida se um validador não cumprir determinadas regras.
Também os custos e as recompensas não são fixos. As taxas de transação podem variar, entre outros fatores, consoante a prioridade escolhida e a utilização da rede. As recompensas de staking dependem, entre outros aspetos, da comissão do validador, do tempo de atividade e da quantidade total de stake delegada. As recompensas dos validadores e dos delegadores são financiadas, em parte, pela emissão do protocolo e pelas taxas de transação.
Conclusão
A Solana é uma blockchain pública para programas onchain, com SOL como token nativo para, entre outras coisas, taxas de transação. Os validadores processam transações e chegam a consenso sobre blocos através de Proof of Stake e Tower BFT.
O Proof of History fornece, nesse contexto, uma referência temporal verificável. O Sealevel pode executar transações em paralelo quando estas não têm acesso conflituante às contas. Isso não significa que todas as transações possam ser processadas automaticamente ao mesmo tempo.
As principais considerações são as interrupções históricas da rede, o hardware relativamente exigente para validadores e o facto de a influência no consenso estar ligada à stake delegada. Quem quiser compreender a Solana deve sobretudo lembrar-se de como os validadores, o Proof of History e o processamento paralelo se articulam na mesma rede.