Explicação: O que considerar ao projetar pontes entre cadeias?

iniciantes1/14/2024, 5:15:18 PM
Este artigo explora alguns desenvolvimentos na tecnologia cross-chain.

Introdução

Desde o estabelecimento da indústria blockchain, surgiram incontáveis L1/L2s, e quase todas as cadeias públicas desenvolveram seu próprio ecossistema DeFi. Algumas pessoas interagem apenas em cadeias públicas específicas, enquanto mais pessoas esperam encontrar oportunidades de lucro, como comércio e mineração, em diferentes cadeias. Entre estes, a transferência de fundos entre cadeias tornou-se uma necessidade indispensável.

Além dos usuários comuns, muitas partes do projeto também precisam transferir fundos entre diferentes cadeias, orientar a liquidez em diferentes cadeias e obter “um dinheiro para usos múltiplos”.

No entanto, diferentes blockchains são sistemas de consenso isolados e não há como os fundos passarem diretamente de uma cadeia para outra. A essência dos fundos de cadeia cruzada é que a ponte de cadeia cruzada atua como uma contraparte pública, recebendo fundos dos usuários na cadeia de origem e enviando dinheiro aos usuários na cadeia de destino. (Emitir ativos mapeados ou liberar fundos para usuários do pool de liquidez reservado pela cadeia alvo).

Qual é a melhor maneira de realizar fundos entre cadeias? No início, as pessoas ainda confiavam nas bolsas centralizadas. Houve um ditado que dizia: “As exchanges centralizadas são as melhores pontes entre cadeias”. No entanto, a operação de “troca de participação” é muito complicada e as pessoas esperam ter uma cadeia pura. Desta forma, os fundos podem ser interligados de forma mais direta.

Além disso, em comparação com as exchanges centralizadas, as pontes entre cadeias podem completar mensagens mais gerais entre cadeias, não apenas limitadas a transferências de fundos. Por exemplo, se você usar um dApp de empréstimo entre cadeias para fornecer participação da cadeia A e emprestar ativos na cadeia B, será necessário usar mensagens entre cadeias.

Se você examinar a origem histórica da cadeia cruzada, ela poderá ser rastreada até os estágios iniciais do desenvolvimento da tecnologia blockchain. Naquela época, o surgimento de diferentes cadeias públicas fez com que as pessoas percebessem que o problema de interoperabilidade entre as cadeias tinha que ser resolvido, caso contrário surgiriam muitas ilhas de informação/fundos. Com o tempo, as pessoas propuseram diferentes tipos de métodos de cadeia cruzada, formando gradualmente o modelo geral de cadeia cruzada de hoje.

Abaixo explicaremos alguns desenvolvimentos na tecnologia cross-chain.

1. Metodologia

Encontre você mesmo as contrapartes e pense nisso: qual é o método cross-chain mais intuitivo? Suponha que você tenha 100 USDT na cadeia A e queira transferi-los para a cadeia B. Acontece que há uma pessoa que tem 100 USDT na cadeia B e deseja transferir USDT para a cadeia A. Vocês dois viram que isso era certo, então você se deu bem imediatamente. Mas quando você transferiu o USDT para o endereço da outra parte na cadeia A, ele se arrependeu e não transferiu o USDT da cadeia B para o seu endereço. Portanto, este modelo de negociação P2P não é muito confiável. Em primeiro lugar, a outra parte pode quebrar o contrato, fazendo com que você sofra prejuízos sem qualquer garantia; em segundo lugar, esta contraparte não é fácil de encontrar, e você pode ter que esperar muito tempo para encontrar uma que corresponda apenas ao valor que deseja cruzar, mas na direção da cadeia cruzada. Pelo contrário, os usuários podem nem conseguir esperar para tal contraparte por uma eternidade.

2. Serviços Notariais

2.1 Notário individual

Então pensamos que, como a outra parte pode violar o contrato, posso encontrar um terceiro de confiança para realizar as transações? Eu dou a ele o dinheiro primeiro na cadeia de origem e então ele promete transferir o dinheiro para mim na cadeia de destino. Por exemplo, esta pessoa tem ativos tanto na cadeia A como na cadeia B e então garante que, desde que receba 100 USDT de mim na cadeia A, transferirá 100 USDT para mim da cadeia B.

Isso é muito melhor do que a primeira troca de ativos entre cadeias P2P, porque existe uma contraparte pública confiável, que tem uma coisa mágica chamada “liquidez” em suas mãos, e você pode negociar com ela a qualquer momento.

Em outras palavras, sua transação com ele se torna uma transação “ponto-a-pool” em vez de uma transação “ponto-a-ponto”. Mas você ainda se sente desconfortável. Se você negociar 100 USDT com ele, tudo bem. E se você quiser negociar 1 milhão de USDT com ele? Mesmo tendo uma reputação relativamente boa, ele pegou o dinheiro e fugiu.

Afinal, este notário introduz uma espécie de centralização, que ainda não é o método Trustless cross-chain que desejamos.

2.2 Múltiplos notários (MultiSig)

