Pular para o conteúdo
0%

Sidechains vs layer 2s do Ethereum: qual é a diferença?

Alchemy team headshot

Escrito por Alchemy

Publicado em 16 de maio de 20226 min de leitura

Com milhões de usuários entrando na rede Ethereum e desenvolvedores construindo aplicações Ethereum todos os dias, o Ethereum é limitado pelo número de suas transações. A capacidade do Ethereum de processar transações, sua vazão de transações, é limitada a 15 transações/segundo, o que faz com que fique cada vez mais caro e frequentemente muito congestionado para que muitas pessoas o usem.

A rede Ethereum é a chain principal, e todas as transações que ocorrem diretamente nela são "on-chain", enquanto qualquer outra coisa é considerada "off-chain". São algumas dessas soluções off-chain, como sidechains e layer 2s, que podem ajudar o Ethereum a escalar, aumentando a velocidade das transações e a quantidade de dados de transação que a rede consegue processar. Neste artigo, mostraremos o que são sidechains e soluções de layer 2 e como elas podem ajudar com a escalabilidade.

Quais problemas sidechains e layer 2s resolvem?

Sidechains e soluções de layer 2 do Ethereum atacam o problema de ajudar o Ethereum a escalar. Tentativas de escalar o desempenho on-chain frequentemente levam a abrir mão da descentralização ou da escalabilidade do Ethereum - isso é conhecido como o Trilema da Escalabilidade.

Aumentar a sofisticação da layer 1 do Ethereum não é ideal, pois isso elevaria o nível de overhead de governança para que a plataforma debatesse, decidisse e implementasse continuamente novas melhorias. Sidechains e soluções de layer 2 permitem uma inovação constante e incremental que melhora o Ethereum para todos, mantendo a segurança e a descentralização.

Qual a principal diferença entre sidechains e soluções de layer 2?

A principal diferença entre sidechains e soluções de layer 2 do Ethereum é que, enquanto layer 2 herda a segurança da rede principal do Ethereum, sidechains dependem da própria segurança.

O que é uma sidechain do Ethereum?

Uma sidechain do Ethereum é uma rede blockchain separada que roda em paralelo à chain principal do Ethereum. Sidechains se conectam à chain principal por meio de um sistema de peg de mão dupla, permitindo que ativos sejam trocados entre as chains.

Existem dois tipos básicos de sidechains, um em que uma chain depende da outra e outro em que são independentes.

Quando uma chain depende de outra chain como o Ethereum, ela pode ser considerada a child chain dessa parent chain. Normalmente, a child chain não cria seus próprios ativos e deriva quaisquer ativos de transferências vindas da parent chain.

Diagrama de uma sidechain do Ethereum conectada à cadeia principal por um peg de duas vias
Fonte: Documentação do EthHub

Sidechains têm seus próprios protocolos de consenso, que muitas vezes são projetados para tipos específicos de transações e permitem que sejam mais rápidas e acessíveis. No entanto, isso também significa que elas normalmente não herdam as propriedades de segurança do Ethereum, e ao usar uma sidechain você perde a custódia dos seus fundos e depende exclusivamente da segurança da sidechain, incluindo os nodes que participam de seu próprio protocolo de consenso.

Sidechains reduzem o congestionamento na chain principal, reduzindo o custo para todos e aumentando a usabilidade e escalabilidade do ecossistema Ethereum. Desenvolvedores também podem usar sidechains para explorar e testar novos recursos e casos de uso que não estão disponíveis na chain principal.

Sidechains populares incluem Polygon PoS, Skale e Rootstock. O Ethereum 2.0 tem sua própria variação de sidechains chamada shard chains, que estão conectadas à recém-lançada Beacon Chain, que visa, em última instância, se tornar a chain principal do Ethereum baseado em proof of stake (PoS).

Como as sidechains funcionam?

Sidechains funcionam se conectando à chain principal por meio de um sistema de peg de mão dupla ou bridge. A partir da chain principal, você pode enviar seu Ethereum para um endereço de saída que atua como uma caixa de bloqueio, de forma que você não consiga gastá-lo em outro lugar.

Uma vez que essa transação é concluída e o "período de contestação", para segurança adicional, tenha passado, um recibo chamado "Simple Payment Verification" (SPV) é fornecido. Isso aciona a liberação do mesmo valor de uma caixa de bloqueio na sidechain por meio de um smart contract. Ao "transferir" da sidechain de volta para a chain principal, o exato mesmo processo acontece, mas de forma inversa.

Como desenvolver em sidechains?

Sidechains são baseadas na Ethereum Virtual Machine (EVM), que é o motor de computação do Ethereum, e essa compatibilidade com a Ethereum Virtual Machine significa que desenvolvedores não precisam fazer nenhuma alteração quando quiserem usar sua aplicação em uma sidechain. É simplesmente uma questão de implantar o mesmo código, já que todas compartilham a mesma camada de software do Solidity e podem ser acessadas pela mesma Web3 API!

O que é um protocolo de layer 2?

