WEB3DEV

Cover image for Avaliando as soluções de dimensionamento Ethereum L2: uma estrutura para comparação
Diogo Jorge
Diogo Jorge

Posted on • Atualizado em

Avaliando as soluções de dimensionamento Ethereum L2: uma estrutura para comparação

Este artigo foi escrito por Alex Gluchowsky e traduzido por Diogo Jorge. O artigo original pode ser encontrado aqui.

Fornecemos um guia para avaliar várias soluções alternativas de dimensionamento Ethereum Layer-2 em vários fatores. Rollup ZK, Optimism rollup, sidechains, canais de pagamento, plasma, validium: qual é o certo para você?

O ecossistema de dimensionamento Ethereum Layer-2 tornou-se complicado de navegar para os construtores, pois um número crescente de soluções de dimensionamento viu a luz do dia. A dificuldade reside na inescapável falta de nuances por trás da promessa de cada solução de ser confiável, segura, econômica e fácil de usar. Incentivamos os construtores a evitar considerar esses atributos como fatos e, em vez disso, realizar uma diligência abrangente para investigar as inevitáveis ​​compensações que cada solução está fazendo.

Para facilitar essa tarefa, reunimos uma lista de perguntas para ajudar os construtores a avaliar diferentes soluções de dimensionamento e adotar a mais adequada às suas necessidades. As perguntas são agrupadas nas seguintes categorias:

  • Segurança
  • Desempenho / economia
  • Usabilidade
  • Outro

Juntamente com essas perguntas, montamos uma tabela de comparação para fornecer um ponto de partida para conversas com provedores de soluções. Embora tenhamos feito o possível para manter a comparação neutra e justa, continua sendo uma tarefa difícil expressar sucintamente as nuances de diferentes abordagens na forma de uma tabela. Esperamos que a extensa lista de perguntas com contexto adicionado compense isso.

Muito obrigado a Georgios Konstantopoulos (pesquisador independente L2), John Adler (Fuel), Ben Jones (Optimism), JD Kanani (Matic), Patrick McCorry (any.sender), Justin Drake (Ethereum Foundation) e Brecht Devos (Loopring) por sua revisão e correções desta tabela.

Image description

Atualizado 2021–02–18

Segurança

Suposição de vivacidade (por exemplo, torres de vigia)

O protocolo exige a vivacidade do usuário? Em outras palavras: os usuários precisam monitorar todas as atividades on-chain (ou seja, L1) da solução de dimensionamento por conta própria ou por meio de representantes confiáveis ​​(torres de vigia)?

Em alguns casos, a vivacidade pode ser delegada a partes confiáveis ​​com incentivos alinhados com os usuários que atendem (ou seja, que estão vinculados). No entanto, vale a pena notar que a quantia que esses representantes de confiança podem perder em caso de mau comportamento é sempre limitada ao tamanho do 'depósito' correspondente (ou seja, caução) que eles depositaram para ser um representante de confiança. Deve-se considerar se uma oportunidade de roubar mais valor do que o que está no depósito é possível e quão confortáveis ​​eles estão com tal risco.

A suposição de saída em massa

As premissas de segurança da solução de dimensionamento incluem a capacidade de todos os usuários realizarem com sucesso transações de saída (retiradas) para L1 em ​​um curto período de tempo?

Uma saída em massa em L2 ocorre quando todos os usuários de uma determinada solução L2 precisam sair de L2 em um curto período de tempo por motivos de segurança. Se eles optarem por ficar, o operador pode realizar alguma manipulação e drenar os fundos que ainda restam em L2. Por exemplo, no Matic, a janela que fica aberta para todos os usuários retirarem é de 1 semana.

Isso pode ser muito problemático devido ao congestionamento da rede e aos ataques DoS. Por exemplo, na janela de tempo dada para a saída em massa, a rede Ethereum pode estar altamente congestionada e, portanto, as transações podem não ser extraídas a tempo. Mesmo no caso de não haver congestionamento, um invasor pode tentar manipular os preços do gás ou eclipsar os nós para garantir que as transações não sejam extraídas a tempo. Este é um vetor de ataque que vale a pena considerar.

Custódia

Um quórum de validadores L2 pode tornar os fundos inacessíveis aos usuários por períodos indefinidos de tempo? Eles podem confiscar fundos de usuários?

Isso é particularmente importante se você quiser que seu projeto permaneça resistente à censura.

Vulnerabilidade a exploits de chave de hot-wallet

A segurança dos fundos nesta solução L2 depende da capacidade do operador de proteger as chaves que DEVEM ser mantidas em máquinas on-line para manter o sistema operacional (ou seja, chaves hot-wallet)?

Hot-wallets são notoriamente difíceis de proteger .

Vulnerabilidade a ataques cripto econômicos

Quão vulnerável é a solução para ataques cripto econômicos e ela depende de suposições da teoria dos jogos?

Existem vários tipos de ataques envolvendo incentivos cripto econômicos, incluindo comprometer os validadores L2 (ou sua equipe operacional), subornar mineradores em L1, criar DAOs escuras e assim por diante. Esses vetores de ataque estão evoluindo rapidamente e são difíceis de eliminar em um sistema que depende de suposições da teoria dos jogos.

Isso também inclui cenários que não são tecnicamente roubo, mas são praticamente equivalentes. Por exemplo ,este ataque de gasto duplo no Validium, onde um invasor não pode roubar os fundos de todos os outros por design, mas ainda pode gastar o dobro dos seus próprios.

Primitivos criptográficos

A solução depende de criptografia padrão ou faz uso de novas pesquisas criptográficas, como SNARKs ou STARKs ?

