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:
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.
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:
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).
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.
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:
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.
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.
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:
Equipes trabalhando em Provas de Consenso
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.
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:
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.
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:
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).
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.
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:
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.
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.
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:
Equipes trabalhando em Provas de Consenso
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.