E se este notário não for uma pessoa, mas um grupo de pessoas? Podemos estabelecer uma conta cogerenciada e vários assinantes gerenciam a conta em conjunto. Eles têm que assinar uma mensagem. Somente quando o número de assinaturas atingir um limite (geralmente 2/3) os fundos serão transferidos.

Neste caso, se um pequeno número deles (não mais que 1/3) tiver uma ideia errada e quiser receber dinheiro de mim na cadeia de origem, mas não quiser enviar dinheiro para mim na cadeia de destino, ou estão offline, não importa. Outro notário honesto ainda assinaria e transferiria o dinheiro que me era devido.

Esta solução é mais confiável, reduz o risco de centralização e é mais segura. Por exemplo, se houver 20 notários respeitáveis no total, a probabilidade de agirem de forma errada ao mesmo tempo ainda é muito baixa. (Isso não inclui situações como Multichain, onde 20 nós são gerenciados por uma pessoa, ou situações como Axie cross-chain bridge, onde hackers roubaram 2/3 das chaves de assinatura do notário.)

2.3 Múltiplos Tabeliões Públicos (MPC)

No entanto, o método de gerenciamento de contas com múltiplas assinaturas também apresenta muitos inconvenientes.

As assinaturas múltiplas tornam as regras de assinatura mais facilmente expostas. Se for um esquema de assinatura 5/7, o código do contrato inteligente da carteira com múltiplas assinaturas revelará quantos assinantes existem, e os hackers podem procurar esses signatários de maneira direcionada e aguardar oportunidades de roubar a chave privada.

A assinatura múltipla requer adaptação a diferentes cadeias públicas. Por exemplo, algumas cadeias públicas não suportam contratos inteligentes, por isso é necessário usar as primitivas criptográficas especializadas da cadeia para implementar contas com múltiplas assinaturas. Se isso não for compatível, sua carteira com múltiplas assinaturas não poderá funcionar.

O signatário de múltiplas assinaturas não pode ser alterado depois que o signatário for decidido. Por exemplo, se você quiser alterar o esquema de assinatura 5/7 para o esquema 6/8, ou se quiser alterar o signatário, será necessário reimplantar o contrato de assinatura múltipla e transferir os fundos para o novo contrato de assinatura múltipla .

A primeira solução cross-chain para derivativos BTC, tBTC, usava o método de assinaturas múltiplas, que foi eliminado por ser coxo e difícil de usar. A maioria das pontes de cadeia cruzada atuais adota o método MPC mais avançado.

O nome completo da Multi-Party Computation é Multi-Party-Computation (Multi-Party Secure Computation), que é uma tecnologia de fragmentação de chave privada. Uma conta com múltiplas assinaturas gerencia uma conta com múltiplas chaves privadas, enquanto uma conta MPC gerencia uma conta com uma chave privada. A chave privada é dividida em vários fragmentos. Vários signatários possuem, cada um, um fragmento de chave privada. Quando o número de assinantes é Uma assinatura completa só pode ser sintetizada quando o limite for atingido, e a chave privada completa não será exposta durante o processo de assinatura.As contas MPC têm as seguintes vantagens: são mais confidenciais do que as carteiras comuns com várias assinaturas . Quando uma assinatura é necessária, por exemplo, 5/7 fragmentos de chave privada são usados para assinar cada um, e múltiplas subassinaturas são mescladas para formar uma assinatura legal final. Dessa forma, o que você vê na cadeia é uma assinatura única e comum. Você não pode dizer se vem da conta MPC, muito menos quem é o signatário por trás dela, nem o número de fragmentos de chave privada e as regras de assinatura específicas. Ele pode se adaptar melhor à maioria das cadeias públicas do que carteiras com múltiplas assinaturas. MPC é uma tecnologia de assinatura e não tem nada a ver com a cadeia. Uma conta MPC é uma conta comum. Independentemente de uma cadeia pública apoiar contratos inteligentes, uma conta cogerida pode ser construída através da tecnologia MPC.O mecanismo de assinatura de substituição do MPC é mais flexível. Ele pode suportar ajustes de regras de assinatura mais flexíveis, como alterar o número de fragmentos de chave privada e limites de assinatura a qualquer momento, e você também pode alterar o assinante a qualquer momento. Você só precisa compartilhar novamente a chave privada.

3. Outras medidas de segurança

3.1 Separação de quente e frio

Depois que a conta de custódia do notário recebeu meus 100 USDT na cadeia A, ela transferiu 100 USDT para meu endereço na cadeia B. Qual deve ser o processo desencadeador para esse comportamento?

Suponha que cada notário tenha uma máquina monitorando as transações na cadeia A. Quando descobriram que transferi 100 USDT para a conta de custódia da ponte entre cadeias, esta transação declarou que eu esperava ser nomeado na cadeia B. Receba esses USDT para endereço do usuário2.

Neste momento, os notários assinaram e transferiram conjuntamente 100 USDT na conta ponte entre cadeias na cadeia B para o usuário. Este processo deve ser escrito em código e executado automaticamente, caso contrário, o notário teria que estar online em tempo real e operar imediatamente após receber o pedido, o que é muito irrealista.

