Interoperabilidade Blockchain Parte II: Provas de Consenso e Ponte Minimizada de Confiança

intermediário12/3/2023, 2:44:51 PM
Este artigo explora os desafios de segurança da ponte entre tecnologia e soluções de ativos entre cadeias. Ele examina a transição de pontes com múltiplas assinaturas para pontes ZK, destacando a eficiência das pontes ZK na redução de dados na cadeia. Além disso, é explorado o potencial das provas de consenso para verificação com confiança minimizada, questionando se isso significa o futuro da tecnologia de ponte.

Introdução

Na Parte I, cobrimos o conceito de interoperabilidade de blockchain e como ela só aumentará em importância à medida que surgirem L1s, L2s e appchains alternativos. A grande quantidade de capital movimentado em pontes torna-as alvos atraentes para hackers e, em 2022, vimos US$ 2,5 bilhões perdidos devido a vulnerabilidades multisig e de contratos inteligentes. De todas as explorações que ocorreram naquele ano, impressionantes 69% estavam relacionadas a pontes.

No centro dessas perdas estavam falhas na etapa de verificação da ponte, onde o mecanismo de confiança usado para verificar a validade da transação era sustentado por humanos e multisigs:

  1. A ponte de Ronin foi protegida por um multisig 5 de 9. 4 validadores foram operados por uma parte e comprometidos de uma só vez, tornando o 5º um gatilho fácil
  2. O Harmony Bridge foi protegido por um multisig 2 de 5 que foi comprometido por métodos desconhecidos, embora se suspeitasse de engenharia social
  3. As chaves privadas da Multichain eram um ‘multisig’ efetivamente mantido por uma pessoa

Dadas essas vulnerabilidades, a etapa de verificação no processo de ponte é muito melhor atendida por métodos com confiança minimizada que dependem de código e matemática.

É aqui que as Provas de Consenso entram como uma solução potencial. A abordagem depende de um provador que verifica o consenso do blockchain da cadeia de origem e usa provas de conhecimento zero para atestar a validade de uma transação antes de liberar fundos para um destino.

Isso é muito para descompactar, então vamos primeiro definir o que queremos dizer com verificação do consenso do blockchain.

Verificando o estado/'consenso' do blockchain de origem

Em sua essência, os blockchains são livros-razão que registram transações entre contas mantidas por nós que não confiam uns nos outros. Como existem muitos nós validando uma rede blockchain, deve-se chegar a um acordo entre esses validadores sobre qual bloco é o adicionado mais recentemente, ou seja, eles devem chegar a um “consenso” sobre o estado mais recente.

Fonte: Adaptado de Ethereum EVM ilustrado

A verificação confiável do consenso da cadeia de origem na cadeia de destino é fundamental para a ponte, porque se você puder verificar o bloco mais recente da cadeia de origem de uma maneira com confiança minimizada, você determinará a 'verdade' mais recente e terá o conforto de executar uma ação correspondente em a cadeia de destino.

Verificando o consenso da cadeia de origem para permitir a ponte

Para fazer a ponte, o protocolo precisa determinar se uma transação de “depósito” na cadeia de origem foi feita de forma válida. Na prática, isso envolve verificar duas coisas:

  1. Passo 1. Verificar o consenso da blockchain, ou seja, se o bloco que estamos consultando é uma parte válida do estado mundial da cadeia de origem; e
  2. Passo 2. Verifique se a transação específica, ou seja, a transação de 'depósito' está incluída no bloco (isso pode ser comprovado com uma prova de inclusão Merkle)

Após a verificação de ambos, a cadeia de destino pode liberar ativos para o usuário.

Voila, ativos transferidos.

Em teoria, isso parece simples, mas a parte complicada é o passo 1: não é tão fácil para um contrato inteligente em uma cadeia verificar o consenso de outra (normalmente Ethereum como a cadeia de origem).

Desafios atuais com a verificação do consenso para a ponte

