Autor | Fausto e Abismo, Geek Web3

Resumo: Desde o surgimento de várias pontes entre cadeias, vários ataques de hackers quase nunca pararam. O roubo de US$ 620 milhões da ponte entre cadeias oficial do Axie em 2022 chocou o mundo, e inúmeras pessoas começaram a pensar em como resolver. a ponte entre cadeias segura e sem confiança, mas hoje ainda existem muitas questões não resolvidas neste campo.
 
No entanto, tal como a via pública, a ponte cruzada também tem um “triângulo impossível” nas suas ideias de design e ainda não pode ser quebrada hoje. Para ter vantagens em custo e UX, a maioria das pontes cross-chain adotam um modelo testemunha semelhante ao multi-assinatura, e esta solução tem sido popular entre os hackers desde o primeiro dia em que foi implementada.
 
A trágica experiência histórica nos diz que pontes testemunhais sem medidas de proteção causarão problemas mais cedo ou mais tarde, mas essas pontes já são comuns em todo o ecossistema Bitcoin, o que faz as pessoas se sentirem assustadoras.
 
A Rede Bool que será apresentada neste artigo, com base no fornecimento de testemunhas rotativas dinamicamente para projetos de pontes de cadeia cruzada, combina computação de privacidade e chaves encapsuladas TEE, tenta otimizar ainda mais o modelo de segurança das pontes de testemunhas tradicionais e resolver os problemas de pontes entre cadeias A questão da descentralização pode trazer esperança de um avanço na ponte entre cadeias do Bitcoin.

O estado atual do ecossistema Bitcoin: assinaturas múltiplas estão em toda parte
 
A essência de uma ponte entre cadeias é provar à cadeia B que alguém na cadeia A iniciou uma solicitação entre cadeias e que a parte interessada pagou a taxa de acordo com os regulamentos. Para provar isso, existem diferentes caminhos de implementação.
 
As pontes de clientes leves geralmente implantam contratos inteligentes na cadeia e verificam nativamente mensagens entre cadeias na cadeia. Esse tipo de ponte tem a mais alta segurança, mas também é o mais caro e não pode ser implementado na cadeia Bitcoin (atualmente sob a cadeia). nome do Bitcoin O lado do projeto da bandeira da ponte ZK só pode garantir que o BTC usará a ponte ZK ao cruzar para outras cadeias, e o BTC não pode cruzar de volta pela ponte ZK).
 
A Optimistic Bridge, representada pela BitVM, usa prova de fraude para garantir que as mensagens entre cadeias sejam processadas de forma verdadeira, mas esta solução é extremamente difícil de implementar. A grande maioria das pontes entre cadeias Bitcoin adota, em última análise, o modelo de testemunha, onde várias testemunhas são designadas fora da cadeia e as testemunhas verificam e confirmam todas as mensagens entre cadeias.
 
Embora a ponte DLC representada por DLC.link introduza a ideia de canais de pagamento com base na assinatura múltipla oráculo/testemunha para limitar ao máximo os cenários de testemunhas cometendo o mal, ela ainda não pode eliminar completamente os perigos ocultos de multi -assinatura na raiz.



(O triângulo impossível de pontes entre cadeias refere-se principalmente a: 1. Escalabilidade: se pode suportar a transmissão de mensagens arbitrárias 2. Não há necessidade de confiança: nenhuma ou tão pouca suposição de confiança é introduzida quanto possível 3. Facilidade de adaptabilidade: dificuldade de implementação, capacidade de adaptação, incluindo diferentes cadeias públicas, incluindo Bitcoin)

No final, descobriremos que antes do lançamento do BitVM, exceto para projetos baseados na verificação do cliente ou ligação isomórfica, como Lightning Network/Payment Channel ou RGB++, outras pontes de cadeia cruzada Bitcoin são essencialmente multi-assinaturas.

