Ethereum introduziu contratos inteligentes programáveis por meio do EVM.
Título original: "Parallel Power Unlocked"
Escrito por: ROBERT MCTAGUE, analista de investimentos, Amber Labs
** Compilado por: Yvonne **
Desafios atuais enfrentados pela indústria de blockchain
Atualmente, os principais blockchains fornecem uma variedade de aplicativos, incluindo DeFi, NFT, mídia social e até jogos. No entanto, a qualidade e os recursos desses aplicativos são limitados por uma limitação fundamental: a dificuldade dos blockchains em processar várias transações simultaneamente. A execução paralela é crucial em aplicativos descentralizados, pois permite que as plataformas de contratos inteligentes processem várias transações simultaneamente, aumentando o rendimento geral e a capacidade de resposta da rede. Para enfrentar esse obstáculo crítico, os desenvolvimentos do setor nos últimos cinco anos se concentraram em melhorar o desempenho do blockchain por meio da paralelização.
Em relatórios anteriores, investigamos várias maneiras de aprimorar a escalabilidade, apresentando designs modulares, arquiteturas inovadoras como DAG e estudos de caso como Aptos e Sui. No entanto, um aspecto frequentemente negligenciado no espaço blockchain é como a rede lida com a execução paralela e como essas abordagens se comparam.
Este relatório de pesquisa visa lançar luz sobre as próximas blockchains de camada 1 que ajudarão a resolver os problemas das blockchains atuais e estabelecer uma estrutura de taxonomia para futuras execuções paralelas. Vamos nos concentrar em como essas soluções permitem a execução paralela e comparar suas abordagens para superar as limitações das redes blockchain existentes. Ao examinar as várias estratégias e técnicas empregadas por esses blockchains de próxima geração, esperamos fornecer informações valiosas sobre o futuro da execução paralela e seu papel na condução da inovação do blockchain.
EVM
A maioria das plataformas de contratos inteligentes hoje depende da Ethereum Virtual Machine (EVM), mas ela sofre de uma grande desvantagem: não pode executar transações simultaneamente. Essa limitação levou ao desenvolvimento de uma nova onda de soluções L1 enfatizando a execução paralela como meio de aumentar a escalabilidade e a eficiência.
Um blockchain de contrato inteligente tem dois componentes principais: um mecanismo de consenso, que ajuda os nós a concordar com a ordem e inclusão de transações, e uma máquina virtual, que executa o código do aplicativo e atualiza o estado do aplicativo e os saldos das contas. A Ethereum introduziu contratos inteligentes programáveis por meio do EVM, um sistema compartilhado em que cada nó mantém uma cópia de todos os aplicativos e seu estado. Apesar de sua popularidade, os blockchains que usam o EVM são limitados em termos de velocidade de processamento. Por exemplo, o Ethereum pode processar cerca de 10 transações por segundo (tps), enquanto a cadeia EVM mais rápida, BinanceChain, pode atingir apenas mais de 200 tps. Essa ineficiência se deve ao modelo de processamento sequencial do EVM, ou seja, as transações são processadas uma após a outra.
Monad, um L1 focado em escalabilidade, faz essa análise em um post recente, "Para referência: um jogo de cartas simples com 10.000 usuários se movendo a cada 10 segundos requer 1000tps". muitas transações em uma cadeia.
Para enfrentar esse desafio, os desenvolvedores estão explorando soluções que oferecem suporte à execução paralela. Este relatório visa criar uma estrutura para classificar como essas blockchains alcançam a paralelização, com foco na melhoria da execução paralela. Ao implementar essas estratégias, os ecossistemas de contratos inteligentes podem superar as limitações do processamento sequencial e abrir caminho para uma adoção mais ampla de aplicativos descentralizados.
O que é execução paralela?
Em blockchains, a execução paralela pode ser entendida por meio de uma analogia simples. Imagine uma mercearia que precisa cobrar dos clientes por suas compras. Se uma loja tiver apenas uma caixa registradora e uma caixa registradora, a fila se moverá lentamente, frustrando os clientes e levando-os a comprar em outro lugar. A loja empregou várias caixas registradoras e caixas registradoras para acelerar o processo. Isso é processamento paralelo em ação, permitindo que a loja atenda às necessidades de vários clientes ao mesmo tempo, em vez de um de cada vez.
Aplicando essa analogia a um blockchain, várias pistas de checkout representam diferentes caminhos ou pistas para processar transações. Na execução paralela, esses canais existem dentro de um único sistema, permitindo que ele processe várias transações simultaneamente. Essa configuração permite que um único sistema blockchain processe um volume maior de transações com mais eficiência, melhorando o desempenho geral.
Agora que compreendemos a importância da execução paralela para a eficiência e escalabilidade do blockchain, vamos nos aprofundar um pouco mais em sua mecânica.
Como funciona a execução paralela?
A execução paralela no blockchain significa processar transações não relacionadas ao mesmo tempo. Trate transações não relacionadas como eventos independentes. Por exemplo, se duas pessoas trocam tokens em bolsas diferentes, suas transações podem ser processadas simultaneamente. No entanto, se estiverem negociando na mesma plataforma, as transações podem precisar ser executadas em uma ordem específica.
O principal desafio em alcançar a execução paralela é determinar quais transações não são correlacionadas e quais são independentes. Isso inclui entender como cada transação afeta os dados do blockchain. Com muitos aplicativos interconectados, determinar quais transações dependem umas das outras pode ser complicado.
Diferentes sistemas blockchain usam métodos diferentes para identificar transações não relacionadas, geralmente gerenciando o acesso aos dados blockchain. Cada conta ou contrato inteligente tem seu próprio intervalo especificado de dados que podem ser alterados. As transações independentes não tentam alterar os mesmos dados no mesmo bloco, enquanto as transações relacionadas o fazem.
Algumas transações são mais prováveis de serem consideradas irrelevantes do que outras. Por exemplo, uma simples transferência de tokens entre duas pessoas não afeta outras pessoas, então fica claro que esses tipos de transações são quase sempre independentes. No entanto, as transações envolvendo o mesmo contrato inteligente ou conta podem alterar seus dados e não podem ser executadas em paralelo. Um exemplo é uma transação de token envolvendo várias plataformas, em que todas as plataformas participantes devem aguardar a conclusão da transação inicial antes de processar outras transações.
Nas seções a seguir, vamos nos aprofundar em três abordagens diferentes para alcançar a execução paralela em sistemas blockchain: acesso de estado/otimista, sharding e execução paralela baseada em computação. Vale a pena notar que, tradicionalmente, apenas o acesso de estado e os modelos otimistas foram considerados por outros na indústria de blockchain como métodos de execução verdadeiramente paralelos, pois permitem que um único blockchain processe transações simultaneamente. No entanto, com o advento de sofisticados protocolos de comunicação entre cadeias, o conceito do que constitui a execução paralela expandiu-se significativamente. Por exemplo, o sharding, embora não seja tradicionalmente visto como um meio de execução paralela, facilita o processamento paralelo de transações em vários shards, por isso vale a pena considerar. Por fim, exploraremos o conceito relativamente novo de execução paralela baseada em computação. Este modelo inovador, embora não seja amplamente conhecido, representa uma abordagem revolucionária para o processamento paralelo de transações em sistemas blockchain, que descrevemos em detalhes posteriormente neste artigo. À medida que exploramos essas abordagens, descobriremos como cada uma oferece vantagens e desafios exclusivos para uma tecnologia blockchain mais eficiente e escalável.
Execução Paralela: Acesso de Estado e Modelo Otimista
Atualmente, a maioria das blockchains com execução paralela depende de duas abordagens populares: a abordagem de acesso ao estado e o modelo otimista. A abordagem de acesso ao estado é uma abordagem estratégica que identifica preventivamente quais transações têm acesso a qual parte do estado da blockchain, permitindo que a blockchain declare facilmente quais são independentes. Os modelos otimistas, por outro lado, operam sob a suposição de que todos os negócios são independentes e simplesmente verificam essa suposição retrospectivamente e fazem ajustes, se necessário. Vários blockchains exploram essas abordagens para facilitar a paralelização, demonstrando cada uma dessas abordagens teóricas em ação. Geralmente, esses são os modelos aos quais as pessoas se referem quando discutem blockchains paralelos. Esta seção explicará essas duas abordagens e sua aplicação no campo blockchain.
Solana: A Pioneira das Blockchains Paralelas
Solana tornou-se pioneira no espaço blockchain, sendo pioneira em uma abordagem única para gerenciar transações e expandir a escalabilidade. Sua inovação revolucionária está determinando quais partes do estado do blockchain – o registro abrangente de todas as contas ou ativos – podem ser acessadas por ações específicas.
Pense nisso como um sistema de arquivamento gigante. Cada transação envia uma solicitação para acessar um arquivo específico. As transações podem ser processadas independentemente se a solicitação de arquivo for exclusiva. Mas se eles solicitarem os mesmos arquivos, essas transações ficarão interligadas e exigirão coordenação. O verdadeiro truque é determinar qual transação solicita qual arquivo.
Como a primeira blockchain paralela, Solana apresenta uma solução. Cada transação deve pré-declarar qual arquivo pretende acessar. Este requisito está contido no modelo de execução "SeaLevel" da Solana, onde todas as funções operam dentro de uma estrutura baseada em conta. Cada conta só pode ser acessada pelas transações a ela associadas, evitando possíveis conflitos.
Crucialmente, Solana também usa procedimentos sem estado contidos nessas contas. Programas sem estado são trechos de código que não se lembram de nenhum dado entre as execuções -- eles começam do zero toda vez que são executados. Quando uma chamada de função é feita, esses programas são ativados para executar suas tarefas sem depender de dados anteriores. Esse conceito ajuda a manter a independência da transação e contribui para a abordagem inovadora da Solana para melhorar a escalabilidade do blockchain.
Sui: Conceito de objetos
Sui estreou recentemente e causou um grande rebuliço no espaço blockchain. Mas o que exatamente o Sui traz para a mesa? Para aprofundar as nuances da arquitetura do Sui, nossa equipe produziu um artigo abrangente comparando-o com o Aptos, outro blockchain que exploraremos mais adiante. No entanto, neste momento, nossa principal preocupação é entender a abordagem exclusiva de Sui para a execução de transações paralelas.
A estratégia de paralelização de Sui é semelhante à de Solana, mas com um toque único: substituir contas por uma estrutura chamada "objetos". As transações Sui não fazem referência a contas, em vez disso, elas alteram as propriedades dos objetos, que podem ser ativos ou contratos inteligentes. Se uma transação for designada como independente (ou seja, se nenhuma outra transação interagir com o objeto de destino), ela ignorará totalmente o mecanismo de consenso - um recurso conhecido como transmissão de consenso bizantino.
Para ilustrar, suponha que Alice possua um NFT exclusivo, que é representado como um objeto no contexto de Sui e "Alice" esteja listado como seu "proprietário". Se Alice transferir esse NFT para Bob, a transação será tratada como uma transação de objeto separada, ignorando o processo de consenso. Porém, se Alice decidir realizar uma operação mais complexa, como comprar um NFT pelo marketplace, a dinâmica muda. Como os objetos podem ser manipulados por outras transações, a transação pode ser designada como uma transação dependente e pode precisar ser sequenciada antes da execução.
Combustível: Use UTXO para melhorar a execução
A Fuel é líder no espaço blockchain e aproveita ao máximo o modelo UTXO (Unspent Transaction Output). Se você pensar no modelo UTXO como uma transação física em dinheiro, é como comprar algo por $ 7 com uma nota de $ 10 e receber $ 3 de troco. Ao usar o modelo UTXO, o Fuel pode processar transações em paralelo com eficiência. Isso porque o modelo UTXO permite a fácil identificação de transações independentes - aquelas que não se sobrepõem nos objetos ou "faturas" com as quais interagem. Essa independência significa que essas transações podem ser processadas simultaneamente sem conflito, aumentando significativamente o rendimento da transação.
O Bitcoin também adota o modelo UTXO, que a Fuel usa para estabelecer listas de acesso estritas. Essas listas atuam como reguladores, controlando quais partes do estado da blockchain são acessíveis. A estratégia se baseia na ideia de ordenação canônica das transações, a forma como organiza as transações dentro de um bloco, simplifica o processo de identificação de dependências entre as transações.
A Fuel deu vida a esse conceito ao desenvolver uma nova máquina virtual, FuelVM, e uma linguagem de programação inovadora, Sway. O FuelVM foi projetado como um substituto enxuto, mas totalmente compatível, para a Ethereum Virtual Machine (EVM), que permite que os desenvolvedores se integrem mais diretamente ao ecossistema Fuel.
Além disso, o Fuel enfatiza uma estrutura blockchain modular. Essa abordagem modular permite que as transações executadas no Fuel sejam liquidadas na rede principal da Ethereum. Como resultado, a Fuel tem capacidade para lidar com um grande número de transações, todas consolidadas e liquidadas no Ethereum. Esse movimento estratégico permite que o Fuel gerencie com eficiência cargas pesadas de transações.
Aptos: Executar de forma otimista
Em nossa exploração da paralelização do blockchain, primeiro descrevemos como os blockchains estabelecem dependências no início da transação. Chamamos isso de abordagem de acesso de estado, em que um contrato inteligente ou desenvolvedor define quais transações podem acessar qual parte do estado. Agora nos voltamos para outra técnica chamada execução otimista. A execução otimista é uma estratégia em que cada transação é processada como se não estivesse conectada a nenhuma outra transação, permitindo que todas as transações sejam processadas simultaneamente. No entanto, se algumas transações estiverem vinculadas, elas serão interrompidas, seus resultados serão limpos e elas serão executadas novamente. Isso pode acelerar as coisas quando as transações são independentes, mas quando muitas estão conectadas, o processamento deve ser interrompido e redefinido com frequência, o que pode tornar as transações mais lentas.
A Aptos usa uma abordagem chamada Block Software Transactional Memory (Block-STM) para aplicar uma execução otimista. O Aptos é construído sobre a linguagem Move do Diem e o MoveVM, que descobre automaticamente os links de transação. Não requer que as transações digam em qual parte do estado da blockchain (como um local de memória) elas tocam.
*
Fonte: White paper da Block-STM
(O diagrama mostra que, se algumas transações estiverem conectadas, a verificação será suspensa, os resultados serão excluídos e executados novamente.)
No block-stm, as transações são primeiro definidas em uma determinada ordem dentro de um bloco e, em seguida, divididas entre diferentes threads de processamento para execução simultânea. À medida que essas transações são processadas, o sistema rastreia qual local de memória cada transação altera. Após cada rodada de processamento, o sistema verifica todos os resultados da transação. Se descobrir que uma transação tocou em um local de memória alterado por uma transação anterior, ele limpa seus resultados e executa novamente. Esse processo continua até que todas as transações no bloco tenham sido processadas.
O sucesso do Block-STM depende em grande parte das conexões entre as transações. De acordo com a equipe da Aptos, o uso de 32 núcleos de processamento fornece uma aceleração de 8x quando as transações são altamente correlacionadas e uma aceleração de 16x quando as transações são menos correlacionadas. No entanto, se todas as transações em um bloco forem concatenadas, o block-stm pode resultar em uma ligeira desaceleração em comparação com a realização de uma por uma.
Monad: O líder da cadeia EVM
A Monad foi pioneira em uma nova abordagem em blockchains compatíveis com EVM e foi a primeira blockchain a introduzir uma arquitetura paralela na primeira camada do EVM. Como o Aptos, ele segue um caminho de execução otimista, operando sob a suposição de que as transações não estão interconectadas e resolvendo as dependências à medida que surgem.
Esta nova abordagem não é isenta de desafios. Fazer grandes modificações na tecnologia blockchain é um compromisso complexo e de longo prazo. No entanto, as Monads continuam comprometidas com a inovação e se tornaram um farol para outras redes blockchain com o objetivo de aprimorar sua própria arquitetura.
Tome Polygon e BinanceSmartChain como exemplos, dois blockchains bem conhecidos agora estão tentando atualizar seus sistemas, empregando estratégias semelhantes. A importância do trabalho pioneiro dos monads na implementação otimista não pode ser exagerada, pois influenciou grandes plataformas a reavaliar e revisar suas próprias arquiteturas.
Por exemplo, o Polygon tem taxa de transferência rápida e milhões de transações diárias. Sua API de rede já fornece dados suficientes para conduzir um mecanismo paralelizável e, ao explorar o Block-STM específico do EVM, eles conseguiram evitar alterações na API. No entanto, considerando o enorme volume de transações na cadeia PolygonPoS, a suposição de dependência zero entre quaisquer blocos é irreal. Portanto, eles adotaram uma abordagem de metadados mínimos, registrando as dependências da transação como metadados em blocos, reduzindo a redundância e os requisitos computacionais.
Da mesma forma, a BinanceSmartChain também está explorando oportunidades para paralelizar a execução dentro de sua cadeia EVM por meio de execução otimista, refletindo o impacto da abordagem inovadora da Monad na indústria como um todo.
O espírito inovador da Monad e seu compromisso em ultrapassar os limites da tecnologia blockchain criaram uma nova tendência no espaço EVM. Sua abordagem de adotar uma arquitetura paralela na camada 1 do EVM não apenas melhora a eficiência de seu próprio sistema, mas também influencia e inspira outros players importantes no campo a seguir o exemplo, marcando uma grande mudança no futuro da indústria de blockchain.
Execução paralela baseada em sharding
Até agora, discutimos como vários blockchains quebram a ordem sequencial e alcançam a paralelização por meio de conceitos como contas, objetos, UTXOs e modelos otimistas. No entanto, a próxima geração de blockchains que estamos prestes a estudar adota uma abordagem única para a paralelização. Essas plataformas se assemelham a um modelo de sharding, em vez de ter um único blockchain capaz de processar transações em paralelo. A blockchain é dividida em várias partes, cada uma responsável por processar suas próprias transações.
Shardeum: método de fragmentação de EVM
O Shardeum traz uma abordagem inovadora para a escalabilidade do blockchain por meio de sharding dinâmico, permitindo escalabilidade linear. Os fragmentos são subseções da rede e cada fragmento lida com uma parte das transações da rede, melhorando a eficiência dos recursos e o rendimento. Considere um usuário realizando uma transação em um aplicativo descentralizado (dapp) hospedado no Shardeum, que é atribuído a um fragmento específico com base em seus dados associados. Um shard processa transações simultaneamente com outros shards sob sua jurisdição, como um mini-blockchain. Os usuários se beneficiam de um processamento mais rápido, otimizando a experiência do usuário.
Uma característica chave do Shardeum é sua compatibilidade com a Ethereum Virtual Machine (EVM). Os desenvolvedores podem migrar facilmente seus dapps baseados em Ethereum para Shardeum, combinando a fragmentação dinâmica e o processamento paralelo de Shardeum com o extenso ecossistema Ethereum.
O sharding dinâmico garante a adaptabilidade da rede às demandas flutuantes e promove a escalabilidade e alta eficiência do sistema. O Shardeum automatiza as transações entre fragmentos, permitindo a execução perfeita de aplicativos complexos que exigem entrada de vários usuários, aprimorando a escalabilidade.
O que torna o Shardeum único é sua capacidade de dimensionar linearmente. A rede escala linearmente à medida que os nós são adicionados, o que significa que o rendimento da transação aumenta proporcionalmente ao número de nós. Esse dimensionamento linear, combinado com flexibilidade de nó e recursos de dimensionamento automático, permite que Shardeum lide de maneira ideal com cargas de trabalho variadas e crescimento de rede. O Shardeum fornece uma solução prática para as necessidades transacionais do mundo real, aprimorando a escalabilidade de aplicativos complexos e fornecendo uma solução prática para as necessidades transacionais do mundo real.
Linera: Um protocolo revolucionário de várias cadeias
A solução inovadora da Linera para escalabilidade de blockchain se destaca por meio de seu protocolo multi-cadeia dinâmico, que inclui cadeias de usuários, cadeias públicas e cadeias efêmeras.
O diagrama acima mostra três tipos diferentes de cadeias no sistema Linera: cadeias de usuários, cadeias públicas e cadeias temporárias. Cada tipo de cadeia tem uma função única que contribui para a funcionalidade geral e escalabilidade do protocolo.
Ao contrário de Shardeum, onde a Linera foi pioneira no conceito de cadeias controladas pelo usuário, Shardeum divide sua rede em muitas cadeias de fragmentos, cada uma responsável por um subconjunto de transações. Essa abordagem granular oferece aos usuários mais controle e autonomia, otimizando a alocação de recursos na rede.
As cadeias de usuários, que pertencem e são controladas exclusivamente pelos usuários, formam a espinha dorsal da arquitetura da Linera. Essas cadeias processam transações para usuários finais específicos de forma independente, permitindo a execução paralela e aumentando significativamente a taxa de transferência, reduzindo a latência.
A cadeia pública é outra parte importante do design da Linera. Essas cadeias abrigam aplicativos descentralizados, como Automated Market Makers (amm). A cadeia pública é aberta a todos os participantes da rede, fornecendo uma plataforma comum para aplicações que requerem interações abertas e irrestritas.
A Linera também apresenta o conceito de cadeias temporárias, especialmente projetadas para lidar com operações complexas, como trocas atômicas. Esse recurso oferece uma vantagem significativa sobre protocolos que precisam registrar transações na cadeia principal, o que pode criar um gargalo. No Linera, uma cadeia temporária é criada durante uma troca atômica, que é processada independentemente e em paralelo com outras transações. Depois que a troca termina, a cadeia temporária desaparece e o estado atualizado é refletido na cadeia de usuários associada.
A estrutura do protocolo suporta escala horizontal, que é uma propriedade essencial para manter o desempenho do sistema sob cargas variáveis. À medida que o tráfego aumenta, os validadores podem adicionar mais máquinas de trabalho para gerenciar o aumento da atividade e manter o alto rendimento sob alta carga.
Ao contrário de outros protocolos como o Cosmos, onde cada blockchain ou "zona" é operada por um conjunto diferente de validadores, o Linera unifica todas as cadeias em um conjunto de validadores. Essa abordagem unificada aumenta a eficiência e a segurança do protocolo Linera, simplificando as interações entre cadeias ao remover a complexidade da validação com conjuntos de validadores separados, o que pode levar ao aumento da latência ou discrepâncias. Como resultado, as transações são processadas de forma mais eficiente em todo o ecossistema, reduzindo significativamente o risco de conflitos.
QuaiNetwork: aprimorando o paralelismo e a interoperabilidade com prova de trabalho
A QuaiNetwork abriu seu próprio caminho na indústria de blockchain com sua abordagem única de escalabilidade. Ao implementar uma arquitetura multi-chain dinâmica e interoperável, a Quai fornece uma solução baseada em prova de trabalho exclusiva para o problema de escalabilidade, permitindo a paralelização de transações por meio de shards de execução infinita. Essa abordagem diferencia o Quai de protocolos como o Linera, que utiliza correntes controladas pelo usuário, embora compartilhe algumas semelhanças com o sharding dinâmico do Shardeum.
A versão de sharding que o Quai usa é semelhante aos métodos tradicionais usados para melhorar o desempenho do banco de dados em sistemas centralizados. No entanto, o Quai difere dos esquemas de sharding típicos porque possui uma arquitetura multi-cadeia dinâmica, adaptável e profundamente entrelaçada. Isso é um pouco semelhante ao sharding dinâmico de Shardeum, onde a rede é dividida em cadeias de shards que processam transações de forma independente. No entanto, o Quai coordena esses diferentes fragmentos usando uma hierarquia de mineração mesclada, criando uma interconexão exclusiva que permite que as operações sejam executadas em paralelo na rede. Ao contrário de todas as implementações de sharding existentes, que introduzem alguns novos mecanismos de confiança para facilitar a interoperabilidade (transações entre shards), a rede Quai usa mineração de mesclagem para interconectar shards, garantindo que o único mecanismo seja a mineração. A abordagem exclusiva da QuaiNetwork para interoperabilidade por meio de mineração mesclada aumenta significativamente o rendimento e fornece a capacidade de acomodar um grande número de transações simultâneas sem sacrificar a descentralização ou o desempenho.
Para poder coordenar um número ilimitado de shards de execução, a rede Quai introduz um novo mecanismo de consenso chamado PoEM. O PoEM é baseado no consenso Proof-of-Work (PoW), mas ao contrário de outros mecanismos de consenso, é o primeiro a eliminar forks baseados em consenso. Ao executar o PoEM, todos os nós sempre terão a mesma preferência para o próximo bloco na sequência imediatamente, dado o mesmo conjunto de informações. O PoEM permite que todos os nós comparem imediatamente e de forma justa qualquer bloco proposto, removendo todas as incertezas do consenso. Ao garantir que o consenso seja sempre instantâneo, o PoEM fornece o pré-requisito necessário para fragmentação infinita. Se demorar algum tempo para estabelecer um consenso, há um limite severo para o número de shards em execução que podem ser coordenados. Como o primeiro método de "tempo zero" para chegar ao consenso, o PoEM é o primeiro e único algoritmo de consenso adequado para coordenar conjuntos de cadeias em crescimento infinito.
Uma característica proeminente da arquitetura do Quai é a introdução de Parallel Threads of Execution (PETs), chamados de "regiões" no Quai. Cada "região" ou encadeamento paralelo de execução processa transações de forma independente e assíncrona. A capacidade de cada encadeamento de execução do Quai de processar transações independentemente oferece suporte aos recursos de processamento paralelo da rede, que é um dos principais conceitos por trás da escalabilidade do Quai.
O número de chains no QuaiNetwork é dinâmico e adaptável, assim como o sharding dinâmico do Shardeum. No entanto, o uso do mecanismo de consenso PoEM pela QuaiNetwork é único, pois permite que esse padrão dinâmico de fragmentação seja executado infinitamente sem degradação do desempenho. QuaiNetwork adiciona shards de execução por meio de sharding dinâmico com uma compensação óbvia: à medida que mais shards de execução são adicionados à rede, o tempo que leva para as transações cross-chain serem referenciadas por seus shards de destino aumentará. Essa relação é sublinear — por exemplo, escalar o Quai de 9 para 16 fragmentos aumentaria o tempo médio para uma transação cross-chain atingir seu destino de 3.300 segundos para 4.400 segundos. Escalar ainda mais para 25 estilhaços aumenta o tempo médio para cerca de 5.500 segundos. Teoricamente, se o Quai se expandir para 100 fragmentos, o tempo médio para a liquidação global da cadeia cruzada é de cerca de 11.000 segundos. O algoritmo de sharding dinâmico da QuaiNetwork monitora o limite de gás da rede e a taxa de bloqueio do tio para entender quando é necessário um throughput adicional, e tece automaticamente shards de execução adicionais em consenso para acomodar demandas de throughput aumentadas.
Além disso, a estrutura tecida de Quai suporta contratos inteligentes multi-chain combináveis e permite a interação eficiente de contrato cross-chain. Cada thread Quai de execução possui um EVM, e novos opcodes são introduzidos para se comunicar com o EVM localizado no shard alternativo. Esse recurso permite que os desenvolvedores implementem contratos em várias ou em todas as cadeias Quai, garantindo a operabilidade de aplicativos descentralizados (dapps) em toda a rede.
A aplicação inovadora de fragmentação da QuaiNetwork, juntamente com sua interoperabilidade minerada por mesclagem e threads de execução paralela, representa um grande avanço na escalabilidade da blockchain sob um mecanismo de consenso baseado em trabalho. O manuseio robusto de transações cross-chain e recursos avançados de contrato inteligente tornam Quai um colaborador notável no crescente campo de protocolos de blockchain escaláveis.
Execução paralela baseada em computação
Um paradigma emergente na execução paralela de blockchains é o modelo baseado em computação. Este termo foi cunhado por nossa equipe de pesquisa no AmberGroup para descrever um método de processamento de tarefas de computação simultaneamente em um ambiente compartilhado. Ao contrário dos modelos otimistas e de acesso de estado, os modelos baseados em computação não dependem estritamente de computações baseadas em memória sequencial. Em vez disso, ele opera com base no princípio de uma máquina virtual altamente paralela. Esse design promove uma execução paralela robusta e eficiente. As seções a seguir exploram os princípios da execução paralela baseada em computação, suas possíveis aplicações e os desafios únicos que ela representa para o campo mais amplo da tecnologia blockchain.
Kindelia: a potência da execução paralela baseada em computação
Kindelia surgiu como uma solução promissora em modelos de execução paralela baseados em computação em blockchains. Desenvolvido pela HigherOrder Corporation, é baseado em um tempo de execução exclusivo chamado Higher-Order Virtual Machine (HVM), que permite computação paralela eficiente.
A inovação da Kindelia é baseada em um novo modelo de computação chamado "rede de interação", um conceito que difere do modelo da máquina de Turing que sustenta a maioria dos computadores modernos. As redes de interação são baseadas em um gráfico de nós de interação, cada nó possuindo um conjunto reescrito de regras que ditam como ele interage com outros nós da rede. A computação é alcançada reduzindo a rede de interação e removendo sistematicamente os nós da rede de acordo com suas regras de reescrita até que um estado final seja alcançado. Este modelo permite que a computação seja feita em paralelo sem a necessidade de um relógio central para ditar o processo, pois os nós interagem localmente sem nenhuma coordenação global.
*
*O desenho de Victor Taelin (CEO da HigherOrderCompany) nos mostra como reduzir a rede de interação. *
As vantagens deste modelo são inúmeras. Devido ao seu paralelismo inerente, facilita cálculos mais rápidos e eficientes, superando em muito os modelos tradicionais de computação sequencial. Além disso, abre um campo de aplicação em diversas áreas da informática. Kindelia se destaca como a primeira máquina virtual verdadeiramente paralela no contexto blockchain, alcançando muitos dos objetivos altL1 aspira. No entanto, devido à sua dependência de arquiteturas baseadas em máquinas de Turing, esses concorrentes podem nunca atingir o mesmo nível de paralelização.
O design do Kindelia requer menos etapas computacionais para executar funções, maximiza a utilização de núcleos de processamento e garante que as operações sejam executadas na ordem correta - tudo com mínimo esforço adicional dos desenvolvedores. Esse processo de execução simplificado, juntamente com um nível mais alto de segurança, torna o Kindelia um exemplo de ponta de execução paralela baseada em computação na tecnologia blockchain.
Embora a base teórica de Kindelia e HVM seja um pouco avançada, o significado prático é fácil de entender: melhorar a velocidade, eficiência e segurança da computação blockchain. Com Kindelia, estamos testemunhando um salto revolucionário na tecnologia blockchain, marcando um marco importante no desenvolvimento contínuo deste campo transformador.
Preocupações com a execução paralela
À medida que exploramos o potencial de blockchains paralelos, é importante reconhecer que, embora ofereçam vantagens consideráveis de escalabilidade e velocidade, também apresentam desafios únicos e possíveis desvantagens. As duas principais questões frequentemente mencionadas são o potencial para maior centralização e altas taxas de conflito de transações.
Blockchains paralelos distribuem o processamento de transações entre vários nós, aumentando assim o rendimento do processamento de transações. No entanto, essa distribuição também pode levar à concentração de poder em poucos nós, trazendo assim certo grau de centralização. Essa centralização pode prejudicar a confiabilidade e a segurança do blockchain, tornando-o mais vulnerável a ataques. Além disso, blockchains paralelos aumentam o risco de inatividade da rede. Por exemplo, a rede Solana sofreu uma interrupção em setembro de 2021 devido a solicitações excessivas de transações. O incidente destaca os riscos potenciais associados ao dimensionamento de redes blockchain e ressalta a necessidade de soluções que possam lidar com altos volumes de transações sem comprometer a estabilidade.
A taxa de conflito de transação é outra questão importante. Este índice refere-se ao percentual de transações que não podem ser executadas simultaneamente devido a conflitos. Uma alta taxa de conflito pode levar a um grande número de retrabalhos de transações em blockchains paralelos. De acordo com o relatório do Flashbots, a taxa de conflito das transações Ethereum em 2017 foi de cerca de 35%. Com os principais aplicativos como OpenSea e Uniswap dominando a rede Ethereum, a taxa de conflito provavelmente será ainda maior.
No caso de execução otimista, a quantidade de transações refeitas pode interromper gravemente o pipeline se a taxa de conflito exceder 30%. Cada refazer retarda o processamento da transação e reduz os benefícios da paralelização. Portanto, gerenciar a taxa de conflito de transações é crucial para garantir a eficiência das blockchains paralelas.
para concluir
Mudanças significativas estão em andamento no espaço blockchain, uma vez que ele tenta resolver problemas de escalabilidade e eficiência inerentes ao seu design. Exploramos várias abordagens para alcançar a execução paralela, cada uma com suas próprias vantagens e desafios exclusivos. Um modelo de acesso baseado em estado marca o primeiro passo para superar a natureza sequencial das blockchains. A execução otimista, embora promissora, também introduz o risco de conflitos e requer estratégias eficazes de resolução de conflitos. O sharding nos leva um passo adiante ao dividir a rede em partes menores e gerenciáveis, cada uma capaz de processar transações de forma independente. Por fim, a execução paralela baseada em computação usa ciência da computação de ponta para maximizar o desempenho do nó e a segurança do aplicativo. Apesar dos desafios e problemas potenciais, esses modelos mostram potencial para melhorar significativamente o desempenho da tecnologia blockchain. À medida que essas tecnologias continuam a se desenvolver e amadurecer, estamos à beira de uma nova era da tecnologia blockchain.
Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
Interpretação aprofundada da execução paralela: potencial, desafios e futuro
Título original: "Parallel Power Unlocked"
Escrito por: ROBERT MCTAGUE, analista de investimentos, Amber Labs
** Compilado por: Yvonne **
Desafios atuais enfrentados pela indústria de blockchain
Atualmente, os principais blockchains fornecem uma variedade de aplicativos, incluindo DeFi, NFT, mídia social e até jogos. No entanto, a qualidade e os recursos desses aplicativos são limitados por uma limitação fundamental: a dificuldade dos blockchains em processar várias transações simultaneamente. A execução paralela é crucial em aplicativos descentralizados, pois permite que as plataformas de contratos inteligentes processem várias transações simultaneamente, aumentando o rendimento geral e a capacidade de resposta da rede. Para enfrentar esse obstáculo crítico, os desenvolvimentos do setor nos últimos cinco anos se concentraram em melhorar o desempenho do blockchain por meio da paralelização.
Em relatórios anteriores, investigamos várias maneiras de aprimorar a escalabilidade, apresentando designs modulares, arquiteturas inovadoras como DAG e estudos de caso como Aptos e Sui. No entanto, um aspecto frequentemente negligenciado no espaço blockchain é como a rede lida com a execução paralela e como essas abordagens se comparam.
Este relatório de pesquisa visa lançar luz sobre as próximas blockchains de camada 1 que ajudarão a resolver os problemas das blockchains atuais e estabelecer uma estrutura de taxonomia para futuras execuções paralelas. Vamos nos concentrar em como essas soluções permitem a execução paralela e comparar suas abordagens para superar as limitações das redes blockchain existentes. Ao examinar as várias estratégias e técnicas empregadas por esses blockchains de próxima geração, esperamos fornecer informações valiosas sobre o futuro da execução paralela e seu papel na condução da inovação do blockchain.
EVM
A maioria das plataformas de contratos inteligentes hoje depende da Ethereum Virtual Machine (EVM), mas ela sofre de uma grande desvantagem: não pode executar transações simultaneamente. Essa limitação levou ao desenvolvimento de uma nova onda de soluções L1 enfatizando a execução paralela como meio de aumentar a escalabilidade e a eficiência.
Um blockchain de contrato inteligente tem dois componentes principais: um mecanismo de consenso, que ajuda os nós a concordar com a ordem e inclusão de transações, e uma máquina virtual, que executa o código do aplicativo e atualiza o estado do aplicativo e os saldos das contas. A Ethereum introduziu contratos inteligentes programáveis por meio do EVM, um sistema compartilhado em que cada nó mantém uma cópia de todos os aplicativos e seu estado. Apesar de sua popularidade, os blockchains que usam o EVM são limitados em termos de velocidade de processamento. Por exemplo, o Ethereum pode processar cerca de 10 transações por segundo (tps), enquanto a cadeia EVM mais rápida, BinanceChain, pode atingir apenas mais de 200 tps. Essa ineficiência se deve ao modelo de processamento sequencial do EVM, ou seja, as transações são processadas uma após a outra.
Monad, um L1 focado em escalabilidade, faz essa análise em um post recente, "Para referência: um jogo de cartas simples com 10.000 usuários se movendo a cada 10 segundos requer 1000tps". muitas transações em uma cadeia.
Para enfrentar esse desafio, os desenvolvedores estão explorando soluções que oferecem suporte à execução paralela. Este relatório visa criar uma estrutura para classificar como essas blockchains alcançam a paralelização, com foco na melhoria da execução paralela. Ao implementar essas estratégias, os ecossistemas de contratos inteligentes podem superar as limitações do processamento sequencial e abrir caminho para uma adoção mais ampla de aplicativos descentralizados.
O que é execução paralela?
Em blockchains, a execução paralela pode ser entendida por meio de uma analogia simples. Imagine uma mercearia que precisa cobrar dos clientes por suas compras. Se uma loja tiver apenas uma caixa registradora e uma caixa registradora, a fila se moverá lentamente, frustrando os clientes e levando-os a comprar em outro lugar. A loja empregou várias caixas registradoras e caixas registradoras para acelerar o processo. Isso é processamento paralelo em ação, permitindo que a loja atenda às necessidades de vários clientes ao mesmo tempo, em vez de um de cada vez.
Aplicando essa analogia a um blockchain, várias pistas de checkout representam diferentes caminhos ou pistas para processar transações. Na execução paralela, esses canais existem dentro de um único sistema, permitindo que ele processe várias transações simultaneamente. Essa configuração permite que um único sistema blockchain processe um volume maior de transações com mais eficiência, melhorando o desempenho geral.
Agora que compreendemos a importância da execução paralela para a eficiência e escalabilidade do blockchain, vamos nos aprofundar um pouco mais em sua mecânica.
Como funciona a execução paralela?
A execução paralela no blockchain significa processar transações não relacionadas ao mesmo tempo. Trate transações não relacionadas como eventos independentes. Por exemplo, se duas pessoas trocam tokens em bolsas diferentes, suas transações podem ser processadas simultaneamente. No entanto, se estiverem negociando na mesma plataforma, as transações podem precisar ser executadas em uma ordem específica.
O principal desafio em alcançar a execução paralela é determinar quais transações não são correlacionadas e quais são independentes. Isso inclui entender como cada transação afeta os dados do blockchain. Com muitos aplicativos interconectados, determinar quais transações dependem umas das outras pode ser complicado.
Diferentes sistemas blockchain usam métodos diferentes para identificar transações não relacionadas, geralmente gerenciando o acesso aos dados blockchain. Cada conta ou contrato inteligente tem seu próprio intervalo especificado de dados que podem ser alterados. As transações independentes não tentam alterar os mesmos dados no mesmo bloco, enquanto as transações relacionadas o fazem.
Algumas transações são mais prováveis de serem consideradas irrelevantes do que outras. Por exemplo, uma simples transferência de tokens entre duas pessoas não afeta outras pessoas, então fica claro que esses tipos de transações são quase sempre independentes. No entanto, as transações envolvendo o mesmo contrato inteligente ou conta podem alterar seus dados e não podem ser executadas em paralelo. Um exemplo é uma transação de token envolvendo várias plataformas, em que todas as plataformas participantes devem aguardar a conclusão da transação inicial antes de processar outras transações.
Nas seções a seguir, vamos nos aprofundar em três abordagens diferentes para alcançar a execução paralela em sistemas blockchain: acesso de estado/otimista, sharding e execução paralela baseada em computação. Vale a pena notar que, tradicionalmente, apenas o acesso de estado e os modelos otimistas foram considerados por outros na indústria de blockchain como métodos de execução verdadeiramente paralelos, pois permitem que um único blockchain processe transações simultaneamente. No entanto, com o advento de sofisticados protocolos de comunicação entre cadeias, o conceito do que constitui a execução paralela expandiu-se significativamente. Por exemplo, o sharding, embora não seja tradicionalmente visto como um meio de execução paralela, facilita o processamento paralelo de transações em vários shards, por isso vale a pena considerar. Por fim, exploraremos o conceito relativamente novo de execução paralela baseada em computação. Este modelo inovador, embora não seja amplamente conhecido, representa uma abordagem revolucionária para o processamento paralelo de transações em sistemas blockchain, que descrevemos em detalhes posteriormente neste artigo. À medida que exploramos essas abordagens, descobriremos como cada uma oferece vantagens e desafios exclusivos para uma tecnologia blockchain mais eficiente e escalável.
Execução Paralela: Acesso de Estado e Modelo Otimista
Atualmente, a maioria das blockchains com execução paralela depende de duas abordagens populares: a abordagem de acesso ao estado e o modelo otimista. A abordagem de acesso ao estado é uma abordagem estratégica que identifica preventivamente quais transações têm acesso a qual parte do estado da blockchain, permitindo que a blockchain declare facilmente quais são independentes. Os modelos otimistas, por outro lado, operam sob a suposição de que todos os negócios são independentes e simplesmente verificam essa suposição retrospectivamente e fazem ajustes, se necessário. Vários blockchains exploram essas abordagens para facilitar a paralelização, demonstrando cada uma dessas abordagens teóricas em ação. Geralmente, esses são os modelos aos quais as pessoas se referem quando discutem blockchains paralelos. Esta seção explicará essas duas abordagens e sua aplicação no campo blockchain.
Solana: A Pioneira das Blockchains Paralelas
Solana tornou-se pioneira no espaço blockchain, sendo pioneira em uma abordagem única para gerenciar transações e expandir a escalabilidade. Sua inovação revolucionária está determinando quais partes do estado do blockchain – o registro abrangente de todas as contas ou ativos – podem ser acessadas por ações específicas.
Pense nisso como um sistema de arquivamento gigante. Cada transação envia uma solicitação para acessar um arquivo específico. As transações podem ser processadas independentemente se a solicitação de arquivo for exclusiva. Mas se eles solicitarem os mesmos arquivos, essas transações ficarão interligadas e exigirão coordenação. O verdadeiro truque é determinar qual transação solicita qual arquivo.
Como a primeira blockchain paralela, Solana apresenta uma solução. Cada transação deve pré-declarar qual arquivo pretende acessar. Este requisito está contido no modelo de execução "SeaLevel" da Solana, onde todas as funções operam dentro de uma estrutura baseada em conta. Cada conta só pode ser acessada pelas transações a ela associadas, evitando possíveis conflitos.
Crucialmente, Solana também usa procedimentos sem estado contidos nessas contas. Programas sem estado são trechos de código que não se lembram de nenhum dado entre as execuções -- eles começam do zero toda vez que são executados. Quando uma chamada de função é feita, esses programas são ativados para executar suas tarefas sem depender de dados anteriores. Esse conceito ajuda a manter a independência da transação e contribui para a abordagem inovadora da Solana para melhorar a escalabilidade do blockchain.
Sui: Conceito de objetos
Sui estreou recentemente e causou um grande rebuliço no espaço blockchain. Mas o que exatamente o Sui traz para a mesa? Para aprofundar as nuances da arquitetura do Sui, nossa equipe produziu um artigo abrangente comparando-o com o Aptos, outro blockchain que exploraremos mais adiante. No entanto, neste momento, nossa principal preocupação é entender a abordagem exclusiva de Sui para a execução de transações paralelas.
A estratégia de paralelização de Sui é semelhante à de Solana, mas com um toque único: substituir contas por uma estrutura chamada "objetos". As transações Sui não fazem referência a contas, em vez disso, elas alteram as propriedades dos objetos, que podem ser ativos ou contratos inteligentes. Se uma transação for designada como independente (ou seja, se nenhuma outra transação interagir com o objeto de destino), ela ignorará totalmente o mecanismo de consenso - um recurso conhecido como transmissão de consenso bizantino.
Para ilustrar, suponha que Alice possua um NFT exclusivo, que é representado como um objeto no contexto de Sui e "Alice" esteja listado como seu "proprietário". Se Alice transferir esse NFT para Bob, a transação será tratada como uma transação de objeto separada, ignorando o processo de consenso. Porém, se Alice decidir realizar uma operação mais complexa, como comprar um NFT pelo marketplace, a dinâmica muda. Como os objetos podem ser manipulados por outras transações, a transação pode ser designada como uma transação dependente e pode precisar ser sequenciada antes da execução.
Combustível: Use UTXO para melhorar a execução
A Fuel é líder no espaço blockchain e aproveita ao máximo o modelo UTXO (Unspent Transaction Output). Se você pensar no modelo UTXO como uma transação física em dinheiro, é como comprar algo por $ 7 com uma nota de $ 10 e receber $ 3 de troco. Ao usar o modelo UTXO, o Fuel pode processar transações em paralelo com eficiência. Isso porque o modelo UTXO permite a fácil identificação de transações independentes - aquelas que não se sobrepõem nos objetos ou "faturas" com as quais interagem. Essa independência significa que essas transações podem ser processadas simultaneamente sem conflito, aumentando significativamente o rendimento da transação.
O Bitcoin também adota o modelo UTXO, que a Fuel usa para estabelecer listas de acesso estritas. Essas listas atuam como reguladores, controlando quais partes do estado da blockchain são acessíveis. A estratégia se baseia na ideia de ordenação canônica das transações, a forma como organiza as transações dentro de um bloco, simplifica o processo de identificação de dependências entre as transações.
A Fuel deu vida a esse conceito ao desenvolver uma nova máquina virtual, FuelVM, e uma linguagem de programação inovadora, Sway. O FuelVM foi projetado como um substituto enxuto, mas totalmente compatível, para a Ethereum Virtual Machine (EVM), que permite que os desenvolvedores se integrem mais diretamente ao ecossistema Fuel.
Além disso, o Fuel enfatiza uma estrutura blockchain modular. Essa abordagem modular permite que as transações executadas no Fuel sejam liquidadas na rede principal da Ethereum. Como resultado, a Fuel tem capacidade para lidar com um grande número de transações, todas consolidadas e liquidadas no Ethereum. Esse movimento estratégico permite que o Fuel gerencie com eficiência cargas pesadas de transações.
Aptos: Executar de forma otimista
Em nossa exploração da paralelização do blockchain, primeiro descrevemos como os blockchains estabelecem dependências no início da transação. Chamamos isso de abordagem de acesso de estado, em que um contrato inteligente ou desenvolvedor define quais transações podem acessar qual parte do estado. Agora nos voltamos para outra técnica chamada execução otimista. A execução otimista é uma estratégia em que cada transação é processada como se não estivesse conectada a nenhuma outra transação, permitindo que todas as transações sejam processadas simultaneamente. No entanto, se algumas transações estiverem vinculadas, elas serão interrompidas, seus resultados serão limpos e elas serão executadas novamente. Isso pode acelerar as coisas quando as transações são independentes, mas quando muitas estão conectadas, o processamento deve ser interrompido e redefinido com frequência, o que pode tornar as transações mais lentas.
A Aptos usa uma abordagem chamada Block Software Transactional Memory (Block-STM) para aplicar uma execução otimista. O Aptos é construído sobre a linguagem Move do Diem e o MoveVM, que descobre automaticamente os links de transação. Não requer que as transações digam em qual parte do estado da blockchain (como um local de memória) elas tocam.
Fonte: White paper da Block-STM
(O diagrama mostra que, se algumas transações estiverem conectadas, a verificação será suspensa, os resultados serão excluídos e executados novamente.)
No block-stm, as transações são primeiro definidas em uma determinada ordem dentro de um bloco e, em seguida, divididas entre diferentes threads de processamento para execução simultânea. À medida que essas transações são processadas, o sistema rastreia qual local de memória cada transação altera. Após cada rodada de processamento, o sistema verifica todos os resultados da transação. Se descobrir que uma transação tocou em um local de memória alterado por uma transação anterior, ele limpa seus resultados e executa novamente. Esse processo continua até que todas as transações no bloco tenham sido processadas.
O sucesso do Block-STM depende em grande parte das conexões entre as transações. De acordo com a equipe da Aptos, o uso de 32 núcleos de processamento fornece uma aceleração de 8x quando as transações são altamente correlacionadas e uma aceleração de 16x quando as transações são menos correlacionadas. No entanto, se todas as transações em um bloco forem concatenadas, o block-stm pode resultar em uma ligeira desaceleração em comparação com a realização de uma por uma.
Monad: O líder da cadeia EVM
A Monad foi pioneira em uma nova abordagem em blockchains compatíveis com EVM e foi a primeira blockchain a introduzir uma arquitetura paralela na primeira camada do EVM. Como o Aptos, ele segue um caminho de execução otimista, operando sob a suposição de que as transações não estão interconectadas e resolvendo as dependências à medida que surgem.
Esta nova abordagem não é isenta de desafios. Fazer grandes modificações na tecnologia blockchain é um compromisso complexo e de longo prazo. No entanto, as Monads continuam comprometidas com a inovação e se tornaram um farol para outras redes blockchain com o objetivo de aprimorar sua própria arquitetura.
Tome Polygon e BinanceSmartChain como exemplos, dois blockchains bem conhecidos agora estão tentando atualizar seus sistemas, empregando estratégias semelhantes. A importância do trabalho pioneiro dos monads na implementação otimista não pode ser exagerada, pois influenciou grandes plataformas a reavaliar e revisar suas próprias arquiteturas.
Por exemplo, o Polygon tem taxa de transferência rápida e milhões de transações diárias. Sua API de rede já fornece dados suficientes para conduzir um mecanismo paralelizável e, ao explorar o Block-STM específico do EVM, eles conseguiram evitar alterações na API. No entanto, considerando o enorme volume de transações na cadeia PolygonPoS, a suposição de dependência zero entre quaisquer blocos é irreal. Portanto, eles adotaram uma abordagem de metadados mínimos, registrando as dependências da transação como metadados em blocos, reduzindo a redundância e os requisitos computacionais.
Da mesma forma, a BinanceSmartChain também está explorando oportunidades para paralelizar a execução dentro de sua cadeia EVM por meio de execução otimista, refletindo o impacto da abordagem inovadora da Monad na indústria como um todo.
O espírito inovador da Monad e seu compromisso em ultrapassar os limites da tecnologia blockchain criaram uma nova tendência no espaço EVM. Sua abordagem de adotar uma arquitetura paralela na camada 1 do EVM não apenas melhora a eficiência de seu próprio sistema, mas também influencia e inspira outros players importantes no campo a seguir o exemplo, marcando uma grande mudança no futuro da indústria de blockchain.
Execução paralela baseada em sharding
Até agora, discutimos como vários blockchains quebram a ordem sequencial e alcançam a paralelização por meio de conceitos como contas, objetos, UTXOs e modelos otimistas. No entanto, a próxima geração de blockchains que estamos prestes a estudar adota uma abordagem única para a paralelização. Essas plataformas se assemelham a um modelo de sharding, em vez de ter um único blockchain capaz de processar transações em paralelo. A blockchain é dividida em várias partes, cada uma responsável por processar suas próprias transações.
Shardeum: método de fragmentação de EVM
O Shardeum traz uma abordagem inovadora para a escalabilidade do blockchain por meio de sharding dinâmico, permitindo escalabilidade linear. Os fragmentos são subseções da rede e cada fragmento lida com uma parte das transações da rede, melhorando a eficiência dos recursos e o rendimento. Considere um usuário realizando uma transação em um aplicativo descentralizado (dapp) hospedado no Shardeum, que é atribuído a um fragmento específico com base em seus dados associados. Um shard processa transações simultaneamente com outros shards sob sua jurisdição, como um mini-blockchain. Os usuários se beneficiam de um processamento mais rápido, otimizando a experiência do usuário.
Uma característica chave do Shardeum é sua compatibilidade com a Ethereum Virtual Machine (EVM). Os desenvolvedores podem migrar facilmente seus dapps baseados em Ethereum para Shardeum, combinando a fragmentação dinâmica e o processamento paralelo de Shardeum com o extenso ecossistema Ethereum.
O sharding dinâmico garante a adaptabilidade da rede às demandas flutuantes e promove a escalabilidade e alta eficiência do sistema. O Shardeum automatiza as transações entre fragmentos, permitindo a execução perfeita de aplicativos complexos que exigem entrada de vários usuários, aprimorando a escalabilidade.
O que torna o Shardeum único é sua capacidade de dimensionar linearmente. A rede escala linearmente à medida que os nós são adicionados, o que significa que o rendimento da transação aumenta proporcionalmente ao número de nós. Esse dimensionamento linear, combinado com flexibilidade de nó e recursos de dimensionamento automático, permite que Shardeum lide de maneira ideal com cargas de trabalho variadas e crescimento de rede. O Shardeum fornece uma solução prática para as necessidades transacionais do mundo real, aprimorando a escalabilidade de aplicativos complexos e fornecendo uma solução prática para as necessidades transacionais do mundo real.
Linera: Um protocolo revolucionário de várias cadeias
A solução inovadora da Linera para escalabilidade de blockchain se destaca por meio de seu protocolo multi-cadeia dinâmico, que inclui cadeias de usuários, cadeias públicas e cadeias efêmeras.
O diagrama acima mostra três tipos diferentes de cadeias no sistema Linera: cadeias de usuários, cadeias públicas e cadeias temporárias. Cada tipo de cadeia tem uma função única que contribui para a funcionalidade geral e escalabilidade do protocolo.
Ao contrário de Shardeum, onde a Linera foi pioneira no conceito de cadeias controladas pelo usuário, Shardeum divide sua rede em muitas cadeias de fragmentos, cada uma responsável por um subconjunto de transações. Essa abordagem granular oferece aos usuários mais controle e autonomia, otimizando a alocação de recursos na rede.
As cadeias de usuários, que pertencem e são controladas exclusivamente pelos usuários, formam a espinha dorsal da arquitetura da Linera. Essas cadeias processam transações para usuários finais específicos de forma independente, permitindo a execução paralela e aumentando significativamente a taxa de transferência, reduzindo a latência.
A cadeia pública é outra parte importante do design da Linera. Essas cadeias abrigam aplicativos descentralizados, como Automated Market Makers (amm). A cadeia pública é aberta a todos os participantes da rede, fornecendo uma plataforma comum para aplicações que requerem interações abertas e irrestritas.
A Linera também apresenta o conceito de cadeias temporárias, especialmente projetadas para lidar com operações complexas, como trocas atômicas. Esse recurso oferece uma vantagem significativa sobre protocolos que precisam registrar transações na cadeia principal, o que pode criar um gargalo. No Linera, uma cadeia temporária é criada durante uma troca atômica, que é processada independentemente e em paralelo com outras transações. Depois que a troca termina, a cadeia temporária desaparece e o estado atualizado é refletido na cadeia de usuários associada.
A estrutura do protocolo suporta escala horizontal, que é uma propriedade essencial para manter o desempenho do sistema sob cargas variáveis. À medida que o tráfego aumenta, os validadores podem adicionar mais máquinas de trabalho para gerenciar o aumento da atividade e manter o alto rendimento sob alta carga.
Ao contrário de outros protocolos como o Cosmos, onde cada blockchain ou "zona" é operada por um conjunto diferente de validadores, o Linera unifica todas as cadeias em um conjunto de validadores. Essa abordagem unificada aumenta a eficiência e a segurança do protocolo Linera, simplificando as interações entre cadeias ao remover a complexidade da validação com conjuntos de validadores separados, o que pode levar ao aumento da latência ou discrepâncias. Como resultado, as transações são processadas de forma mais eficiente em todo o ecossistema, reduzindo significativamente o risco de conflitos.
QuaiNetwork: aprimorando o paralelismo e a interoperabilidade com prova de trabalho
A QuaiNetwork abriu seu próprio caminho na indústria de blockchain com sua abordagem única de escalabilidade. Ao implementar uma arquitetura multi-chain dinâmica e interoperável, a Quai fornece uma solução baseada em prova de trabalho exclusiva para o problema de escalabilidade, permitindo a paralelização de transações por meio de shards de execução infinita. Essa abordagem diferencia o Quai de protocolos como o Linera, que utiliza correntes controladas pelo usuário, embora compartilhe algumas semelhanças com o sharding dinâmico do Shardeum.
A versão de sharding que o Quai usa é semelhante aos métodos tradicionais usados para melhorar o desempenho do banco de dados em sistemas centralizados. No entanto, o Quai difere dos esquemas de sharding típicos porque possui uma arquitetura multi-cadeia dinâmica, adaptável e profundamente entrelaçada. Isso é um pouco semelhante ao sharding dinâmico de Shardeum, onde a rede é dividida em cadeias de shards que processam transações de forma independente. No entanto, o Quai coordena esses diferentes fragmentos usando uma hierarquia de mineração mesclada, criando uma interconexão exclusiva que permite que as operações sejam executadas em paralelo na rede. Ao contrário de todas as implementações de sharding existentes, que introduzem alguns novos mecanismos de confiança para facilitar a interoperabilidade (transações entre shards), a rede Quai usa mineração de mesclagem para interconectar shards, garantindo que o único mecanismo seja a mineração. A abordagem exclusiva da QuaiNetwork para interoperabilidade por meio de mineração mesclada aumenta significativamente o rendimento e fornece a capacidade de acomodar um grande número de transações simultâneas sem sacrificar a descentralização ou o desempenho.
Para poder coordenar um número ilimitado de shards de execução, a rede Quai introduz um novo mecanismo de consenso chamado PoEM. O PoEM é baseado no consenso Proof-of-Work (PoW), mas ao contrário de outros mecanismos de consenso, é o primeiro a eliminar forks baseados em consenso. Ao executar o PoEM, todos os nós sempre terão a mesma preferência para o próximo bloco na sequência imediatamente, dado o mesmo conjunto de informações. O PoEM permite que todos os nós comparem imediatamente e de forma justa qualquer bloco proposto, removendo todas as incertezas do consenso. Ao garantir que o consenso seja sempre instantâneo, o PoEM fornece o pré-requisito necessário para fragmentação infinita. Se demorar algum tempo para estabelecer um consenso, há um limite severo para o número de shards em execução que podem ser coordenados. Como o primeiro método de "tempo zero" para chegar ao consenso, o PoEM é o primeiro e único algoritmo de consenso adequado para coordenar conjuntos de cadeias em crescimento infinito.
Uma característica proeminente da arquitetura do Quai é a introdução de Parallel Threads of Execution (PETs), chamados de "regiões" no Quai. Cada "região" ou encadeamento paralelo de execução processa transações de forma independente e assíncrona. A capacidade de cada encadeamento de execução do Quai de processar transações independentemente oferece suporte aos recursos de processamento paralelo da rede, que é um dos principais conceitos por trás da escalabilidade do Quai.
O número de chains no QuaiNetwork é dinâmico e adaptável, assim como o sharding dinâmico do Shardeum. No entanto, o uso do mecanismo de consenso PoEM pela QuaiNetwork é único, pois permite que esse padrão dinâmico de fragmentação seja executado infinitamente sem degradação do desempenho. QuaiNetwork adiciona shards de execução por meio de sharding dinâmico com uma compensação óbvia: à medida que mais shards de execução são adicionados à rede, o tempo que leva para as transações cross-chain serem referenciadas por seus shards de destino aumentará. Essa relação é sublinear — por exemplo, escalar o Quai de 9 para 16 fragmentos aumentaria o tempo médio para uma transação cross-chain atingir seu destino de 3.300 segundos para 4.400 segundos. Escalar ainda mais para 25 estilhaços aumenta o tempo médio para cerca de 5.500 segundos. Teoricamente, se o Quai se expandir para 100 fragmentos, o tempo médio para a liquidação global da cadeia cruzada é de cerca de 11.000 segundos. O algoritmo de sharding dinâmico da QuaiNetwork monitora o limite de gás da rede e a taxa de bloqueio do tio para entender quando é necessário um throughput adicional, e tece automaticamente shards de execução adicionais em consenso para acomodar demandas de throughput aumentadas.
Além disso, a estrutura tecida de Quai suporta contratos inteligentes multi-chain combináveis e permite a interação eficiente de contrato cross-chain. Cada thread Quai de execução possui um EVM, e novos opcodes são introduzidos para se comunicar com o EVM localizado no shard alternativo. Esse recurso permite que os desenvolvedores implementem contratos em várias ou em todas as cadeias Quai, garantindo a operabilidade de aplicativos descentralizados (dapps) em toda a rede.
A aplicação inovadora de fragmentação da QuaiNetwork, juntamente com sua interoperabilidade minerada por mesclagem e threads de execução paralela, representa um grande avanço na escalabilidade da blockchain sob um mecanismo de consenso baseado em trabalho. O manuseio robusto de transações cross-chain e recursos avançados de contrato inteligente tornam Quai um colaborador notável no crescente campo de protocolos de blockchain escaláveis.
Execução paralela baseada em computação
Um paradigma emergente na execução paralela de blockchains é o modelo baseado em computação. Este termo foi cunhado por nossa equipe de pesquisa no AmberGroup para descrever um método de processamento de tarefas de computação simultaneamente em um ambiente compartilhado. Ao contrário dos modelos otimistas e de acesso de estado, os modelos baseados em computação não dependem estritamente de computações baseadas em memória sequencial. Em vez disso, ele opera com base no princípio de uma máquina virtual altamente paralela. Esse design promove uma execução paralela robusta e eficiente. As seções a seguir exploram os princípios da execução paralela baseada em computação, suas possíveis aplicações e os desafios únicos que ela representa para o campo mais amplo da tecnologia blockchain.
Kindelia: a potência da execução paralela baseada em computação
Kindelia surgiu como uma solução promissora em modelos de execução paralela baseados em computação em blockchains. Desenvolvido pela HigherOrder Corporation, é baseado em um tempo de execução exclusivo chamado Higher-Order Virtual Machine (HVM), que permite computação paralela eficiente.
A inovação da Kindelia é baseada em um novo modelo de computação chamado "rede de interação", um conceito que difere do modelo da máquina de Turing que sustenta a maioria dos computadores modernos. As redes de interação são baseadas em um gráfico de nós de interação, cada nó possuindo um conjunto reescrito de regras que ditam como ele interage com outros nós da rede. A computação é alcançada reduzindo a rede de interação e removendo sistematicamente os nós da rede de acordo com suas regras de reescrita até que um estado final seja alcançado. Este modelo permite que a computação seja feita em paralelo sem a necessidade de um relógio central para ditar o processo, pois os nós interagem localmente sem nenhuma coordenação global.
*O desenho de Victor Taelin (CEO da HigherOrderCompany) nos mostra como reduzir a rede de interação. *
As vantagens deste modelo são inúmeras. Devido ao seu paralelismo inerente, facilita cálculos mais rápidos e eficientes, superando em muito os modelos tradicionais de computação sequencial. Além disso, abre um campo de aplicação em diversas áreas da informática. Kindelia se destaca como a primeira máquina virtual verdadeiramente paralela no contexto blockchain, alcançando muitos dos objetivos altL1 aspira. No entanto, devido à sua dependência de arquiteturas baseadas em máquinas de Turing, esses concorrentes podem nunca atingir o mesmo nível de paralelização.
O design do Kindelia requer menos etapas computacionais para executar funções, maximiza a utilização de núcleos de processamento e garante que as operações sejam executadas na ordem correta - tudo com mínimo esforço adicional dos desenvolvedores. Esse processo de execução simplificado, juntamente com um nível mais alto de segurança, torna o Kindelia um exemplo de ponta de execução paralela baseada em computação na tecnologia blockchain.
Embora a base teórica de Kindelia e HVM seja um pouco avançada, o significado prático é fácil de entender: melhorar a velocidade, eficiência e segurança da computação blockchain. Com Kindelia, estamos testemunhando um salto revolucionário na tecnologia blockchain, marcando um marco importante no desenvolvimento contínuo deste campo transformador.
Preocupações com a execução paralela
À medida que exploramos o potencial de blockchains paralelos, é importante reconhecer que, embora ofereçam vantagens consideráveis de escalabilidade e velocidade, também apresentam desafios únicos e possíveis desvantagens. As duas principais questões frequentemente mencionadas são o potencial para maior centralização e altas taxas de conflito de transações.
Blockchains paralelos distribuem o processamento de transações entre vários nós, aumentando assim o rendimento do processamento de transações. No entanto, essa distribuição também pode levar à concentração de poder em poucos nós, trazendo assim certo grau de centralização. Essa centralização pode prejudicar a confiabilidade e a segurança do blockchain, tornando-o mais vulnerável a ataques. Além disso, blockchains paralelos aumentam o risco de inatividade da rede. Por exemplo, a rede Solana sofreu uma interrupção em setembro de 2021 devido a solicitações excessivas de transações. O incidente destaca os riscos potenciais associados ao dimensionamento de redes blockchain e ressalta a necessidade de soluções que possam lidar com altos volumes de transações sem comprometer a estabilidade.
A taxa de conflito de transação é outra questão importante. Este índice refere-se ao percentual de transações que não podem ser executadas simultaneamente devido a conflitos. Uma alta taxa de conflito pode levar a um grande número de retrabalhos de transações em blockchains paralelos. De acordo com o relatório do Flashbots, a taxa de conflito das transações Ethereum em 2017 foi de cerca de 35%. Com os principais aplicativos como OpenSea e Uniswap dominando a rede Ethereum, a taxa de conflito provavelmente será ainda maior.
No caso de execução otimista, a quantidade de transações refeitas pode interromper gravemente o pipeline se a taxa de conflito exceder 30%. Cada refazer retarda o processamento da transação e reduz os benefícios da paralelização. Portanto, gerenciar a taxa de conflito de transações é crucial para garantir a eficiência das blockchains paralelas.
para concluir
Mudanças significativas estão em andamento no espaço blockchain, uma vez que ele tenta resolver problemas de escalabilidade e eficiência inerentes ao seu design. Exploramos várias abordagens para alcançar a execução paralela, cada uma com suas próprias vantagens e desafios exclusivos. Um modelo de acesso baseado em estado marca o primeiro passo para superar a natureza sequencial das blockchains. A execução otimista, embora promissora, também introduz o risco de conflitos e requer estratégias eficazes de resolução de conflitos. O sharding nos leva um passo adiante ao dividir a rede em partes menores e gerenciáveis, cada uma capaz de processar transações de forma independente. Por fim, a execução paralela baseada em computação usa ciência da computação de ponta para maximizar o desempenho do nó e a segurança do aplicativo. Apesar dos desafios e problemas potenciais, esses modelos mostram potencial para melhorar significativamente o desempenho da tecnologia blockchain. À medida que essas tecnologias continuam a se desenvolver e amadurecer, estamos à beira de uma nova era da tecnologia blockchain.