Este programa automatizado conterá várias partes

  1. Programa de monitoramento: Responsável por monitorar as transações na cadeia de origem. Para filtrar transações irrelevantes ou inválidas, esta etapa pode realizar alguma verificação básica de formato;

  2. Procedimento de verificação: Incluirá o cliente do nó leve (que também pode ser um nó completo) da blockchain suportada, responsável por verificar se uma transação na cadeia de origem que interage com o contrato da ponte entre cadeias é empacotada em um bloco e colocada na corrente. ;

  3. Procedimento de assinatura: Responsável por assinar e iniciar transações de transferência para usuários na cadeia alvo.

Mas a automação também traz um problema, ou seja, o programa automatizado pode ser atacado e manipulado por hackers. Portanto, para controlar os riscos, as pontes entre cadeias tomarão medidas para separar o quente do frio. O programa automatizado controla a tecla de atalho e o valor da transferência é limitado. Para grandes transferências, o notário deve usar a chave fria para assinar manualmente. As regras para separação a quente e a frio podem ser implementadas na conta MPC.

3.2 Isolamento de riscos

Se houver um bug, você não quer lidar com tudo em um único incidente? Portanto, é necessário isolar o pool de capital e utilizar múltiplas contas de custódia para administrar fundos de liquidez. Por exemplo, de acordo com o isolamento entre diferentes cadeias públicas, A e B, B e C, e C e D são todos grupos de capitais independentes.

3.3 ETE

Os programas automatizados de monitoramento e assinatura executados pelo notário podem ser executados em dispositivos TEE, o que pode aumentar muito a dificuldade de ataques de hackers.TEE significa Trusted Execute Environment, que é um ambiente de computação executado em um determinado dispositivo isolado do principal sistema operacional, como um enclave.

Esse isolamento é imposto por hardware com segurança extremamente alta, para que os TEEs possam executar aplicações com requisitos de alta segurança, como gerenciamento de chaves de criptografia, autenticação biométrica, processamento seguro de pagamentos, etc.

3.4 PoA vai para a esquerda, PoS vai para a direita

Para tornar as pontes entre cadeias mais seguras, existem duas direções na seleção de notários:

Uma é escolher, tanto quanto possível, grandes empresas e instituições conhecidas e com boa reputação. Para estas instituições, o custo de praticar o mal é extremamente elevado e podem perder anos de boa vontade. Além disso, tente mantê-los tão diversificados geograficamente quanto possível (evitando concentração na mesma jurisdição).

Por exemplo, o projeto de ponte entre cadeias Wormhole escolheu este modelo. Seus 19 nós são apoiados por grandes instituições conhecidas, de grande porte e fundos fortes. Este é o método PoA.

Outra maneira é admitir notários sem permissão, mas exigir que eles estaquem. Se eles se comportarem mal, seus fundos apostados serão reduzidos. É assim que o PoS funciona. Isto é o que ZetaChain usa.

Qual dos dois métodos é melhor e qual é pior, é difícil tirar uma conclusão arbitrária diretamente. Depende do desempenho das partes do projeto da ponte entre cadeias em suas respectivas direções.

Quer seja PoA ou PoS, você pode transformar a ponte entre cadeias diretamente em uma cadeia pública. Cada nó executa o mesmo programa e todas as solicitações e processos de processamento entre cadeias serão registrados nesta cadeia. A própria cadeia também pode hospedar aplicações, tornando-se assim um centro ecológico.

3.5 Observador

Outra forma de aumentar a segurança é definir uma função de observador. Esta função é responsável por monitorar o comportamento entre cadeias e, se forem descobertos problemas, relatar transações na cadeia e abortadas. Como os observadores precisam de um período de janela para reagir, o tempo de chegada das transferências entre cadeias pode ser atrasado. Portanto, os observadores só intervirão se os usuários aceitarem atrasos na transferência para transações de grande valor ou operações sensíveis entre cadeias.

Outras soluções cross-chainHash lockVolte ao primeiro método mencionado neste artigo: P2P procurando contrapartes para troca de ativos cross-chain. Se tivermos medo de que a contraparte não pague o empréstimo, podemos criar um mecanismo. Quando alguém desiste, a outra parte pode recuperar o dinheiro e devolvê-lo intacto. Este é o bloqueio de hash, que usa habilmente bloqueios de hash e bloqueios de tempo. Ele força o destinatário dos fundos a confirmar o pagamento antes do prazo e gerar um comprovante de recebimento na cadeia de origem. Com este comprovante de recebimento, o pagador poderá obter os ativos equivalentes do destinatário na cadeia alvo. Caso contrário, ambas as partes irão. Todos os fundos serão devolvidos pela via original.