A história já provou há muito tempo que, se o problema da falta de confiança nas pontes de cadeia cruzada com múltiplas assinaturas e mesmo nas plataformas de gestão de ativos de grande escala não for resolvido, será apenas uma questão de tempo até que os fundos sejam roubados.

A este respeito, algumas partes do projeto pediram às testemunhas que garantissem excessivamente os seus ativos, utilizando o potencial Slash como condição disciplinar, ou fizeram com que grandes instituições atuassem como testemunhas para fornecer endossos de crédito para enfraquecer os riscos de segurança das pontes entre cadeias. Mas, em última análise, o modelo de segurança de uma ponte baseada no modo testemunha é basicamente o mesmo de uma carteira com múltiplas assinaturas. No final, o modelo de confiança deve ser determinado de acordo com um limite, como M/N. , e a taxa de tolerância a falhas é relativamente limitada.



Como configurar e lidar com assinaturas múltiplas, como tornar as assinaturas múltiplas o mais confiáveis ​​possível e como evitar que testemunhas façam o mal ou aumentem o custo de ataques externos serão questões que a ponte cross-chain da camada 2 do Bitcoin precisa resolver. pense por muito tempo.

Existe alguma maneira de dificultar que os participantes multisig conspirem para fazer o mal e que os hackers roubem as chaves do mundo exterior? A Bool Network tenta resolver o problema de segurança da ponte testemunha por meio de uma solução abrangente baseada no algoritmo ZKP-RingVRF e TEE.

Rede Bool: Infraestrutura de computação privada projetada para pontes entre cadeias e muito mais

Na verdade, seja KYC, POS ou POW, a essência é descentralizar e resistir às bruxas, e evitar que importantes direitos de gestão sejam concentrados nas mãos de poucas pessoas. Usar o esquema de múltiplas assinaturas/MPC além de POA e KYC pode mitigar os riscos de segurança por meio do endosso de crédito de grandes instituições, mas esse modelo não é essencialmente diferente das trocas centralizadas. o pool de capital da ponte entre cadeias é na verdade uma cadeia de consórcio, o que viola fundamentalmente a essência Trustless do blockchain.

A solução multiassinatura/MPC baseada em POS é mais confiável que o POA e o limite de entrada é muito menor que o último, mas ainda enfrentará vários problemas: como vazamento de privacidade do nó.

Suponha que existam dezenas de nós formando uma rede testemunha para servir uma determinada ponte entre cadeias. Como esses nós precisam trocar dados com frequência, suas chaves públicas, endereços IP ou outras informações de identidade são facilmente expostas ao mundo externo. os caminhos de ataque geralmente levam ao roubo de chaves de determinados nós. Além disso, as testemunhas também podem conspirar entre si, o que é fácil de acontecer quando o número de nós é relativamente pequeno.

Então, como resolvemos o problema acima? Você pode pensar instintivamente que precisa fortalecer as medidas de proteção de suas chaves para evitar que sejam espionadas pelo mundo exterior. Um método mais confiável é encapsular a chave em um TEE (Trusted Execution Environment).

O TEE permite que os dispositivos do nó executem software em uma área local segura e outros componentes do sistema não possam acessar seus dados. Você pode isolar dados ou programas privados em um ambiente de execução seguro para evitar que dados confidenciais sejam vazados ou manipulados de forma maliciosa.

A questão aqui é: como garantir que a testemunha realmente armazene a chave no TEE e gere a assinatura? Na verdade, desde que a testemunha mostre as informações de certificação remota do TEE, podemos verificar se ele está funcionando no TEE. Só precisamos verificar a certificação do TEE em qualquer cadeia, e o custo é quase insignificante.

(Não muito tempo atrás, a Scroll também anunciou o uso do TEE como provador auxiliar além do ZKEVM e verificou todos os blocos em sua rede de teste Sepolia)