O primeiro desafio a apontar é que diferentes blockchains têm diferentes mecanismos de consenso e provar o consenso em cada cadeia de origem requer um trabalho de engenharia muito específico para ser configurado. Isto significa que a etapa de verificação do consenso precisará ser personalizada para cada cadeia de origem. Por enquanto, vamos nos concentrar em provar o consenso do Ethereum, já que ele tem a maior parte do TVL e é a ponte típica de usuários L1.

Ethereum tem um grande conjunto de validadores com mais de 700.000, dos quais mais de 21.000 validadores votam em um bloco em um slot. Para atingir a finalidade, um bloco deve obter votos de ⅔ do conjunto de validadores, o que equivale aproximadamente a 450.000 votos de validadores. Verificar o consenso total significaria verificar a validade de 450 mil assinaturas.

Um método menos complicado de verificar o consenso do Ethereum envolve o ‘protocolo de cliente leve’. Este utiliza um comitê de sincronização (512 validadores selecionados aleatoriamente a cada 27,3 horas) para atestar que o último bloco proposto é válido. Aqui, verificar o consenso significa verificar a validade de 512 assinaturas agregadas.

Num contexto de ponte, um contrato inteligente na cadeia de destino pode utilizar o protocolo de cliente leve e atuar como um “cliente leve” na cadeia para verificar o estado mais recente da cadeia de origem e garantir que um “depósito” foi feito. Se satisfeito, o contrato inteligente libera fundos na cadeia de destino.

Verificando o consenso da cadeia de origem (no Ethereum) por meio do comitê de sincronização

Esta abordagem não é muito prática porque a verificação de 512 assinaturas agregadas diretamente em um contrato inteligente na cadeia é proibitivamente cara sem pré-compilação, uma vez que os validadores Ethereum usam assinaturas BLS.

A chave para tornar isso possível, então, é realizar a etapa de verificação fora da cadeia…

… e é aqui que entram as Provas de Consenso.

A solução: provas de consenso das assinaturas do comitê de sincronização

As provas de conhecimento zero surgiram como uma solução viável para ajudar os blockchains a retirar cálculos dispendiosos da cadeia e verificar o resultado na cadeia. Isso permite que um contrato inteligente de ponte na cadeia de destino mova cálculos dispendiosos (como a validação do consenso da cadeia de origem) para um provador de conhecimento zero fora da cadeia:

  1. O provador verificará a assinatura e gerará uma Prova de Consenso - ou seja, uma prova sucinta de conhecimento zero que atesta que o bloco é o próximo bloco válido, pois recebeu ⅔ dos atestados do comitê de sincronização. Esta prova verifica o consenso do blockchain de origem (Etapa 1 acima).
  2. Uma vez comprovada a validade de um bloco, podemos provar que uma transação fazia parte deste bloco (Etapa 2. acima) usando provas de inclusão de Merkle. (Alternativamente, uma prova de conhecimento zero pode ser gerada fora da cadeia e verificada por um contrato inteligente na cadeia de destino para o mesmo propósito).

A verificação com provas zk nos permite chegar mais perto de uma ponte com confiança minimizada

Após essas duas etapas, o contrato inteligente de destino pode liberar fundos com segurança na cadeia de destino.

Usar Provas de Consenso para verificar o estado do blockchain de origem é um passo importante em direção à ponte minimizada pela confiança, mas confiar no protocolo de cliente leve e nos validadores 512 tem algumas limitações (destacadas na tabela abaixo).

Limitações em confiar no comitê de sincronização para verificar o consenso

Como tal, algumas equipes estão trabalhando para provar o consenso total do Ethereum, o que é uma tarefa complexa e envolveria a verificação de 450.000 assinaturas no momento da redação deste artigo. Fazer isso em um circuito de conhecimento zero não é tarefa fácil – mas equipes como a Polyhedra Network e a Succinct se comprometeram a conseguir isso.

O que é melhor do que provar 512 assinaturas? 450.000 assinaturas!

A Polyhedra Network anunciou recentemente que conseguiu verificar 21.000 assinaturas de validadores que assinam um bloco em um determinado slot no ZK e está trabalhando para verificar todas as 450.000 assinaturas. Mais detalhes sobre sua abordagem e sistema de prova podem ser encontrados no artigo zkBridge.

