Na Parte I, abordamos o conceito de interoperabilidade blockchain e como ela só aumentará de importância à medida que surgirem L1s, L2s e appchains alternativos. A grande quantidade de capital movido em pontes torna-os alvos atraentes para hackers e em 2022 vimos 2,5 mil milhões de dólares perdidos para vulnerabilidades multisig e contratos inteligentes. De todas as explorações que ocorreram naquele ano, uns espantosos 69% estavam relacionados com pontes.
No centro destas perdas estavam as falhas na etapa de verificação da ponte, onde o mecanismo de confiança utilizado para verificar a validade da transação era sustentado por humanos & multisigs:
Dadas estas vulnerabilidades, a etapa de Verificação no processo de ponte é muito melhor servida por métodos minimizados pela confiança que dependem de código e matemática.
É aqui que entram as Provas de Consenso como uma solução potencial. A abordagem baseia-se num comprovador que verifica o consenso de 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 a verificação do consenso da blockchain.
No seu núcleo, as blockchains são livros que registram transações entre contas mantidas por nós que não confiam uns nos outros. Uma vez que existem muitos nós validando uma rede blockchain, deve ser alcançado um acordo entre esses validadores sobre qual bloco é o mais recentemente adicionado, ou seja, eles devem chegar a 'consenso' sobre o estado mais recente.
Fonte: Adaptado do Ethereum EVM ilustrado
Verificar de forma fiável o consenso da cadeia de origem na cadeia de destino é fundamental para a ponte porque se puder verificar o último bloco da cadeia de origem de uma forma minimizada pela confiança, determina a 'verdade' mais recente e tem o conforto de executar uma ação correspondente na cadeia de destino.
Verificar o consenso da cadeia de origem para permitir a ponte
Para fazer a ponte, o protocolo precisa determinar que uma transação de 'depósito' na cadeia de origem foi validamente feita. Na prática, isso envolve a verificação de duas coisas:
Após a verificação de ambos, a cadeia de destino pode liberar ativos para o utilizador.
Voila, ativos interativos.
Em teoria, parece simples, mas a parte complicada é o passo 1: não é tão fácil para um contrato inteligente numa cadeia verificar o consenso de outra (tipicamente Ethereum como a cadeia de origem).
O primeiro desafio a salientar é 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 configurar. Isto significa que a etapa de verificação do consenso terá de ser personalizada para cada cadeia de origem. Por enquanto, vamos nos concentrar em provar o consenso do Ethereum, dado que tem a maior parte do TVL e é a ponte típica dos utilizadores L1.
O Ethereum tem um grande conjunto de validadores de mais de 700.000, dos quais mais de 21.000 validadores votam num bloco num slot. Para atingir a finalidade, um bloco deve obter votos do ⅔ do conjunto de validadores, o que equivale aproximadamente a 450.000 votos do validador. Verificar o consenso total significaria verificar a validade de 450.000 assinaturas.
Um método menos complicado de verificar o consenso do Ethereum envolve o 'protocolo leve do cliente'. Isto 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 usar o protocolo do 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 estiver satisfeito, o contrato inteligente liberta fundos na cadeia de destino.
Verificar o consenso da cadeia de origem (no Ethereum) através do comité de sincronização
A chave para tornar isso possível, então, é tirar o passo 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 as blockchains a tirar cálculos dispendiosos fora da cadeia e verificar o resultado na cadeia. Isto permite que um contrato inteligente de ponte na cadeia de destino mova cálculos dispendiosos (como validar o consenso da cadeia de origem) para um comprovador de conhecimento zero fora da cadeia:
A verificação com zk proofs permite-nos aproximar-nos de uma ponte minimizada pela confiança
Após estas duas etapas, o contrato inteligente de destino pode libertar fundos com segurança na cadeia de destino.
Usar Provas de Consenso para verificar o estado da cadeia de blocos de origem é um passo importante para a ponte minimizada pela confiança, mas confiar nos validadores do protocolo de cliente leve & 512 tem algumas limitações (destacadas na tabela abaixo).
Limitações em depender do comité de sincronização para verificar o consenso
Como tal, algumas equipas estão a trabalhar para provar o consenso total do ethereum, o que é uma tarefa complexa e envolveria a verificação de 450.000 assinaturas no momento em que este artigo foi escrito. Fazer isso num circuito de conhecimento zero não é tarefa tarefa, mas equipas como a Polyhedra Network e a Succinct comprometeram-se 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 validadoras que assinam um bloco num determinado slot no ZK e estão a trabalhar para verificar todas as 450.000 assinaturas. Mais detalhes sobre a sua abordagem e sistema de prova podem ser encontrados no seu artigo ZKBridge.
Assim que pudermos 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 & As provas de consenso resolvam a falibilidade humana, a discussão seria incompleta sem reconhecer alguns dos riscos que surgem com a sua utilização em pontes.
A tecnologia de conhecimento zero está a mudar 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 corrigidos ao longo do tempo, para atingir um estado amadurecido e endurecido pela 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 tornam-se suficientemente amortizadas para serem consideradas rentáveis.
Para concluir, destacaremos alguns dos players que construem soluções neste espaço. Embora tenham abordagens ligeiramente diferentes e vão aos mercados, estão a ultrapassar 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:
Equipas a trabalhar em Provas de Consenso
A interoperabilidade é uma parte essencial da infraestrutura blockchain. Os primeiros innings da ponte viram mecanismos de confiança sustentados por multisigs e comprometidos pela dependência de humanos. Estamos agora a começar a avançar para o domínio das pontes a serem protegidas por criptografia e matemática viabilizadas pela aplicação de provas de conhecimento zero no contexto da ponte.
Nesta parte, cobrimos como as Provas de Consenso ajudam a resolver a ponte verificando o último consenso de blockchain de origem finalizada.
Esta tecnologia, no entanto, pode ser alargada ainda mais para verificar o consenso histórico que permite casos de utilização de cadeias cruzadas mais flexíveis para além da simples ponte no momento. E é isso que exploraremos na Parte III da nossa série sobre Interoperabilidade: Provas de armazenamento & os casos de uso que desbloqueiam.
Na Parte I, abordamos o conceito de interoperabilidade blockchain e como ela só aumentará de importância à medida que surgirem L1s, L2s e appchains alternativos. A grande quantidade de capital movido em pontes torna-os alvos atraentes para hackers e em 2022 vimos 2,5 mil milhões de dólares perdidos para vulnerabilidades multisig e contratos inteligentes. De todas as explorações que ocorreram naquele ano, uns espantosos 69% estavam relacionados com pontes.
No centro destas perdas estavam as falhas na etapa de verificação da ponte, onde o mecanismo de confiança utilizado para verificar a validade da transação era sustentado por humanos & multisigs:
Dadas estas vulnerabilidades, a etapa de Verificação no processo de ponte é muito melhor servida por métodos minimizados pela confiança que dependem de código e matemática.
É aqui que entram as Provas de Consenso como uma solução potencial. A abordagem baseia-se num comprovador que verifica o consenso de 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 a verificação do consenso da blockchain.
No seu núcleo, as blockchains são livros que registram transações entre contas mantidas por nós que não confiam uns nos outros. Uma vez que existem muitos nós validando uma rede blockchain, deve ser alcançado um acordo entre esses validadores sobre qual bloco é o mais recentemente adicionado, ou seja, eles devem chegar a 'consenso' sobre o estado mais recente.
Fonte: Adaptado do Ethereum EVM ilustrado
Verificar de forma fiável o consenso da cadeia de origem na cadeia de destino é fundamental para a ponte porque se puder verificar o último bloco da cadeia de origem de uma forma minimizada pela confiança, determina a 'verdade' mais recente e tem o conforto de executar uma ação correspondente na cadeia de destino.
Verificar o consenso da cadeia de origem para permitir a ponte
Para fazer a ponte, o protocolo precisa determinar que uma transação de 'depósito' na cadeia de origem foi validamente feita. Na prática, isso envolve a verificação de duas coisas:
Após a verificação de ambos, a cadeia de destino pode liberar ativos para o utilizador.
Voila, ativos interativos.
Em teoria, parece simples, mas a parte complicada é o passo 1: não é tão fácil para um contrato inteligente numa cadeia verificar o consenso de outra (tipicamente Ethereum como a cadeia de origem).
O primeiro desafio a salientar é 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 configurar. Isto significa que a etapa de verificação do consenso terá de ser personalizada para cada cadeia de origem. Por enquanto, vamos nos concentrar em provar o consenso do Ethereum, dado que tem a maior parte do TVL e é a ponte típica dos utilizadores L1.
O Ethereum tem um grande conjunto de validadores de mais de 700.000, dos quais mais de 21.000 validadores votam num bloco num slot. Para atingir a finalidade, um bloco deve obter votos do ⅔ do conjunto de validadores, o que equivale aproximadamente a 450.000 votos do validador. Verificar o consenso total significaria verificar a validade de 450.000 assinaturas.
Um método menos complicado de verificar o consenso do Ethereum envolve o 'protocolo leve do cliente'. Isto 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 usar o protocolo do 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 estiver satisfeito, o contrato inteligente liberta fundos na cadeia de destino.
Verificar o consenso da cadeia de origem (no Ethereum) através do comité de sincronização
A chave para tornar isso possível, então, é tirar o passo 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 as blockchains a tirar cálculos dispendiosos fora da cadeia e verificar o resultado na cadeia. Isto permite que um contrato inteligente de ponte na cadeia de destino mova cálculos dispendiosos (como validar o consenso da cadeia de origem) para um comprovador de conhecimento zero fora da cadeia:
A verificação com zk proofs permite-nos aproximar-nos de uma ponte minimizada pela confiança
Após estas duas etapas, o contrato inteligente de destino pode libertar fundos com segurança na cadeia de destino.
Usar Provas de Consenso para verificar o estado da cadeia de blocos de origem é um passo importante para a ponte minimizada pela confiança, mas confiar nos validadores do protocolo de cliente leve & 512 tem algumas limitações (destacadas na tabela abaixo).
Limitações em depender do comité de sincronização para verificar o consenso
Como tal, algumas equipas estão a trabalhar para provar o consenso total do ethereum, o que é uma tarefa complexa e envolveria a verificação de 450.000 assinaturas no momento em que este artigo foi escrito. Fazer isso num circuito de conhecimento zero não é tarefa tarefa, mas equipas como a Polyhedra Network e a Succinct comprometeram-se 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 validadoras que assinam um bloco num determinado slot no ZK e estão a trabalhar para verificar todas as 450.000 assinaturas. Mais detalhes sobre a sua abordagem e sistema de prova podem ser encontrados no seu artigo ZKBridge.
Assim que pudermos 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 & As provas de consenso resolvam a falibilidade humana, a discussão seria incompleta sem reconhecer alguns dos riscos que surgem com a sua utilização em pontes.
A tecnologia de conhecimento zero está a mudar 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 corrigidos ao longo do tempo, para atingir um estado amadurecido e endurecido pela 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 tornam-se suficientemente amortizadas para serem consideradas rentáveis.
Para concluir, destacaremos alguns dos players que construem soluções neste espaço. Embora tenham abordagens ligeiramente diferentes e vão aos mercados, estão a ultrapassar 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:
Equipas a trabalhar em Provas de Consenso
A interoperabilidade é uma parte essencial da infraestrutura blockchain. Os primeiros innings da ponte viram mecanismos de confiança sustentados por multisigs e comprometidos pela dependência de humanos. Estamos agora a começar a avançar para o domínio das pontes a serem protegidas por criptografia e matemática viabilizadas pela aplicação de provas de conhecimento zero no contexto da ponte.
Nesta parte, cobrimos como as Provas de Consenso ajudam a resolver a ponte verificando o último consenso de blockchain de origem finalizada.
Esta tecnologia, no entanto, pode ser alargada ainda mais para verificar o consenso histórico que permite casos de utilização de cadeias cruzadas mais flexíveis para além da simples ponte no momento. E é isso que exploraremos na Parte III da nossa série sobre Interoperabilidade: Provas de armazenamento & os casos de uso que desbloqueiam.