Claro, o problema não termina com o TEE. Mesmo se você introduzir o TEE, se o número total de testemunhas não for grande, por exemplo, são apenas 5, ainda encontraremos vários problemas. Mesmo que a chave encapsulada no TEE não possa ser “vista”, ela é composta por alguns. pessoas O comitê de testemunhas ainda não consegue garantir a resistência e a disponibilidade da censura. Por exemplo, se os cinco nós acima fugirem coletivamente, paralisando a ponte entre cadeias, os ativos da ponte não poderão ser bloqueados ou resgatados sem problemas, o que basicamente equivale a serem permanentemente congelados.

Depois de considerar exaustivamente fatores como compatibilidade, descentralização e custo, a Bool Network apresentou a seguinte ideia:

Construímos uma rede de testemunhas candidatas sem permissão por meio de penhor de ativos. Contanto que você prometa ativos suficientes, poderá ingressar quando a escala da rede for grande o suficiente, por exemplo, depois que centenas ou milhares de dispositivos estiverem conectados, selecionamos regularmente alguns nós aleatoriamente; a rede para atuar como testemunhas de pontes entre cadeias para evitar o problema de "solidificação de classe" de testemunhas (esta ideia também se reflete no atual POS Ethereum)

Então, como tornar o algoritmo da loteria aleatório? Cadeias públicas de PDV tradicionais, como Algorand e Cardano, introduzem a função VRF para gerar periodicamente números pseudo-aleatórios e extrair bloqueadores por meio dos resultados de saída. No entanto, os algoritmos VRF tradicionais muitas vezes falham em proteger a privacidade. Quem participa do processo de cálculo do VRF e quem é a pessoa selecionada associada ao número aleatório gerado pelo VRF fica quase exposto ao sol.
 


As testemunhas dinâmicas das pontes entre cadeias têm diferentes questões a considerar ao selecionar dinamicamente os produtores de blocos em cadeias públicas de POS. Mesmo que as identidades dos produtores de blocos de cadeia pública sejam vazadas, muitas vezes é inócuo porque os invasores têm cenários malignos limitados e estarão sujeitos a. muitas restrições.
Assim que a identidade das testemunhas da ponte entre cadeias for vazada, desde que os hackers obtenham suas chaves ou haja conluio interno entre essas testemunhas, todo o conjunto de ativos da ponte estará completamente em crise. De qualquer forma, os modelos de segurança das pontes entre cadeias e das cadeias públicas de POS são muito diferentes, e deve ser dada mais atenção à confidencialidade das identidades das testemunhas.

Nossa ideia instintiva é que é melhor ocultar a lista de testemunhas. Nesse sentido, a Bool Network usa um algoritmo VRF de anel original para ocultar a identidade da testemunha selecionada entre todos os candidatos. expresso da seguinte forma:

1. Antes de entrar na rede Bool, todos os candidatos devem primeiro penhorar seus ativos no Ethereum ou em uma rede criada pela própria Bool, deixando uma chave pública como informação cadastral. Esta chave pública também é chamada de “chave pública permanente”. O conjunto de “chaves públicas permanentes” de todos os candidatos é publicamente visível na cadeia. Para ser franco, esta chave pública permanente é a informação de identidade de todos;

2. A cada poucos minutos a meia hora, a rede Bool selecionará aleatoriamente várias testemunhas por meio da função VRF. Mas antes disso, cada candidato deve gerar uma “chave pública temporária” única localmente e gerar ZKP para provar que a “chave pública temporária” está relacionada à “chave pública permanente” registrada na cadeia, ou seja, usar ZK; comprovar que está na lista de candidatos, mas não revelar quem é;

3. Qual é a função da “chave pública temporária”? Apenas para proteção de privacidade. Se você sortear diretamente da coleção de “chave pública permanente”, quando o resultado do sorteio for divulgado, todos saberão diretamente quem foi eleito, e a segurança ficará bastante comprometida neste momento.

Se todos enviarem temporariamente uma "chave pública temporária" única e, em seguida, selecionarem alguns vencedores do conjunto de "chave pública temporária", no máximo você saberá apenas que ganhou, porque não sabe quem é o outro vencedor temporário chaves públicas correspondem a .