Uma vez que possamos verificar o consenso completo do Ethereum em conhecimento zero, verificar o consenso de outras cadeias com conjuntos de validadores menores em conhecimento zero deve ser relativamente simples.

Riscos de usar provas de conhecimento zero

Embora a tecnologia de conhecimento zero e as provas de consenso resolvam a falibilidade humana, a discussão seria incompleta sem o reconhecimento de alguns dos riscos que surgem com seu uso na ponte.

A tecnologia de conhecimento zero está mudando rapidamente, à medida que novos algoritmos e sistemas continuam a surgir. Algumas destas implementações não são auditadas e podem conter vulnerabilidades, tornando-as suscetíveis a potenciais explorações quando surgem incentivos significativos. Além disso, mesmo após auditorias, esses sistemas criptográficos complexos podem conter vetores de ataque não descobertos que serão identificados e retificados ao longo do tempo, para atingir um estado maduro e resistente à batalha.

Além disso, resta saber em que volume de transações as despesas de geração e verificação de provas de conhecimento zero se tornam suficientemente amortizadas para serem consideradas rentáveis.

A construção das equipes

Para finalizar, destacaremos alguns dos players que estão construindo soluções neste espaço. Embora tenham abordagens e mercados de entrada ligeiramente diferentes, eles estão ultrapassando os limites do que a ponte baseada em zk pode fazer e anunciando o surgimento de uma interoperabilidade minimizada pela confiança.

Entre eles temos:

  1. Polyhedra Network que vem projetando e implementando o protocolo zkBridge e pode ser usado para atestar o estado de outra cadeia. zkBridge atualmente suporta ponte entre mais de 20 L1s e L2s, incluindo Ethereum, Polygon, Binance Smart Chain, Optimism, Arbitrum. A Polyhedra Network integrou provas baseadas em comitê de sincronização e provas baseadas em consenso completo com LayerZero para facilitar a ponte baseada em zk.
  2. Laboratórios sucintos que têm desenvolvido clientes leves baseados em zk para atestar o estado do Ethereum e facilitar a ponte entre Gnosis Chain e Ethereum como cadeias de origem e Gnosis, Arbitrum, Avax, Binance Smart Chain, Optimism e Polygon como cadeias de destino
  3. Electron Labs que está focado na construção de abordagens de ponte entre Ethereum e o ecossistema Cosmos
  4. O Polymer Labs visa estender a conectividade IBC em diferentes cadeias por meio do Polymer Hub, que reforça o transporte IBC ou a semântica TAO em cadeias conectadas. O Polymer Hub também permite um modelo de interoperabilidade de malha que melhorou as propriedades de escala em comparação com os modelos p2p ou hub and spoke.
  5. Lagrange Labs que usará seus próprios comitês estaduais (que são garantidos pelo re-staking de Eigenlayer) para atestar o estado dos blockchains. Eles estão almejando L2s otimistas (Arbitrum, Optimism, Base) e L1s principais como sua estratégia de entrada no mercado

Equipes trabalhando em Provas de Consenso

Conclusão

A interoperabilidade é uma parte essencial da infraestrutura blockchain. As primeiras etapas da ponte viram mecanismos de confiança sustentados por multisigs e comprometidos pela dependência de humanos. Agora estamos começando a entrar no domínio das pontes protegidas por criptografia e matemática, viabilizadas pela aplicação de provas de conhecimento zero no contexto de pontes.

Nesta parte, abordamos como as Provas de Consenso ajudam a resolver a ponte, verificando o consenso finalizado mais recente do blockchain de origem.

Esta tecnologia, no entanto, pode ser estendida ainda mais para verificar o consenso histórico, o que permite casos de uso mais flexíveis entre cadeias, além de apenas fazer uma ponte no momento. E é isso que exploraremos na Parte III de nossa série sobre Interoperabilidade: Provas de Armazenamento e os casos de uso que elas desbloqueiam.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Superscrypt]. Todos os direitos autorais pertencem ao autor original [Jacob Ko]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Interoperabilidade Blockchain Parte II: Provas de Consenso e Ponte Minimizada de Confiança