No entanto, este método só pode trocar fundos e não pode completar a transferência geral de informações entre cadeias. Mesmo do ponto de vista da transferência de fundos entre cadeias, a experiência do utilizador de hash time locks é muito má: se a flutuação dos preços da moeda for desfavorável à contraparte (fornecedor de liquidez), ela pode optar racionalmente por não concluir a transação; completar Para uma troca entre cadeias, tanto o usuário quanto a contraparte devem assinar duas vezes. portanto, como uma solução entre cadeias, os bloqueios de tempo de hash foram eliminados. As primeiras pontes de cadeia cruzada (como cBridge e Connext) que usavam essa solução mudaram seus métodos. Cliente leve na cadeiaEste método consiste em implantar diretamente o contrato do cliente leve da cadeia de origem na cadeia de destino. Se você implantar um contrato em uma cadeia, todos os nós da cadeia executarão o código do contrato que você implantou.

Portanto, a solução de cliente leve on-chain permite que a cadeia alvo verifique diretamente as transações da cadeia de origem. Este método é extremamente seguro, mas também é o mais caro. O custo se reflete nos seguintes aspectos: O contrato do cliente leve da cadeia alvo precisa receber e verificar o novo cabeçalho do bloco da cadeia fonte em tempo real. Este processo consome muito gás. Mesmo que ZK seja usado para obter uma prova concisa, o consumo de gás para verificar uma prova ZK não será inferior a 400.000 Gás (EVM, por exemplo). No esquema MPC, tudo o que é necessário para ser verificado na cadeia é uma assinatura , e o consumo de gás é de pouco mais de 20.000, uma diferença de 20 vezes! Você usaria uma ponte mais segura, mas 20 vezes mais cara?

A quantidade de trabalho necessária para desenvolver contratos leves com clientes é enorme. Para tornar a ponte entre cadeias compatível com cadeias mais heterogêneas, você precisa implementar os contratos leves de clientes de outras cadeias em ambientes de desenvolvimento completamente diferentes de cadeias diferentes, o que é um grande desafio para os desenvolvedores. Isto leva a uma maior probabilidade de erros na redação do contrato, ou seja, a segurança de uma ponte de cliente leve é apenas no nível teórico, mas em termos de prática de engenharia é muito insegura. Para reduzir a quantidade de trabalho de desenvolvimento, uma solução viável é introduzir uma cadeia de retransmissão e permitir que todas as cadeias estabeleçam contratos leves de clientes com esta cadeia de retransmissão. Isso pode de fato reduzir a carga de trabalho de C(n,2) para n, mas ainda não muito pequena. A transferência direta entre cadeias original da cadeia de origem para a cadeia de destino tornou-se uma transferência de segunda ordem da cadeia de origem → cadeia de retransmissão → cadeia de destino, o que causará consumo adicional de gás e consumo de tempo.

Portanto, a solução técnica do cliente leve atualmente não pode ser usada para construir uma ponte de cadeia cruzada mais universal.

Fim do jogo

Em primeiro lugar, diferentes cadeias públicas têm abordagens diferentes e recursos diferentes para apoiá-las. Enquanto não admitirem a derrota, o ecossistema existirá. Mesmo que o desenvolvimento não seja muito bom no curto prazo, um dia poderá ser melhorado e voltará à vida. O problema de uma infra-estrutura subjacente como essa é ver quem consegue persistir por mais tempo e quem consegue se ajustar ao mercado rapidamente.

Bitcoin e Ethereum não conseguem resolver todos os cenários de aplicação, ou em um determinado segmento, sempre tem gente que não gosta do primeiro lugar, então eles criam uma nova roda, então o futuro será multi-chain. No futuro, a camada inferior não será mais uma corrente, portanto o futuro deverá ser multiecológico. Como transferir fundos e mensagens entre múltiplas ecologias requer tecnologia intercadeia/interecológica!

Com o que os usuários estão mais preocupados quando se trata de cross-chain? Nada mais do que os seguintes pontos:

Velocidade: Quanto tempo leva para uma operação cross-chain ser concluída?

Taxa: quanto preciso pagar por uma operação cross-chain

Segurança: A ponte entre cadeias é segura e os fundos serão perdidos?

Liquidez: Existe liquidez suficiente para apoiar a minha negociação e um impacto de preço aceitável?

Escopo de conexão: quantas cadeias você suporta? Vocês oferecem suporte às cadeias que preciso usar em operações entre cadeias?

Experiência: A operação entre cadeias é conveniente, por exemplo, se suporta pagamento de gás, se a estimativa de custo é precisa, se suporta consulta de progresso e visualização do navegador, se ocorrem falhas com frequência, como lidar com falhas, etc.?

Vamos primeiro dar uma visão geral das características de alguns projetos a partir de três perspectivas relativamente claras: segurança, custo e alcance de conexão.


Clique no link para visualizar a tabela limpa (a tabela é atualizada constantemente):

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Para explicar completamente a ponte entre cadeias, há muitos detalhes dimensionais que precisam ser discutidos, como todas as dimensões e análise de dados na tabela acima. Então, com quais fatores você se preocupa ao cruzar correntes? Quais pontes de cadeia cruzada você usa com frequência? Em quais aspectos você acha que as pontes entre cadeias devem se concentrar para otimização? Se você tiver suas idéias, sinta-se à vontade para se comunicar com o autor.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [极客Web3]. Todos os direitos autorais pertencem ao autor original [0xKooKoo]. 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.