4. Ainda não acabou. A rede Bool planeja fazer isso: informar diretamente qual é a sua “chave pública temporária”. Como fazer isso? Basta colocar o texto simples da chave pública temporária no TEE e criptografá-lo em “código ilegível” antes de enviá-lo.



Também podemos colocar a geração de “chave pública temporária” no TEE Como o TEE pode manter dados e cálculos confidenciais, você não tem ideia do que está acontecendo no TEE. Quando a “chave pública temporária” for gerada, ela será criptografada em “código ilegível” e então enviada para fora do TEE. Neste momento, você não tem ideia de qual é o texto original da sua “chave pública temporária”. só pode ver um texto cifrado criptografado (deve-se notar que o ZKP mencionado no segundo parágrafo, que prova que a chave pública temporária está relacionada a uma chave pública permanente, também é criptografado junto com a chave pública temporária).

5. O candidato deve enviar o texto cifrado ilegível da “chave pública temporária” para o nó Relayer designado. O Relayer é responsável por descriptografar esses textos cifrados ilegíveis e restaurar todos os textos originais de "chave pública temporária".

Há um problema aqui, ou seja, o Relayer sabe quem é o remetente de cada texto cifrado, desde que analise cada texto cifrado em uma "chave pública temporária", ele saberá naturalmente a qual pessoa cada "chave pública temporária" corresponde. Portanto, o trabalho acima também deve ser feito no TEE. O texto cifrado de chave pública de centenas de pessoas entra no TEE e, depois de sair, torna-se o texto de chave pública original, assim como um misturador de moeda, que pode efetivamente proteger a privacidade.

6. Após o Relayer obter as "chaves públicas temporárias" originais, ele as coleta e as envia à função VRF na cadeia para selecionar os vencedores, ou seja, seleciona vários vencedores dessas "chaves públicas temporárias", formando o próximo comitê de testemunhas da ponte entre cadeias.

Desta forma, a lógica geral é realmente clara: selecionamos regularmente aleatoriamente alguns do conjunto de chaves públicas temporárias testemunhas para servir como testemunhas temporárias para a ponte entre cadeias. Este projeto é denominado DHC (Dynamic Hiding Committee).

Porque cada nó executa o TEE, o fragmento da chave privada do MPC/TSS, o programa principal executado pela testemunha e todos os processos de cálculo estão ocultos no ambiente TEE. Nem mesmo a pessoa selecionada sabe o que o conteúdo do cálculo específico inclui. não saber que foi selecionado, o que pode prevenir fundamentalmente conluios ou ataques externos.



Ciclo de vida da mensagem entre cadeias da rede Bool
 
Depois de apresentar a ideia geral de Bool ocultar identidades e chaves de testemunhas, vamos resolver o fluxo de trabalho da Rede Bool. Assumimos que a cadeia de origem está à esquerda e a cadeia de destino à direita. Todo o diagrama acima constitui todo o ciclo de vida dos ativos, da cadeia de origem à cadeia de destino. cadeia cruzada da perspectiva do fluxo de dados:



Primeiro, após o sacador iniciar uma ação de retirada na cadeia de origem, a mensagem é enviada para a Camada de Mensagens pelo Realyer, após a mensagem atingir a Camada de Mensagens, o comitê dinâmico verifica a mensagem para confirmar se a mensagem existe e é válida; na cadeia de origem e, em seguida, faça uma assinatura.

Alguém pode perguntar, uma vez que, como mencionado acima, nem todos sabem se foram eleitos para o comité de testemunhas, como podem entregar a mensagem às pessoas designadas e fazê-las assinar? Na verdade, isso é fácil de resolver, como não sabemos quem é a testemunha selecionada, podemos simplesmente transmiti-la para toda a rede e passar a mensagem pendente entre cadeias para todos.