intermediário12/3/2023, 2:44:51 PM
Este artigo explora os desafios de segurança da ponte entre tecnologia e soluções de ativos entre cadeias. Ele examina a transição de pontes com múltiplas assinaturas para pontes ZK, destacando a eficiência das pontes ZK na redução de dados na cadeia. Além disso, é explorado o potencial das provas de consenso para verificação com confiança minimizada, questionando se isso significa o futuro da tecnologia de ponte.

Introdução

Na Parte I, cobrimos o conceito de interoperabilidade de blockchain e como ela só aumentará em importância à medida que surgirem L1s, L2s e appchains alternativos. A grande quantidade de capital movimentado em pontes torna-as alvos atraentes para hackers e, em 2022, vimos US$ 2,5 bilhões perdidos devido a vulnerabilidades multisig e de contratos inteligentes. De todas as explorações que ocorreram naquele ano, impressionantes 69% estavam relacionadas a pontes.

No centro dessas perdas estavam falhas na etapa de verificação da ponte, onde o mecanismo de confiança usado para verificar a validade da transação era sustentado por humanos e multisigs:

  1. A ponte de Ronin foi protegida por um multisig 5 de 9. 4 validadores foram operados por uma parte e comprometidos de uma só vez, tornando o 5º um gatilho fácil
  2. O Harmony Bridge foi protegido por um multisig 2 de 5 que foi comprometido por métodos desconhecidos, embora se suspeitasse de engenharia social
  3. As chaves privadas da Multichain eram um ‘multisig’ efetivamente mantido por uma pessoa

Dadas essas vulnerabilidades, a etapa de verificação no processo de ponte é muito melhor atendida por métodos com confiança minimizada que dependem de código e matemática.

É aqui que as Provas de Consenso entram como uma solução potencial. A abordagem depende de um provador que verifica o consenso do blockchain da cadeia de origem e usa provas de conhecimento zero para atestar a validade de uma transação antes de liberar fundos para um destino.

Isso é muito para descompactar, então vamos primeiro definir o que queremos dizer com verificação do consenso do blockchain.

Verificando o estado/'consenso' do blockchain de origem

Em sua essência, os blockchains são livros-razão que registram transações entre contas mantidas por nós que não confiam uns nos outros. Como existem muitos nós validando uma rede blockchain, deve-se chegar a um acordo entre esses validadores sobre qual bloco é o adicionado mais recentemente, ou seja, eles devem chegar a um “consenso” sobre o estado mais recente.

Fonte: Adaptado de Ethereum EVM ilustrado

A verificação confiável do consenso da cadeia de origem na cadeia de destino é fundamental para a ponte, porque se você puder verificar o bloco mais recente da cadeia de origem de uma maneira com confiança minimizada, você determinará a 'verdade' mais recente e terá o conforto de executar uma ação correspondente em a cadeia de destino.

Verificando o consenso da cadeia de origem para permitir a ponte

Para fazer a ponte, o protocolo precisa determinar se uma transação de “depósito” na cadeia de origem foi feita de forma válida. Na prática, isso envolve verificar duas coisas:

  1. Passo 1. Verificar o consenso da blockchain, ou seja, se o bloco que estamos consultando é uma parte válida do estado mundial da cadeia de origem; e
  2. Passo 2. Verifique se a transação específica, ou seja, a transação de 'depósito' está incluída no bloco (isso pode ser comprovado com uma prova de inclusão Merkle)

Após a verificação de ambos, a cadeia de destino pode liberar ativos para o usuário.

Voila, ativos transferidos.

Em teoria, isso parece simples, mas a parte complicada é o passo 1: não é tão fácil para um contrato inteligente em uma cadeia verificar o consenso de outra (normalmente Ethereum como a cadeia de origem).

Desafios atuais com a verificação do consenso para a ponte