Protocolos de layer 2 são chains que vivem dentro da chain Ethereum, mas conseguem alcançar maior escalabilidade por meio de um framework secundário. Isso reduz o congestionamento na camada principal ao fazer com que a maior parte da atividade seja processada por meio da segunda camada. Ao contrário de uma sidechain, a layer 2 geralmente herda as propriedades de segurança da chain principal.

Layer 1 é a blockchain base. O Ethereum é uma blockchain layer 1 porque é a base subjacente sobre a qual várias blockchains de layer 2 são construídas. Em termos simples, a layer 2 comprime lotes de transações e os envia para a rede principal do Ethereum.

Quais são as soluções de escalabilidade de layer 2?

Soluções de escalabilidade de layer 2 incluem channels, rollups e plasma. Aqui está um detalhamento de cada uma dessas soluções individuais.

1. State channels

Com state channels, usuários transacionam diretamente uns com os outros off-chain e reduzem as transações on-chain apenas às informações mais importantes. Especificamente, parte da blockchain é bloqueada por meio de um smart contract, de forma que os participantes envolvidos na transação precisem concordar completamente antes de atualizá-la.

Participantes atualizam o estado entre si criando e assinando transações que poderiam ser submetidas à blockchain. Quando você quiser parar de usar o channel, você sai e submete a última atualização de estado para a chain principal, o que desbloqueia o estado novamente.

Diagrama de state channels do Ethereum movendo transações fora da cadeia entre participantes
Fonte: Documentação do EthHub

2. Rollups

Um rollup executa a execução de transações fora da blockchain principal do Ethereum e depois agrupa várias transações antes de enviá-las de volta para a rede principal do Ethereum. Rollups dependem de provas para permitir que o Ethereum verifique sua correção sem processar as transações.

Quais são os dois tipos de rollups?

Em geral, existem dois tipos de rollups, Zero-knowledge (ZK) Rollups e Optimistic Rollups.

1. Zero-knowledge rollups (ZK rollups)

Zero-Knowledge Rollups (ZK rollups) usam provas de validade. Cada lote de transações inclui uma prova criptográfica chamada Succinct Non-Interactive Argument of Knowledge (SNARK), que é verificada por um contract na layer principal do Ethereum.

Como apenas a prova de validade, e não os dados volumosos da transação, precisa ser armazenada na chain principal, essa computação off-chain economiza grandes quantidades de tempo e poder de processamento, tornando os zero-knowledge rollups mais rápidos e muito mais eficientes.

2. Optimistic rollups

Optimistic Rollups usam provas de fraude. Como o nome sugere, elas assumem de forma otimista que todas as transações são válidas e submetem lotes sem nenhuma prova inicial. Há um período de contestação no qual outros conseguem detectar e provar que os dados em um lote são fraudulentos.

Se o lote se revelar fraudulento, Optimistic rollups executam uma prova de fraude e rodam a computação de transação correta usando os dados disponíveis na chain principal do Ethereum. Exigir que os participantes façam stake de ETH, que é recompensado ou cortado (slashed) com base em suas ações, incentiva o bom comportamento.

Empresas como Optimism ajudam o Ethereum a escalar, oferecendo maior vazão, menor latência e taxas de gas mais baixas. No momento em que este artigo foi escrito, as taxas de gas do Optimism eram até 10x mais baratas que as do Ethereum!

3. Plasma

Pense no Plasma como a sidechain nativa do Ethereum, usando uma combinação de smart contracts e Merkle trees para criar uma ramificação ilimitada de child chains. Essas child chains são cópias menores da chain principal do Ethereum, com seu próprio mecanismo de consenso.

A largura de banda necessária para computação e os dados de transação são descarregados das parent chains, mas publicados na root chain em intervalos regulares. Cada child chain depende de um sistema de prova de fraude para segurança, semelhante aos rollups, com um período de tempo em que qualquer pessoa pode contestar sua validade.

A principal diferença em relação a outras sidechains é que a "raiz" de cada bloco da plasma chain é publicada no Ethereum, o que significa que ela herda a segurança da chain principal.

Diagrama de child chains do Plasma ramificando-se da cadeia principal do Ethereum
Fonte: Nirolution

Empresas como Polygon permitem transações mais rápidas com taxas de gas muito mais baixas, tanto para desenvolvedores quanto para usuários finais. Esses benefícios claros tornam extremamente atraente construir em plasma, e é fácil ver por que elas tiveram um crescimento explosivo.

Quais sidechains e layer 2s o Alchemy suporta?

Obtenha uma conta gratuita de desenvolvedor Alchemy para começar a construir no Ethereum ou nessas sidechains e layer 2s do Ethereum:

  • Polygon (Sidechain)
  • Arbitrum (Layer 2)
  • Optimism (Layer 2)
  • Starknet (Layer 2)

A adoção em massa da implementação de soluções de escalabilidade como sidechains e layer 2 (channels, optimistic rollup, zk rollup e Plasma) tira o estresse da mainnet do Ethereum e, portanto, ajuda mais usuários a acelerar tempos de transação mais lentos e reduzir taxas de transação altas, mantendo ainda as mesmas garantias de segurança (no caso de soluções de Layer 2) e as decentralized apps tão conhecidas do Ethereum.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.