Mencionamos no início que a chave pública temporária de todos é gerada e encapsulada no TEE local, e a chave pública temporária não pode ser vista fora do TEE. Para verificar se sua chave pública temporária está selecionada, esta parte da lógica é implantada diretamente no TEE. Contanto que a mensagem de cadeia cruzada a ser processada seja inserida no TEE, o programa dentro do TEE determinará se a mensagem precisa ser assinada. e confirmaram.



Após assinar a mensagem cross-chain no TEE, a assinatura digital não pode ser enviada diretamente, pois se você enviar a assinatura diretamente para fora, todos descobrirão que você anexou uma assinatura à mensagem cross-chain e adivinharão que você é um das testemunhas selecionadas. Portanto, se você deseja encontrar uma maneira de evitar que o mundo exterior saiba se você assinou uma mensagem entre cadeias, a melhor maneira é criptografar as próprias informações da assinatura, o que é semelhante à ideia de criptografar chaves públicas temporárias. Mencionado acima.

O resumo é: a Bool Network se espalhará por P2P e entregará a mensagem cross-chain para ser assinada a todos. A testemunha selecionada verificará e assinará a mensagem no TEE, e então transmitirá o texto cifrado criptografado, e outros o receberão. o texto cifrado é descriptografado, colocado no TEE para descriptografia e o processo acima é repetido até que todas as testemunhas selecionadas tenham assinado. Finalmente, ele é descriptografado pelo Relayer no formato original da assinatura TSS, completando a mensagem de cadeia cruzada. processo de confirmação e assinatura.

O cerne é que quase todas as atividades acontecem dentro do TEE e é impossível dizer o que está acontecendo de fora. Cada nó não sabe quem são as testemunhas ou se é a testemunha selecionada, o que evita fundamentalmente o conluio e aumenta enormemente o custo de ataques externos.

Para atacar uma ponte de cadeia cruzada baseada na Rede Bool, você precisa determinar quem são as testemunhas no comitê dinâmico, mas você simplesmente não sabe quem são. Nesse caso, você só pode atacar toda a Rede Bool. Para infraestruturas de ponte entre cadeias, como ZetaChain, que são puramente baseadas em POS e MPC, as identidades de todas as testemunhas são expostas. Supondo que o limite seja 100/200, você só precisa atacar pelo menos metade dos nós da rede.

Mas depois de mudar para Bool, por causa da proteção da privacidade, teoricamente você terá que atacar todos os nós. Além disso, todos os nós Bool estão executando TEE e a dificuldade do ataque aumentará novamente.

Além disso, a Rede Bool é essencialmente uma ponte testemunha. A ponte testemunha só precisa enviar uma assinatura na cadeia alvo para concluir o processo de processamento entre cadeias com o menor custo. Como não existe um projeto de cadeia de relés redundante como o Polkadot, que evita a redundância da verificação de segunda ordem, a velocidade da cadeia cruzada de Bool pode ser muito rápida. Este modelo de cadeia cruzada atende às necessidades de cadeia cruzada de ativos e cadeia cruzada de mensagens e tem boa compatibilidade.

Como você avalia as ideias de design de produto de Bool?

Aqui levantamos dois pontos de vista: primeiro, os ativos entre cadeias são um produto da ToC e, em segundo lugar, as pontes entre cadeias são mais competitivas do que a cooperação. A longo prazo, porque as barreiras aos protocolos entre cadeias são elevadas e a procura é relativamente homogénea, a concentração de fundos relacionados com as pontes entre cadeias tornar-se-á cada vez mais elevada. Isto ocorre porque os protocolos entre cadeias têm barreiras de fosso relativamente fortes, incluindo efeitos de escala e custos de mudança.

Como uma infra-estrutura dedicada de nível inferior do que a ponte entre cadeias, Bool tem, na verdade, uma perspectiva de negócios mais ampla do que o lado do projeto de ponte entre cadeias de nível superior. Ele pode até assumir a função de um oráculo e não se limita a cruzar. mensagens em cadeia. A verificação, em teoria, entrou no caminho do oráculo de cadeia completa, construindo verdadeiramente um oráculo descentralizado e fornecendo serviços de computação privados.