O primeiro desafio a apontar é que diferentes blockchains têm diferentes mecanismos de consenso e provar o consenso em cada cadeia de origem requer um trabalho de engenharia muito específico para ser configurado. Isto significa que a etapa de verificação do consenso precisará ser personalizada para cada cadeia de origem. Por enquanto, vamos nos concentrar em provar o consenso do Ethereum, já que ele tem a maior parte do TVL e é a ponte típica de usuários L1.

Ethereum tem um grande conjunto de validadores com mais de 700.000, dos quais mais de 21.000 validadores votam em um bloco em um slot. Para atingir a finalidade, um bloco deve obter votos de ⅔ do conjunto de validadores, o que equivale aproximadamente a 450.000 votos de validadores. Verificar o consenso total significaria verificar a validade de 450 mil assinaturas.

Um método menos complicado de verificar o consenso do Ethereum envolve o ‘protocolo de cliente leve’. Este utiliza um comitê de sincronização (512 validadores selecionados aleatoriamente a cada 27,3 horas) para atestar que o último bloco proposto é válido. Aqui, verificar o consenso significa verificar a validade de 512 assinaturas agregadas.

Num contexto de ponte, um contrato inteligente na cadeia de destino pode utilizar o protocolo de cliente leve e atuar como um “cliente leve” na cadeia para verificar o estado mais recente da cadeia de origem e garantir que um “depósito” foi feito. Se satisfeito, o contrato inteligente libera fundos na cadeia de destino.

Verificando o consenso da cadeia de origem (no Ethereum) por meio do comitê de sincronização

Esta abordagem não é muito prática porque a verificação de 512 assinaturas agregadas diretamente em um contrato inteligente na cadeia é proibitivamente cara sem pré-compilação, uma vez que os validadores Ethereum usam assinaturas BLS.

A chave para tornar isso possível, então, é realizar a etapa de verificação fora da cadeia…

… e é aqui que entram as Provas de Consenso.

A solução: provas de consenso das assinaturas do comitê de sincronização

As provas de conhecimento zero surgiram como uma solução viável para ajudar os blockchains a retirar cálculos dispendiosos da cadeia e verificar o resultado na cadeia. Isso permite que um contrato inteligente de ponte na cadeia de destino mova cálculos dispendiosos (como a validação do consenso da cadeia de origem) para um provador de conhecimento zero fora da cadeia:

  1. O provador verificará a assinatura e gerará uma Prova de Consenso - ou seja, uma prova sucinta de conhecimento zero que atesta que o bloco é o próximo bloco válido, pois recebeu ⅔ dos atestados do comitê de sincronização. Esta prova verifica o consenso do blockchain de origem (Etapa 1 acima).
  2. Uma vez comprovada a validade de um bloco, podemos provar que uma transação fazia parte deste bloco (Etapa 2. acima) usando provas de inclusão de Merkle. (Alternativamente, uma prova de conhecimento zero pode ser gerada fora da cadeia e verificada por um contrato inteligente na cadeia de destino para o mesmo propósito).

A verificação com provas zk nos permite chegar mais perto de uma ponte com confiança minimizada

Após essas duas etapas, o contrato inteligente de destino pode liberar fundos com segurança na cadeia de destino.

Usar Provas de Consenso para verificar o estado do blockchain de origem é um passo importante em direção à ponte minimizada pela confiança, mas confiar no protocolo de cliente leve e nos validadores 512 tem algumas limitações (destacadas na tabela abaixo).

Limitações em confiar no comitê de sincronização para verificar o consenso

Como tal, algumas equipes estão trabalhando para provar o consenso total do Ethereum, o que é uma tarefa complexa e envolveria a verificação de 450.000 assinaturas no momento da redação deste artigo. Fazer isso em um circuito de conhecimento zero não é tarefa fácil – mas equipes como a Polyhedra Network e a Succinct se comprometeram a conseguir isso.

O que é melhor do que provar 512 assinaturas? 450.000 assinaturas!

A Polyhedra Network anunciou recentemente que conseguiu verificar 21.000 assinaturas de validadores que assinam um bloco em um determinado slot no ZK e está trabalhando para verificar todas as 450.000 assinaturas. Mais detalhes sobre sua abordagem e sistema de prova podem ser encontrados no artigo zkBridge.