Explicação: O que considerar ao projetar pontes entre cadeias?

iniciantes1/14/2024, 5:15:18 PM
Este artigo explora alguns desenvolvimentos na tecnologia cross-chain.

Introdução

Desde o estabelecimento da indústria blockchain, surgiram incontáveis L1/L2s, e quase todas as cadeias públicas desenvolveram seu próprio ecossistema DeFi. Algumas pessoas interagem apenas em cadeias públicas específicas, enquanto mais pessoas esperam encontrar oportunidades de lucro, como comércio e mineração, em diferentes cadeias. Entre estes, a transferência de fundos entre cadeias tornou-se uma necessidade indispensável.

Além dos usuários comuns, muitas partes do projeto também precisam transferir fundos entre diferentes cadeias, orientar a liquidez em diferentes cadeias e obter “um dinheiro para usos múltiplos”.

No entanto, diferentes blockchains são sistemas de consenso isolados e não há como os fundos passarem diretamente de uma cadeia para outra. A essência dos fundos de cadeia cruzada é que a ponte de cadeia cruzada atua como uma contraparte pública, recebendo fundos dos usuários na cadeia de origem e enviando dinheiro aos usuários na cadeia de destino. (Emitir ativos mapeados ou liberar fundos para usuários do pool de liquidez reservado pela cadeia alvo).

Qual é a melhor maneira de realizar fundos entre cadeias? No início, as pessoas ainda confiavam nas bolsas centralizadas. Houve um ditado que dizia: “As exchanges centralizadas são as melhores pontes entre cadeias”. No entanto, a operação de “troca de participação” é muito complicada e as pessoas esperam ter uma cadeia pura. Desta forma, os fundos podem ser interligados de forma mais direta.

Além disso, em comparação com as exchanges centralizadas, as pontes entre cadeias podem completar mensagens mais gerais entre cadeias, não apenas limitadas a transferências de fundos. Por exemplo, se você usar um dApp de empréstimo entre cadeias para fornecer participação da cadeia A e emprestar ativos na cadeia B, será necessário usar mensagens entre cadeias.

Se você examinar a origem histórica da cadeia cruzada, ela poderá ser rastreada até os estágios iniciais do desenvolvimento da tecnologia blockchain. Naquela época, o surgimento de diferentes cadeias públicas fez com que as pessoas percebessem que o problema de interoperabilidade entre as cadeias tinha que ser resolvido, caso contrário surgiriam muitas ilhas de informação/fundos. Com o tempo, as pessoas propuseram diferentes tipos de métodos de cadeia cruzada, formando gradualmente o modelo geral de cadeia cruzada de hoje.

Abaixo explicaremos alguns desenvolvimentos na tecnologia cross-chain.

1. Metodologia

Encontre você mesmo as contrapartes e pense nisso: qual é o método cross-chain mais intuitivo? Suponha que você tenha 100 USDT na cadeia A e queira transferi-los para a cadeia B. Acontece que há uma pessoa que tem 100 USDT na cadeia B e deseja transferir USDT para a cadeia A. Vocês dois viram que isso era certo, então você se deu bem imediatamente. Mas quando você transferiu o USDT para o endereço da outra parte na cadeia A, ele se arrependeu e não transferiu o USDT da cadeia B para o seu endereço. Portanto, este modelo de negociação P2P não é muito confiável. Em primeiro lugar, a outra parte pode quebrar o contrato, fazendo com que você sofra prejuízos sem qualquer garantia; em segundo lugar, esta contraparte não é fácil de encontrar, e você pode ter que esperar muito tempo para encontrar uma que corresponda apenas ao valor que deseja cruzar, mas na direção da cadeia cruzada. Pelo contrário, os usuários podem nem conseguir esperar para tal contraparte por uma eternidade.

2. Serviços Notariais

2.1 Notário individual

Então pensamos que, como a outra parte pode violar o contrato, posso encontrar um terceiro de confiança para realizar as transações? Eu dou a ele o dinheiro primeiro na cadeia de origem e então ele promete transferir o dinheiro para mim na cadeia de destino. Por exemplo, esta pessoa tem ativos tanto na cadeia A como na cadeia B e então garante que, desde que receba 100 USDT de mim na cadeia A, transferirá 100 USDT para mim da cadeia B.

Isso é muito melhor do que a primeira troca de ativos entre cadeias P2P, porque existe uma contraparte pública confiável, que tem uma coisa mágica chamada “liquidez” em suas mãos, e você pode negociar com ela a qualquer momento.

Em outras palavras, sua transação com ele se torna uma transação “ponto-a-pool” em vez de uma transação “ponto-a-ponto”. Mas você ainda se sente desconfortável. Se você negociar 100 USDT com ele, tudo bem. E se você quiser negociar 1 milhão de USDT com ele? Mesmo tendo uma reputação relativamente boa, ele pegou o dinheiro e fugiu.

Afinal, este notário introduz uma espécie de centralização, que ainda não é o método Trustless cross-chain que desejamos.

2.2 Múltiplos notários (MultiSig)