Geralmente, quanto mais tempo uma construção criptográfica está no mundo, mais tempo ela tem a chance de alguém quebrá-la. Quanto mais avançadas e recentes forem usadas as primitivas, mais competência e escrutínio devem ser exigidos das equipes que as implementam e auditam.

Desempenho / economia

Capacidade máxima de transferência

Qual é a taxa de transferência máxima possível da solução dentro dos limites do Ethereum 1.0? E no Ethereum 2.0?

Embora o rendimento de uma solução possa ser satisfatório hoje, faz sentido olhar para o futuro e antecipar as necessidades do seu projeto para rendimento adicional e se a solução que você planeja adotar é à prova de futuro.

Eficiência de capital

Quão eficiente em termos de capital é a solução de dimensionamento? É necessário que uma quantidade substancial de capital seja bloqueada para operar?

Os sistemas que são menos eficientes em termos de capital serão mais caros para os usuários em relação a outras soluções e podem sofrer interrupções nas operações devido à falta de liquidez imediata. Os canais de pagamento, por exemplo, são relativamente ineficientes em termos de capital, pois os operadores de canal precisam bloquear um múltiplo do volume médio de seu canal para garantir que ele não atinja a capacidade.

Custo para abrir uma nova conta

É necessária uma transação na cadeia L1 para que um novo usuário comece a usar uma conta na L2?

No gráfico de comparação indicamos o melhor cenário para cada sistema, mas as implementações individuais podem ser menos eficientes. Por exemplo, tanto o zkSync quanto o Loopring usam zkRollups, mas o Loopring exige que os usuários façam uma transação L1 para abrir uma conta antes que possam receber um pagamento, enquanto o zkSync não.

Usabilidade

Tempo para retirada

Quanto tempo demoram as retiradas para L1?

Para permitir a resolução de disputas, as retiradas em algumas soluções podem levar até uma semana ou mais. Para mitigar esse longo tempo de espera, existem provedores de liquidez que fornecem liquidez aos usuários em troca de um prêmio de risco? Se tais provedores de liquidez existirem, quão confiáveis ​​e caros eles são? Uma vez que as retiradas rápidas têm um preço, qual é o preço real de usar essa solução?

Tempo para a finalidade subjetiva

Com que rapidez uma transação pode atingir um estado em que não pode mais ser revertida em L1 sob as suposições de segurança do protocolo?

Por finalidade subjetiva, queremos dizer que observadores externos podem ser persuadidos da irreversibilidade de uma transação, mesmo que os contratos inteligentes L1 ainda não possam confiar nela. Por exemplo, na rollup Optimism, você precisa de 1 confirmação no Ethereum para atingir a finalização L1, enquanto a finalização completa leva ~ 1 semana.

Verificabilidade do lado do cliente da finalidade subjetiva

O tempo para a finalidade subjetiva (ver pergunta anterior) pode ser verificado com clientes leves (navegadores/carteiras móveis)?

Continuando o exemplo acima com a rollup Optimism, enquanto você precisa de 1 confirmação na Ethereum para atingir a finalização L1, para verificar se sua transação é final, você teria que baixar todo o estado de rollup e executar todas as transações da última semana para garantir que nenhum bloco da rollup Optimism é inválido.

Confirmações de tx instantâneas

A solução pode fornecer confirmações de transações instantâneas completas ou apenas vinculadas?

A “finalidade aparente instantânea” pode ser implementada na maioria dos protocolos L2, ou seja, as transações parecerão ser instantaneamente confirmadas no UX. Apenas os canais de pagamento (canais de estado) oferecem garantias de segurança total para essas confirmações,enquanto em outros protocolos essas transações ainda podem ser revertidas por um período antes de serem confirmadas em L1. Porém, revertê-los não é gratuito e os validadores de tais soluções perderão suas cauções (ou seja, depósito), independentemente de conseguirem fazê-lo.

Esse recurso depende dos detalhes da implementação específica da solução de dimensionamento.

Outros aspectos

Contratos inteligentes

A L2 suporta contratos inteligentes programáveis ​​arbitrariamente ou apenas um subconjunto limitado que pode ser implementado usando predicados ?

Portabilidade de bytecode EVM

Você pode portar o bytecode EVM dos contratos Ethereum existentes quase sem alterações?

Suporte nativo à privacidade

O protocolo oferece suporte nativo para privacidade?

Sem transações blindadas de baixo custo por padrão, a proteção da privacidade será altamente ineficaz , como muitos estudos sobre desanonimização em várias plataformas demonstraram eloquentemente ( 1 , 2 ).

PS Uma nota lateral sobre zkRollups

Existem duas soluções de dimensionamento que usam zkRollups e vivem na rede principal: Loopring e zkSync . A principal diferença entre eles é a escolha do sistema de prova subjacente. O Loopring usa o Groth16 SNARK, que possui uma configuração confiável específica do aplicativo, enquanto o zkSync usa o PLONK, um sistema de prova mais recente com uma configuração confiável universal. Levando em consideração os recentes avanços no espaço de design deste sistema de prova, acreditamos que o PLONK será um grande acelerador da adoção do zkRollups e detalharemos isso em um próximo post.


Esperamos que este post seja útil na sua exploração de soluções de dimensionamento e deixe você animado com o que o futuro reserva. Se você tiver alguma dúvida ou quiser discutir qualquer um dos pontos acima, sinta-se à vontade para entrar em contato pelo e-mail [email protected], no Twitter e no Telegram .

A Matter Labs tem a missão de acelerar a adoção em massa de blockchains públicos. Estamos construindo o zkSync , uma plataforma de escalabilidade segura e rápida para Ethereum.

Latest comments (0)