Uma vez que possamos verificar o consenso completo do Ethereum em conhecimento zero, verificar o consenso de outras cadeias com conjuntos de validadores menores em conhecimento zero deve ser relativamente simples.

Riscos de usar provas de conhecimento zero

Embora a tecnologia de conhecimento zero e as provas de consenso resolvam a falibilidade humana, a discussão seria incompleta sem o reconhecimento de alguns dos riscos que surgem com seu uso na ponte.

A tecnologia de conhecimento zero está mudando rapidamente, à medida que novos algoritmos e sistemas continuam a surgir. Algumas destas implementações não são auditadas e podem conter vulnerabilidades, tornando-as suscetíveis a potenciais explorações quando surgem incentivos significativos. Além disso, mesmo após auditorias, esses sistemas criptográficos complexos podem conter vetores de ataque não descobertos que serão identificados e retificados ao longo do tempo, para atingir um estado maduro e resistente à batalha.

Além disso, resta saber em que volume de transações as despesas de geração e verificação de provas de conhecimento zero se tornam suficientemente amortizadas para serem consideradas rentáveis.

A construção das equipes

Para finalizar, destacaremos alguns dos players que estão construindo soluções neste espaço. Embora tenham abordagens e mercados de entrada ligeiramente diferentes, eles estão ultrapassando os limites do que a ponte baseada em zk pode fazer e anunciando o surgimento de uma interoperabilidade minimizada pela confiança.

Entre eles temos:

  1. Polyhedra Network que vem projetando e implementando o protocolo zkBridge e pode ser usado para atestar o estado de outra cadeia. zkBridge atualmente suporta ponte entre mais de 20 L1s e L2s, incluindo Ethereum, Polygon, Binance Smart Chain, Optimism, Arbitrum. A Polyhedra Network integrou provas baseadas em comitê de sincronização e provas baseadas em consenso completo com LayerZero para facilitar a ponte baseada em zk.
  2. Laboratórios sucintos que têm desenvolvido clientes leves baseados em zk para atestar o estado do Ethereum e facilitar a ponte entre Gnosis Chain e Ethereum como cadeias de origem e Gnosis, Arbitrum, Avax, Binance Smart Chain, Optimism e Polygon como cadeias de destino
  3. Electron Labs que está focado na construção de abordagens de ponte entre Ethereum e o ecossistema Cosmos
  4. O Polymer Labs visa estender a conectividade IBC em diferentes cadeias por meio do Polymer Hub, que reforça o transporte IBC ou a semântica TAO em cadeias conectadas. O Polymer Hub também permite um modelo de interoperabilidade de malha que melhorou as propriedades de escala em comparação com os modelos p2p ou hub and spoke.
  5. Lagrange Labs que usará seus próprios comitês estaduais (que são garantidos pelo re-staking de Eigenlayer) para atestar o estado dos blockchains. Eles estão almejando L2s otimistas (Arbitrum, Optimism, Base) e L1s principais como sua estratégia de entrada no mercado

Equipes trabalhando em Provas de Consenso

Conclusão

A interoperabilidade é uma parte essencial da infraestrutura blockchain. As primeiras etapas da ponte viram mecanismos de confiança sustentados por multisigs e comprometidos pela dependência de humanos. Agora estamos começando a entrar no domínio das pontes protegidas por criptografia e matemática, viabilizadas pela aplicação de provas de conhecimento zero no contexto de pontes.

Nesta parte, abordamos como as Provas de Consenso ajudam a resolver a ponte, verificando o consenso finalizado mais recente do blockchain de origem.

Esta tecnologia, no entanto, pode ser estendida ainda mais para verificar o consenso histórico, o que permite casos de uso mais flexíveis entre cadeias, além de apenas fazer uma ponte no momento. E é isso que exploraremos na Parte III de nossa série sobre Interoperabilidade: Provas de Armazenamento e os casos de uso que elas desbloqueiam.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Superscrypt]. Todos os direitos autorais pertencem ao autor original [Jacob Ko]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Start Now
Sign up and get a
$100
Voucher!