E se este notário não for uma pessoa, mas um grupo de pessoas? Podemos estabelecer uma conta cogerenciada e vários assinantes gerenciam a conta em conjunto. Eles têm que assinar uma mensagem. Somente quando o número de assinaturas atingir um limite (geralmente 2/3) os fundos serão transferidos.

Neste caso, se um pequeno número deles (não mais que 1/3) tiver uma ideia errada e quiser receber dinheiro de mim na cadeia de origem, mas não quiser enviar dinheiro para mim na cadeia de destino, ou estão offline, não importa. Outro notário honesto ainda assinaria e transferiria o dinheiro que me era devido.

Esta solução é mais confiável, reduz o risco de centralização e é mais segura. Por exemplo, se houver 20 notários respeitáveis no total, a probabilidade de agirem de forma errada ao mesmo tempo ainda é muito baixa. (Isso não inclui situações como Multichain, onde 20 nós são gerenciados por uma pessoa, ou situações como Axie cross-chain bridge, onde hackers roubaram 2/3 das chaves de assinatura do notário.)

2.3 Múltiplos Tabeliões Públicos (MPC)

No entanto, o método de gerenciamento de contas com múltiplas assinaturas também apresenta muitos inconvenientes.

As assinaturas múltiplas tornam as regras de assinatura mais facilmente expostas. Se for um esquema de assinatura 5/7, o código do contrato inteligente da carteira com múltiplas assinaturas revelará quantos assinantes existem, e os hackers podem procurar esses signatários de maneira direcionada e aguardar oportunidades de roubar a chave privada.

A assinatura múltipla requer adaptação a diferentes cadeias públicas. Por exemplo, algumas cadeias públicas não suportam contratos inteligentes, por isso é necessário usar as primitivas criptográficas especializadas da cadeia para implementar contas com múltiplas assinaturas. Se isso não for compatível, sua carteira com múltiplas assinaturas não poderá funcionar.

O signatário de múltiplas assinaturas não pode ser alterado depois que o signatário for decidido. Por exemplo, se você quiser alterar o esquema de assinatura 5/7 para o esquema 6/8, ou se quiser alterar o signatário, será necessário reimplantar o contrato de assinatura múltipla e transferir os fundos para o novo contrato de assinatura múltipla .

A primeira solução cross-chain para derivativos BTC, tBTC, usava o método de assinaturas múltiplas, que foi eliminado por ser coxo e difícil de usar. A maioria das pontes de cadeia cruzada atuais adota o método MPC mais avançado.

O nome completo da Multi-Party Computation é Multi-Party-Computation (Multi-Party Secure Computation), que é uma tecnologia de fragmentação de chave privada. Uma conta com múltiplas assinaturas gerencia uma conta com múltiplas chaves privadas, enquanto uma conta MPC gerencia uma conta com uma chave privada. A chave privada é dividida em vários fragmentos. Vários signatários possuem, cada um, um fragmento de chave privada. Quando o número de assinantes é Uma assinatura completa só pode ser sintetizada quando o limite for atingido, e a chave privada completa não será exposta durante o processo de assinatura.As contas MPC têm as seguintes vantagens: são mais confidenciais do que as carteiras comuns com várias assinaturas . Quando uma assinatura é necessária, por exemplo, 5/7 fragmentos de chave privada são usados para assinar cada um, e múltiplas subassinaturas são mescladas para formar uma assinatura legal final. Dessa forma, o que você vê na cadeia é uma assinatura única e comum. Você não pode dizer se vem da conta MPC, muito menos quem é o signatário por trás dela, nem o número de fragmentos de chave privada e as regras de assinatura específicas. Ele pode se adaptar melhor à maioria das cadeias públicas do que carteiras com múltiplas assinaturas. MPC é uma tecnologia de assinatura e não tem nada a ver com a cadeia. Uma conta MPC é uma conta comum. Independentemente de uma cadeia pública apoiar contratos inteligentes, uma conta cogerida pode ser construída através da tecnologia MPC.O mecanismo de assinatura de substituição do MPC é mais flexível. Ele pode suportar ajustes de regras de assinatura mais flexíveis, como alterar o número de fragmentos de chave privada e limites de assinatura a qualquer momento, e você também pode alterar o assinante a qualquer momento. Você só precisa compartilhar novamente a chave privada.

3. Outras medidas de segurança

3.1 Separação de quente e frio

Depois que a conta de custódia do notário recebeu meus 100 USDT na cadeia A, ela transferiu 100 USDT para meu endereço na cadeia B. Qual deve ser o processo desencadeador para esse comportamento?

Suponha que cada notário tenha uma máquina monitorando as transações na cadeia A. Quando descobriram que transferi 100 USDT para a conta de custódia da ponte entre cadeias, esta transação declarou que eu esperava ser nomeado na cadeia B. Receba esses USDT para endereço do usuário2.

Neste momento, os notários assinaram e transferiram conjuntamente 100 USDT na conta ponte entre cadeias na cadeia B para o usuário. Este processo deve ser escrito em código e executado automaticamente, caso contrário, o notário teria que estar online em tempo real e operar imediatamente após receber o pedido, o que é muito irrealista.

Este programa automatizado conterá várias partes

  1. Programa de monitoramento: Responsável por monitorar as transações na cadeia de origem. Para filtrar transações irrelevantes ou inválidas, esta etapa pode realizar alguma verificação básica de formato;

  2. Procedimento de verificação: Incluirá o cliente do nó leve (que também pode ser um nó completo) da blockchain suportada, responsável por verificar se uma transação na cadeia de origem que interage com o contrato da ponte entre cadeias é empacotada em um bloco e colocada na corrente. ;

  3. Procedimento de assinatura: Responsável por assinar e iniciar transações de transferência para usuários na cadeia alvo.

Mas a automação também traz um problema, ou seja, o programa automatizado pode ser atacado e manipulado por hackers. Portanto, para controlar os riscos, as pontes entre cadeias tomarão medidas para separar o quente do frio. O programa automatizado controla a tecla de atalho e o valor da transferência é limitado. Para grandes transferências, o notário deve usar a chave fria para assinar manualmente. As regras para separação a quente e a frio podem ser implementadas na conta MPC.

3.2 Isolamento de riscos

Se houver um bug, você não quer lidar com tudo em um único incidente? Portanto, é necessário isolar o pool de capital e utilizar múltiplas contas de custódia para administrar fundos de liquidez. Por exemplo, de acordo com o isolamento entre diferentes cadeias públicas, A e B, B e C, e C e D são todos grupos de capitais independentes.

3.3 ETE

Os programas automatizados de monitoramento e assinatura executados pelo notário podem ser executados em dispositivos TEE, o que pode aumentar muito a dificuldade de ataques de hackers.TEE significa Trusted Execute Environment, que é um ambiente de computação executado em um determinado dispositivo isolado do principal sistema operacional, como um enclave.

Esse isolamento é imposto por hardware com segurança extremamente alta, para que os TEEs possam executar aplicações com requisitos de alta segurança, como gerenciamento de chaves de criptografia, autenticação biométrica, processamento seguro de pagamentos, etc.

3.4 PoA vai para a esquerda, PoS vai para a direita

Para tornar as pontes entre cadeias mais seguras, existem duas direções na seleção de notários:

Uma é escolher, tanto quanto possível, grandes empresas e instituições conhecidas e com boa reputação. Para estas instituições, o custo de praticar o mal é extremamente elevado e podem perder anos de boa vontade. Além disso, tente mantê-los tão diversificados geograficamente quanto possível (evitando concentração na mesma jurisdição).

Por exemplo, o projeto de ponte entre cadeias Wormhole escolheu este modelo. Seus 19 nós são apoiados por grandes instituições conhecidas, de grande porte e fundos fortes. Este é o método PoA.

Outra maneira é admitir notários sem permissão, mas exigir que eles estaquem. Se eles se comportarem mal, seus fundos apostados serão reduzidos. É assim que o PoS funciona. Isto é o que ZetaChain usa.

Qual dos dois métodos é melhor e qual é pior, é difícil tirar uma conclusão arbitrária diretamente. Depende do desempenho das partes do projeto da ponte entre cadeias em suas respectivas direções.

Quer seja PoA ou PoS, você pode transformar a ponte entre cadeias diretamente em uma cadeia pública. Cada nó executa o mesmo programa e todas as solicitações e processos de processamento entre cadeias serão registrados nesta cadeia. A própria cadeia também pode hospedar aplicações, tornando-se assim um centro ecológico.

3.5 Observador

Outra forma de aumentar a segurança é definir uma função de observador. Esta função é responsável por monitorar o comportamento entre cadeias e, se forem descobertos problemas, relatar transações na cadeia e abortadas. Como os observadores precisam de um período de janela para reagir, o tempo de chegada das transferências entre cadeias pode ser atrasado. Portanto, os observadores só intervirão se os usuários aceitarem atrasos na transferência para transações de grande valor ou operações sensíveis entre cadeias.

Outras soluções cross-chainHash lockVolte ao primeiro método mencionado neste artigo: P2P procurando contrapartes para troca de ativos cross-chain. Se tivermos medo de que a contraparte não pague o empréstimo, podemos criar um mecanismo. Quando alguém desiste, a outra parte pode recuperar o dinheiro e devolvê-lo intacto. Este é o bloqueio de hash, que usa habilmente bloqueios de hash e bloqueios de tempo. Ele força o destinatário dos fundos a confirmar o pagamento antes do prazo e gerar um comprovante de recebimento na cadeia de origem. Com este comprovante de recebimento, o pagador poderá obter os ativos equivalentes do destinatário na cadeia alvo. Caso contrário, ambas as partes irão. Todos os fundos serão devolvidos pela via original.

No entanto, este método só pode trocar fundos e não pode completar a transferência geral de informações entre cadeias. Mesmo do ponto de vista da transferência de fundos entre cadeias, a experiência do utilizador de hash time locks é muito má: se a flutuação dos preços da moeda for desfavorável à contraparte (fornecedor de liquidez), ela pode optar racionalmente por não concluir a transação; completar Para uma troca entre cadeias, tanto o usuário quanto a contraparte devem assinar duas vezes. portanto, como uma solução entre cadeias, os bloqueios de tempo de hash foram eliminados. As primeiras pontes de cadeia cruzada (como cBridge e Connext) que usavam essa solução mudaram seus métodos. Cliente leve na cadeiaEste método consiste em implantar diretamente o contrato do cliente leve da cadeia de origem na cadeia de destino. Se você implantar um contrato em uma cadeia, todos os nós da cadeia executarão o código do contrato que você implantou.

Portanto, a solução de cliente leve on-chain permite que a cadeia alvo verifique diretamente as transações da cadeia de origem. Este método é extremamente seguro, mas também é o mais caro. O custo se reflete nos seguintes aspectos: O contrato do cliente leve da cadeia alvo precisa receber e verificar o novo cabeçalho do bloco da cadeia fonte em tempo real. Este processo consome muito gás. Mesmo que ZK seja usado para obter uma prova concisa, o consumo de gás para verificar uma prova ZK não será inferior a 400.000 Gás (EVM, por exemplo). No esquema MPC, tudo o que é necessário para ser verificado na cadeia é uma assinatura , e o consumo de gás é de pouco mais de 20.000, uma diferença de 20 vezes! Você usaria uma ponte mais segura, mas 20 vezes mais cara?

A quantidade de trabalho necessária para desenvolver contratos leves com clientes é enorme. Para tornar a ponte entre cadeias compatível com cadeias mais heterogêneas, você precisa implementar os contratos leves de clientes de outras cadeias em ambientes de desenvolvimento completamente diferentes de cadeias diferentes, o que é um grande desafio para os desenvolvedores. Isto leva a uma maior probabilidade de erros na redação do contrato, ou seja, a segurança de uma ponte de cliente leve é apenas no nível teórico, mas em termos de prática de engenharia é muito insegura. Para reduzir a quantidade de trabalho de desenvolvimento, uma solução viável é introduzir uma cadeia de retransmissão e permitir que todas as cadeias estabeleçam contratos leves de clientes com esta cadeia de retransmissão. Isso pode de fato reduzir a carga de trabalho de C(n,2) para n, mas ainda não muito pequena. A transferência direta entre cadeias original da cadeia de origem para a cadeia de destino tornou-se uma transferência de segunda ordem da cadeia de origem → cadeia de retransmissão → cadeia de destino, o que causará consumo adicional de gás e consumo de tempo.

Portanto, a solução técnica do cliente leve atualmente não pode ser usada para construir uma ponte de cadeia cruzada mais universal.

Fim do jogo

Em primeiro lugar, diferentes cadeias públicas têm abordagens diferentes e recursos diferentes para apoiá-las. Enquanto não admitirem a derrota, o ecossistema existirá. Mesmo que o desenvolvimento não seja muito bom no curto prazo, um dia poderá ser melhorado e voltará à vida. O problema de uma infra-estrutura subjacente como essa é ver quem consegue persistir por mais tempo e quem consegue se ajustar ao mercado rapidamente.

Bitcoin e Ethereum não conseguem resolver todos os cenários de aplicação, ou em um determinado segmento, sempre tem gente que não gosta do primeiro lugar, então eles criam uma nova roda, então o futuro será multi-chain. No futuro, a camada inferior não será mais uma corrente, portanto o futuro deverá ser multiecológico. Como transferir fundos e mensagens entre múltiplas ecologias requer tecnologia intercadeia/interecológica!

Com o que os usuários estão mais preocupados quando se trata de cross-chain? Nada mais do que os seguintes pontos:

Velocidade: Quanto tempo leva para uma operação cross-chain ser concluída?

Taxa: quanto preciso pagar por uma operação cross-chain

Segurança: A ponte entre cadeias é segura e os fundos serão perdidos?

Liquidez: Existe liquidez suficiente para apoiar a minha negociação e um impacto de preço aceitável?

Escopo de conexão: quantas cadeias você suporta? Vocês oferecem suporte às cadeias que preciso usar em operações entre cadeias?

Experiência: A operação entre cadeias é conveniente, por exemplo, se suporta pagamento de gás, se a estimativa de custo é precisa, se suporta consulta de progresso e visualização do navegador, se ocorrem falhas com frequência, como lidar com falhas, etc.?

Vamos primeiro dar uma visão geral das características de alguns projetos a partir de três perspectivas relativamente claras: segurança, custo e alcance de conexão.


Clique no link para visualizar a tabela limpa (a tabela é atualizada constantemente):

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Para explicar completamente a ponte entre cadeias, há muitos detalhes dimensionais que precisam ser discutidos, como todas as dimensões e análise de dados na tabela acima. Então, com quais fatores você se preocupa ao cruzar correntes? Quais pontes de cadeia cruzada você usa com frequência? Em quais aspectos você acha que as pontes entre cadeias devem se concentrar para otimização? Se você tiver suas idéias, sinta-se à vontade para se comunicar com o autor.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [极客Web3]. Todos os direitos autorais pertencem ao autor original [0xKooKoo]. 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.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!