Explorando Segurança e Eficiência no Design do Nó Leve

iniciantes5/29/2024, 1:15:17 AM
Um artigo publicado em conjunto pela TeleportDAO e Eigen Labs explora os desafios de segurança e eficiência enfrentados pelos nós leves nas blockchains de prova de participação (PoS) e propõe uma nova solução. Através de incentivos econômicos, mecanismos de pré-segurança segurados e "segurança programável", visa melhorar a segurança e eficiência dos nós leves, o que é de grande importância para o desenvolvimento da comunicação entre blockchains e tecnologia blockchain.

Encaminhe o Título Original‘TeleportDAO:数据验证安全与效率之战 —— 轻节点设计最新实践’

TL;DR

TeleportDAO e Eigen Labs recentemente publicaram em conjunto um artigo focado nos desafios de segurança e eficiência enfrentados pelos nós leves ao acessar e verificar dados on-chain em blockchains de proof-of-stake (PoS). Este artigo propõe uma nova solução para garantir a segurança e eficiência dos nós leves em blockchains PoS através de uma série de medidas como incentivos econômicos e mecanismos de pré-segurança segurados, bem como "segurança programável" e eficácia de custos personalizados. É muito visionário e digno de um estudo aprofundado.

Nota: Eigen Labs é o desenvolvedor por trás dos protocolos de Restaking EigenLayer e EigenDA. Eigen Labs levantou atualmente mais de 150 milhões de dólares americanos de instituições de capital de risco conhecidas, como a16z, Polychain e Blockchain Capital.

TeleportDAO está localizado em Vancouver, Canadá. É um projeto de infraestrutura de comunicação entre cadeias focado nas cadeias públicas Bitcoin e EVM. O protocolo levantou com sucesso $9 milhões em uma rodada de vendas públicas e financiamento através da Coinlist. Esta rodada de financiamento recebeu a participação de múltiplos investidores, incluindo Appworks, OIG Capital, DefinanceX, Oak Grove Ventures, Candaq Ventures, TON, Across e bitSmiley.

Problemas existentes no design do nó leve

Atualmente, nas blockchains de PoS, os validadores participam na rede de consenso bloqueando uma certa quantidade de participação (como 32 ETH no Ethereum) para garantir a segurança da rede. Portanto, a essência da segurança da blockchain de PoS é protegida pela economia, ou seja, quanto maior a participação total, maior o custo ou perda necessário para atacar a rede de consenso. A implementação desse mecanismo de redução baseia-se em um recurso chamado "segurança de responsabilidade", ou seja, se o validador assinar um estado conflitante, a participação pode ser reduzida.

Os nós completos desempenham um papel vital na manutenção da integridade da blockchain PoS. Eles armazenam todas as informações de transações de bloco, verificam assinaturas de consenso, replicam uma cópia completa do histórico de transações e realizam atualizações de estado. Esses processos requerem muitos recursos computacionais e hardware complexo. Por exemplo, executar um nó Ethereum completo requer pelo menos 2 TB de armazenamento SSD. Em contraste, os nós leves reduzem os requisitos de recursos computacionais e armazenam apenas cabeçalhos de bloco, sendo adequados apenas para cenários onde transações/status específicos são verificados, como carteiras móveis e pontes entre cadeias. Além disso, os nós leves dependem dos nós completos para fornecer informações de bloco ao verificar transações, mas a participação de mercado atual dos provedores de serviços de nó é relativamente concentrada, então segurança, independência e imediatismo não podem ser totalmente garantidos. Portanto, este artigo explora o equilíbrio entre o custo de aquisição de dados e a latência para que os nós leves alcancem a segurança ótima.

Soluções de Design de Nó de Luz Existente

Bitcoin introduziu a Verificação de Pagamento Simples (SPV) como seu protocolo de nó leve. O SPV permite que nós leves usem Prova de Merkle e cabeçalhos de bloco para verificar se uma transação está incluída em um bloco específico. Portanto, os nós leves só precisam baixar o cabeçalho do bloco da blockchain para verificar a finalidade da transação verificando a profundidade do bloco. Nesse caso, o custo computacional de verificar o consenso pelos nós leves no Bitcoin é relativamente baixo. No entanto, em blockchains de PoS como Ethereum, o design da verificação de consenso é inerentemente mais complexo. Isso envolve manter o conjunto inteiro de validadores, rastrear suas mudanças de participação e realizar muitas verificações de assinatura para a rede de consenso. Por outro lado, a segurança dos nós leves de PoW depende da suposição de que a maioria dos nós completos é honesta. Para lidar com as limitações do SPV, FlyClient e Prova de Trabalho Não Interativa (NiPoPoW) provam esses blocos para os clientes a um custo sublinear. No entanto, a aplicabilidade deles ao modelo de consenso de PoS é fraca.

Por outro lado, as blockchains PoS ganham segurança por meio de mecanismos de corte. O sistema depende de participantes do consenso sendo racionais e não atacando a rede se o custo de um ataque exceder qualquer lucro potencial. Para reduzir os custos de verificação, o protocolo de nó leve atual da Ethereum depende de um comitê de sincronização composto por 512 validadores da Ethereum selecionados aleatoriamente, cada um dos quais aposta 32 Ethereum, mas o processo de assinatura não será multado. Este design irremediável tem uma falha de segurança importante, e assinaturas desonestas no comitê de sincronização podem enganar os nós leves a aceitar dados inválidos sem serem punidos. Mesmo com a introdução de mecanismos de corte, o total apostado pelo Comitê de Sincronização ainda é pequeno em comparação com o enorme pool de validadores da Ethereum (até março de 2024, o número de validadores da Ethereum ultrapassou 1 milhão). Portanto, essa abordagem não pode fornecer aos nós leves segurança equivalente ao conjunto de validadores da Ethereum. Esse modelo representa uma variante especial de computação multipartidária em um ambiente racional, mas falha em fornecer garantias baseadas em economia ou abordar as ameaças apresentadas por provedores de dados maliciosos e irracionais.

Para enfrentar os desafios de segurança e eficiência no processo de inicialização do PoS, o PoPoS introduz um jogo de segmentação para desafiar efetivamente a árvore de Merkle adversária do timing do PoS. Embora alcancem uma pegada mínima e evitem exigir que os clientes estejam sempre online e com apostas, o problema de permitir que os clientes fiquem offline sem incorrer em custos significativos para se reconectar à rede permanece sem solução.

Outra abordagem de pesquisa se concentra em usar provas de conhecimento zero para criar provas concisas. Por exemplo, Mina e Plumo facilitam efetivamente a verificação de consenso leve usando composição SNARK recursiva e provas de transição de estado baseadas em SNARK. No entanto, essas abordagens impõem uma carga computacional considerável aos produtores de blocos para gerar provas, e elas não abordam a questão de compensar os nós leves por possíveis perdas. No contexto de outros protocolos PoS, como o protocolo Tendermint usado no Cosmos, o papel dos nós leves é explorado em seu protocolo de Comunicação Inter-Blockchain (IBC). No entanto, essas implementações são específicas de seus ecossistemas respectivos e não são diretamente aplicáveis ao Ethereum ou a várias outras blockchains PoS.

Novo Design de Nó de Luz

Em termos gerais, a nova solução introduz um módulo de segurança econômica para alcançar a "segurança programável", e os nós leves podem decidir sobre diferentes designs de solução com base em suas próprias necessidades de segurança. A suposição de segurança é basicamente 1/N + 1/M, ou seja, contanto que haja um nó honesto e válido no nó completo e na rede de acusação, a operação normal da rede pode ser garantida.

  • Blockchain: O protocolo é construído em uma blockchain programável, e as regras para finalizar blocos são determinísticas. Por exemplo, na blockchain do Ethereum, a finalização de um bloco requer pelo menos dois épocas subsequentes, o que geralmente leva cerca de 13 minutos.
  • Contrato Inteligente de Penalização: O protocolo inclui um contrato de penalização on-chain que segue a abstração padrão de contrato inteligente. Ele tem acesso ao hash do bloco do bloco anterior na blockchain. Todas as partes podem enviar mensagens para este contrato.
  • Fornecedores de Dados: Os fornecedores de dados executam nós completos e acompanham o estado mais recente da blockchain. Eles prometem ativos e fornecem serviços para verificar a validade do estado solicitado pelos nós leves. Eles assinam todos os dados enviados aos nós leves com a chave secreta correspondente à sua chave pública, verificando assim a origem e integridade dos dados.
  • Promotores: Promotores são nós completos conectados a nós leves para ajudar na verificação de dados. Qualquer pessoa pode se tornar um promotor e lucrar monitorando e punindo partes que se comportam de forma imprópria. Para simplificar, o esquema a seguir assume que cada nó leve está conectado a pelo menos um promotor honesto.
  • Nó Leve: Um nó leve verifica se um estado/transação específico está incluído na blockchain ao menor custo. Durante o processo de verificação, o nó leve se conecta com um grupo de provedores de dados e promotores.
  • Rede: Os provedores de dados formam uma rede peer-to-peer (p2p) e utilizam o protocolo de Gossip para disseminar dados. Nós leves conectam-se a alguns provedores de dados para enviar solicitações e receber respostas.

Opção 1: Segurança em Primeiro Lugar

A Opção 1 principalmente alcança a credibilidade dos dados através da introdução de um período de desafio e uma rede de acusadores. Em poucas palavras, depois que o nó leve recebe os dados assinados pelo provedor, ele envia essa parte dos dados para a rede de acusadores para revisão. Dentro de um certo período, se houver fraude de dados, o acusador lembrará ao nó leve que os dados não são confiáveis, e o módulo de penalidades do contrato inteligente penalizará os tokens prometidos pelo provedor. Por outro lado, o nó leve pode confiar na credibilidade desses dados.

Processo específico de um nó leve solicitando dados:

  1. O nó leve obtém a lista mais recente de provedores de dados da rede atual e determina um período de desafio. Vale ressaltar que este período de desafio é independente entre diferentes nós leves, mas o limite superior do período de desafio se aplica a todos os nós leves. O período de desafio é o tempo mais longo para a rede do acusador verificar a credibilidade dos dados, então quanto mais longo o tempo, maior o atraso por transação.
  2. Após obter a lista, o nó leve selecionará um grupo de provedores de dados e garantirá que seus respectivos fundos apostados sejam maiores do que o valor da transação atual. Teoricamente, quanto maiores os fundos apostados, maior o custo de má conduta do provedor de dados e menor o custo de confiança do nó leve.
  3. O nó leve envia a solicitação de dados correspondente a este grupo de provedores de dados, que inclui o número de bloco correspondente e o estado alvo (a prova de inclusão desta transação).
  4. O provedor de dados envia o hash do bloco correspondente e a prova de inclusão da transação, e anexa uma assinatura.
  5. Após o nó leve receber os materiais acima mencionados, ele os encaminha para a rede de promotores conectados atual. Se nenhuma advertência de credibilidade de dados for recebida após o término do período de desafio, o nó leve verificará esta assinatura e passará no teste de credibilidade de dados se não houver erro.

  1. Mas se um aviso for recebido da rede do promotor, o nó leve precisa descartar a assinatura recebida anteriormente. A rede do promotor enviará a prova relevante para o módulo de penalidades do contrato inteligente. Se o contrato inteligente encontrar que a má conduta de fato ocorreu após verificar os dados, a participação do provedor de dados correspondente será penalizada. Como parte/todos os provedores de dados selecionados foram penalizados, o nó leve precisa obter novamente uma nova lista de provedores de dados da rede atual para confirmar que o evento de redução realmente ocorreu.

Outros pontos:

  • Qualquer nó completo pode ingressar ou sair da rede de provedores de dados iniciando solicitações de “registro” e “saque” para o contrato inteligente. Existe um limite mínimo de participação para se registrar e participar da rede de provedores de dados. Uma vez que um nó completo escolhe iniciar um saque, seu status na rede mudará imediatamente para “saindo” e eles não poderão mais receber solicitações de nós leves, para evitar possíveis comportamentos maliciosos de entrada e saída rápidas. Além disso, a rede de provedores de dados atualiza a lista de provedores de dados atualmente ativos em ciclos, durante os quais os provedores de dados não podem receber fundos de saque. Uma solicitação de saque terá efeito no último bloco do ciclo de atualização atual e a frequência de atualização será maior do que o limite do período de desafio para garantir que todos os testes de disponibilidade de dados dos nós leves tenham sido concluídos. Devido à atividade da rede de provedores de dados, os nós leves precisam obter novamente a lista de provedores ativos atualmente toda vez que a rede é atualizada. Se o ciclo de atualização for estendido, os nós leves podem desfrutar de um processo de verificação mais simplificado (estimando a lista ativa atual através das solicitações de “registro” e “saque” do ciclo anterior), mas os nós que desejam sair enfrentarão um tempo de espera mais longo.
  • Após o recebimento da assinatura de dados, a rede de procuradores verifica se a assinatura pertence ao provedor de dados e avalia se os dados foram “finalmente confirmados” na rede de consenso. Se os dados não aparecerem em uma cadeia razoável, existem duas possibilidades. Primeiro, os dados ainda não foram finalmente confirmados pela blockchain atual, diferentes blockchains têm regras diferentes de finalidade, como o princípio da cadeia mais longa. Segundo, a transação está em um bloco de outra cadeia razoável. Se os dados acima forem considerados falsificados, a rede de procuradores enviará uma solicitação de redução ao contrato inteligente, que inclui a chave pública do provedor de dados, a assinatura do provedor de dados, o número do bloco e, ao mesmo tempo, envia uma prova do evento de redução para lembrar o nó leve. Após receber esses dados, o contrato inteligente mede se o número do bloco atualmente confirmado é consistente com os dados recebidos de acordo com o princípio de finalidade da camada de consenso. Se estiverem inconsistentes, o evento de redução é acionado. Além disso, se um provedor de dados escolhido pelo nó leve for reduzido devido a outro grupo de solicitações de dados, a rede de procuradores enviará prontamente o evento de redução para lembrar o nó leve de que a credibilidade dos dados do provedor de dados é baixa, e o nó leve então reobterá a lista e selecionará outros provedores.

Avaliar:

  • Segurança: O nó leve determina o custo do comportamento malicioso para os provedores de dados racionais e irracionais por meio do módulo de staking e da rede de procuradores, aprimorando a credibilidade dos dados. No entanto, como todo o protocolo é baseado na rede de consenso (este artigo testa no Ethereum), uma vez que a camada de consenso é atacada, o protocolo também pode enfrentar uma potencial crise de confiança. Portanto, um mecanismo de reputação pode ser introduzido para garantir riscos sistêmicos em situações extremas.
  • Segurança ao Nível do Nó Completo: Este esquema tem como objetivo fornecer segurança equivalente à suposição de PoS do Ethereum, ou seja, os nós completos precisam suportar o risco de corte por fazer declarações falsas.
  • Atividade da Rede: Se a rede atual tiver apenas alguns provedores de dados racionais, o nó leve enfrentará múltiplas rodadas de atraso, mas como o throughput de cada provedor de dados não é zero, cada solicitação será sempre concluída. Portanto, desde que a rede tenha um nó completo racional, ela pode garantir que a rede continue a operar. Ao mesmo tempo, como a renda dos provedores de dados está vinculada à quantidade de staking, isso também incentiva os nós completos a proteger a rede staking mais do que o necessário.
  • Eficiência: A equipe de autores do artigo prevê que os validadores do Ethereum sejam os principais usuários que participam dos provedores de dados, já que os validadores já estão executando nós completos e podem obter renda adicional através deste protocolo. Pequenas transações podem obter dados confiáveis através de um único provedor de dados (o nó leve só precisa verificar uma vez), enquanto grandes transações podem precisar de vários provedores de dados para obter dados confiáveis (o número de verificações aumenta linearmente com o número de provedores).

Opção 2: Eficiência Primeiro

A Solução 2 realiza a confirmação rápida de dados ao propor um mecanismo de seguro com base na Solução 1. Em termos simples, após o nó leve determinar o seguro de acordo com o valor da apólice e a duração, parte/toda a garantia do provedor de dados pode ser reembolsada pelas perdas subsequentes do nó leve devido à má fé dos dados. Portanto, após o nó leve receber e verificar a assinatura dos dados fornecida pelo provedor, ele pode determinar a credibilidade inicial dos dados.

Processo específico de solicitação de dados do nó de luz:

  1. O nó leve calcula a perda potencial máxima da transação atual e, em seguida, define o valor da apólice de seguro e o período de seguro. A quantia de fundos prometida pelo provedor de dados para o seguro deve ser maior do que o valor da apólice de seguro para garantir fundos suficientes para o reembolso.
  2. O nó leve determina o período de desafio para a transação. Vale ressaltar que o período de política pode abranger as verificações de inclusão de múltiplas transações, portanto, o período total de desafio selecionado pelo nó leve não pode exceder o período de política, caso contrário algumas transações podem não ser cobertas.
  3. Após selecionar os parâmetros (valor da apólice, prazo da apólice, valor dos fundos prometidos pelo provedor de dados para seguro, lista de provedores de dados pretendidos), o nó leve pode enviar uma solicitação ao contrato inteligente. Em seguida, após aguardar o tempo de confirmação final do bloco, ele pode verificar se a compra do seguro foi bem-sucedida. Se falhar, pode ser porque outros nós leves também selecionaram o provedor de dados e liquidaram primeiro, então a promessa restante não é suficiente para corresponder à sua demanda original.
  4. O nó leve envia uma solicitação de dados, que inclui o número do seguro, além do número do bloco e do estado alvo (prova de inclusão da transação).
  5. O provedor de dados envia os dados e a assinatura, o nó leve verifica a assinatura e encaminha para a rede de promotores e, em seguida, a transação foi preliminarmente confirmada.
  6. Após receber os dados e a assinatura, o promotor verificará inicialmente a credibilidade dos dados. Se houver algum comportamento malicioso, o promotor apresentará a prova ao contrato inteligente e imporá uma multa ao provedor de dados correspondente, que será distribuída aos nós de luz.

Outros pontos:

  • Os tokens de seguro depositados pelo provedor de dados são independentes entre si entre diferentes solicitações de nós leves para evitar o risco de múltiplos reembolsos de seguro. Após o nó leve selecionar o provedor de dados, o contrato inteligente bloqueará os tokens correspondentes prometidos para seguro, e outros nós leves não poderão alocar esta parte da promessa antes do final do período de seguro. Se as transações forem independentes, o valor do seguro é o mesmo que o valor máximo da transação. Caso contrário, o valor do seguro é o mesmo que o valor total da transação. Sob o mesmo valor de promessa, os nós leves geralmente escolhem o menor número possível de provedores de dados para garantir a eficiência da verificação.
  • Embora o fornecedor de dados possa iniciar uma solicitação de “saque” antes do final do período de seguro, o valor do saque só será recebido após o final do período de seguro.
  • Estritamente falando, o período da apólice de seguro deve ser maior do que o tempo de confirmação do último bloco + período total de desafio + atraso de comunicação + atraso de cálculo/verificação. Quanto mais provedores de dados você escolher, maior será o período da apólice de seguro com base no período total de desafio.

Avaliar:

  • Escalabilidade: A escalabilidade da Opção 2 é determinada pela quantidade total de tokens que os provedores de dados estão dispostos a apostar para seguro.
  • Custo da política: Como os níveis mais altos de segurança estão ligados ao ciclo de desafio, isso significa que o fornecedor de dados deve apostar por um período maior ou igual ao ciclo de desafio. Portanto, quanto maiores forem os requisitos de segurança, mais longo será o ciclo de aposta e mais alta será a taxa paga pelo nó leve. De acordo com a fórmula, o custo da aposta do fornecedor de dados é calculado pela renda do nó do fornecedor de dados/(utilização média da aposta ao longo do ano multiplicada pelo número total de blocos por ano). O preço que o nó leve precisa pagar é o custo da aposta multiplicado pelo período e tamanho da política.

Efetividade da Solução

Primeiro, em termos de eficiência de computação de nó leve, ambas as soluções de nó leve demonstram eficiência de verificação em nível de milissegundos (os nós leves só precisam verificar os dados uma vez).

Em segundo lugar, em termos de latência do nó leve, em diferentes cenários de configuração experimental (consulte a figura abaixo), a latência está no nível de milissegundos. Vale ressaltar que a latência aumenta linearmente com o número de provedores de dados, mas a latência está sempre no nível de milissegundos. Além disso, na Solução 1, uma vez que o nó leve precisa esperar pelos resultados do período de desafio, a latência é de 5 horas. Se a rede do inspetor for confiável e eficiente o suficiente, essa latência de 5 horas também pode ser significativamente reduzida.

Terceiro, em termos de custos do nó leve, na realidade, existem dois custos para os nós leves: taxa de gás e prêmio de seguro, ambos os quais aumentarão à medida que o valor da apólice de seguro aumenta. Além disso, para os inspetores, o gás envolvido na submissão de dados será reembolsado com o valor da multa para garantir incentivos de participação suficientes.

Direção de Extensão

  • Mais Colateral: Atualmente, o token apostado pelos provedores de dados é ETH, mas as informações de transação são calculadas com base no padrão U, o que significa que os nós leves precisam medir a taxa de câmbio do ETH toda vez que obtêm dados para garantir que a quantidade de colateral seja suficientemente alta. Se for permitido apostar em vários tokens, os provedores de dados podem ter mais opções de aposta, evitando assim a exposição ao risco de uma única moeda.
  • Autorização: Similar à mineração conjunta, alguns investidores de varejo podem participar da rede de provedores de dados autorizando seu próprio ETH ao nó completo, e os lucros são distribuídos de acordo com seu próprio acordo. Por favor, consulte LSD.
  • Garantia de Bloqueio: Para evitar esperar pelo período de confirmação final (12-13 segundos no Ethereum), os nós leves podem usar uma garantia para reduzir esse tempo de espera. O nó leve primeiro adicionará um símbolo/identificação ao solicitar dados e determinará que tipo de garantia é necessária (confirmação final/proposta). O provedor de dados fornece os dados correspondentes e a assinatura após receber a solicitação. Quando o provedor de dados não possui um bloco proposto sob a situação de 'garantia proposta', eles serão multados.
    \
    Nota: Os blocos propostos eventualmente serão finalizados ou se tornarão blocos tios.
  • Custo e Taxas: Para a rede do promotor, eles precisam apostar uma certa quantidade de tokens (maior que o gás) para enviar provas ao contrato inteligente. Além disso, o custo desta parte da prova pode ser reduzido através do método zkp. Além disso, sob o mecanismo de seguro, os prêmios enviados pelos nós leves serão dados aos provedores de dados, enquanto a rede do promotor extrairá parte da receita da penalidade dos provedores maliciosos.
  • Disponibilidade de Dados: Os provedores de dados são essencialmente nós completos. Além de participar da rede de camada de consenso, eles também podem verificar a disponibilidade dos dados. Existem dois tipos de esquemas para verificar a disponibilidade: modelo Pull e modelo Push. O primeiro refere-se ao nó leve extrair aleatoriamente dados obtidos do nó completo. O último refere-se ao produtor de bloco distribuindo blocos diferentes para os provedores de dados. Para os provedores de dados que adotam o modelo Pull, eles são responsáveis por retornar solicitações de amostragem. Após receber os dados, o nó leve os encaminha para o nó/validador confiável, e eles tentam restaurar o bloco. Se falharem, o provedor de dados será multado. O protocolo de nó leve neste artigo propõe um mecanismo de seguro com base nisso, fornecendo uma nova direção de exploração para a pesquisa de disponibilidade de dados.

Conclusão e Avaliação

A solução de nó leve proposta neste artigo fornece 'segurança programável' para atender aos requisitos de segurança em diferentes situações. A Opção 1 troca maior latência por alta segurança, enquanto a Opção 2 fornece serviços de 'confirmação instantânea' para nós leves, introduzindo um mecanismo de seguro. Essas soluções podem ser usadas em cenários onde a finalidade das transações precisa ser confirmada, como transações atômicas e entre cadeias.

Isenção de Responsabilidade:

  1. Este artigo foi reproduzido a partir de [Parceiros Eureka]. Encaminhe o Título Original 'TeleportDAO: a Batalha entre Segurança e Eficiência na Validação de Dados - Últimas Práticas de Design de Nós Leves'. Todos os direitos autorais pertencem ao autor original [Andy、Arthur]*. Se houver objeções a esse reprint, entre em contato com oPortão Aprenderequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Explorando Segurança e Eficiência no Design do Nó Leve

iniciantes5/29/2024, 1:15:17 AM
Um artigo publicado em conjunto pela TeleportDAO e Eigen Labs explora os desafios de segurança e eficiência enfrentados pelos nós leves nas blockchains de prova de participação (PoS) e propõe uma nova solução. Através de incentivos econômicos, mecanismos de pré-segurança segurados e "segurança programável", visa melhorar a segurança e eficiência dos nós leves, o que é de grande importância para o desenvolvimento da comunicação entre blockchains e tecnologia blockchain.

Encaminhe o Título Original‘TeleportDAO:数据验证安全与效率之战 —— 轻节点设计最新实践’

TL;DR

TeleportDAO e Eigen Labs recentemente publicaram em conjunto um artigo focado nos desafios de segurança e eficiência enfrentados pelos nós leves ao acessar e verificar dados on-chain em blockchains de proof-of-stake (PoS). Este artigo propõe uma nova solução para garantir a segurança e eficiência dos nós leves em blockchains PoS através de uma série de medidas como incentivos econômicos e mecanismos de pré-segurança segurados, bem como "segurança programável" e eficácia de custos personalizados. É muito visionário e digno de um estudo aprofundado.

Nota: Eigen Labs é o desenvolvedor por trás dos protocolos de Restaking EigenLayer e EigenDA. Eigen Labs levantou atualmente mais de 150 milhões de dólares americanos de instituições de capital de risco conhecidas, como a16z, Polychain e Blockchain Capital.

TeleportDAO está localizado em Vancouver, Canadá. É um projeto de infraestrutura de comunicação entre cadeias focado nas cadeias públicas Bitcoin e EVM. O protocolo levantou com sucesso $9 milhões em uma rodada de vendas públicas e financiamento através da Coinlist. Esta rodada de financiamento recebeu a participação de múltiplos investidores, incluindo Appworks, OIG Capital, DefinanceX, Oak Grove Ventures, Candaq Ventures, TON, Across e bitSmiley.

Problemas existentes no design do nó leve

Atualmente, nas blockchains de PoS, os validadores participam na rede de consenso bloqueando uma certa quantidade de participação (como 32 ETH no Ethereum) para garantir a segurança da rede. Portanto, a essência da segurança da blockchain de PoS é protegida pela economia, ou seja, quanto maior a participação total, maior o custo ou perda necessário para atacar a rede de consenso. A implementação desse mecanismo de redução baseia-se em um recurso chamado "segurança de responsabilidade", ou seja, se o validador assinar um estado conflitante, a participação pode ser reduzida.

Os nós completos desempenham um papel vital na manutenção da integridade da blockchain PoS. Eles armazenam todas as informações de transações de bloco, verificam assinaturas de consenso, replicam uma cópia completa do histórico de transações e realizam atualizações de estado. Esses processos requerem muitos recursos computacionais e hardware complexo. Por exemplo, executar um nó Ethereum completo requer pelo menos 2 TB de armazenamento SSD. Em contraste, os nós leves reduzem os requisitos de recursos computacionais e armazenam apenas cabeçalhos de bloco, sendo adequados apenas para cenários onde transações/status específicos são verificados, como carteiras móveis e pontes entre cadeias. Além disso, os nós leves dependem dos nós completos para fornecer informações de bloco ao verificar transações, mas a participação de mercado atual dos provedores de serviços de nó é relativamente concentrada, então segurança, independência e imediatismo não podem ser totalmente garantidos. Portanto, este artigo explora o equilíbrio entre o custo de aquisição de dados e a latência para que os nós leves alcancem a segurança ótima.

Soluções de Design de Nó de Luz Existente

Bitcoin introduziu a Verificação de Pagamento Simples (SPV) como seu protocolo de nó leve. O SPV permite que nós leves usem Prova de Merkle e cabeçalhos de bloco para verificar se uma transação está incluída em um bloco específico. Portanto, os nós leves só precisam baixar o cabeçalho do bloco da blockchain para verificar a finalidade da transação verificando a profundidade do bloco. Nesse caso, o custo computacional de verificar o consenso pelos nós leves no Bitcoin é relativamente baixo. No entanto, em blockchains de PoS como Ethereum, o design da verificação de consenso é inerentemente mais complexo. Isso envolve manter o conjunto inteiro de validadores, rastrear suas mudanças de participação e realizar muitas verificações de assinatura para a rede de consenso. Por outro lado, a segurança dos nós leves de PoW depende da suposição de que a maioria dos nós completos é honesta. Para lidar com as limitações do SPV, FlyClient e Prova de Trabalho Não Interativa (NiPoPoW) provam esses blocos para os clientes a um custo sublinear. No entanto, a aplicabilidade deles ao modelo de consenso de PoS é fraca.

Por outro lado, as blockchains PoS ganham segurança por meio de mecanismos de corte. O sistema depende de participantes do consenso sendo racionais e não atacando a rede se o custo de um ataque exceder qualquer lucro potencial. Para reduzir os custos de verificação, o protocolo de nó leve atual da Ethereum depende de um comitê de sincronização composto por 512 validadores da Ethereum selecionados aleatoriamente, cada um dos quais aposta 32 Ethereum, mas o processo de assinatura não será multado. Este design irremediável tem uma falha de segurança importante, e assinaturas desonestas no comitê de sincronização podem enganar os nós leves a aceitar dados inválidos sem serem punidos. Mesmo com a introdução de mecanismos de corte, o total apostado pelo Comitê de Sincronização ainda é pequeno em comparação com o enorme pool de validadores da Ethereum (até março de 2024, o número de validadores da Ethereum ultrapassou 1 milhão). Portanto, essa abordagem não pode fornecer aos nós leves segurança equivalente ao conjunto de validadores da Ethereum. Esse modelo representa uma variante especial de computação multipartidária em um ambiente racional, mas falha em fornecer garantias baseadas em economia ou abordar as ameaças apresentadas por provedores de dados maliciosos e irracionais.

Para enfrentar os desafios de segurança e eficiência no processo de inicialização do PoS, o PoPoS introduz um jogo de segmentação para desafiar efetivamente a árvore de Merkle adversária do timing do PoS. Embora alcancem uma pegada mínima e evitem exigir que os clientes estejam sempre online e com apostas, o problema de permitir que os clientes fiquem offline sem incorrer em custos significativos para se reconectar à rede permanece sem solução.

Outra abordagem de pesquisa se concentra em usar provas de conhecimento zero para criar provas concisas. Por exemplo, Mina e Plumo facilitam efetivamente a verificação de consenso leve usando composição SNARK recursiva e provas de transição de estado baseadas em SNARK. No entanto, essas abordagens impõem uma carga computacional considerável aos produtores de blocos para gerar provas, e elas não abordam a questão de compensar os nós leves por possíveis perdas. No contexto de outros protocolos PoS, como o protocolo Tendermint usado no Cosmos, o papel dos nós leves é explorado em seu protocolo de Comunicação Inter-Blockchain (IBC). No entanto, essas implementações são específicas de seus ecossistemas respectivos e não são diretamente aplicáveis ao Ethereum ou a várias outras blockchains PoS.

Novo Design de Nó de Luz

Em termos gerais, a nova solução introduz um módulo de segurança econômica para alcançar a "segurança programável", e os nós leves podem decidir sobre diferentes designs de solução com base em suas próprias necessidades de segurança. A suposição de segurança é basicamente 1/N + 1/M, ou seja, contanto que haja um nó honesto e válido no nó completo e na rede de acusação, a operação normal da rede pode ser garantida.

  • Blockchain: O protocolo é construído em uma blockchain programável, e as regras para finalizar blocos são determinísticas. Por exemplo, na blockchain do Ethereum, a finalização de um bloco requer pelo menos dois épocas subsequentes, o que geralmente leva cerca de 13 minutos.
  • Contrato Inteligente de Penalização: O protocolo inclui um contrato de penalização on-chain que segue a abstração padrão de contrato inteligente. Ele tem acesso ao hash do bloco do bloco anterior na blockchain. Todas as partes podem enviar mensagens para este contrato.
  • Fornecedores de Dados: Os fornecedores de dados executam nós completos e acompanham o estado mais recente da blockchain. Eles prometem ativos e fornecem serviços para verificar a validade do estado solicitado pelos nós leves. Eles assinam todos os dados enviados aos nós leves com a chave secreta correspondente à sua chave pública, verificando assim a origem e integridade dos dados.
  • Promotores: Promotores são nós completos conectados a nós leves para ajudar na verificação de dados. Qualquer pessoa pode se tornar um promotor e lucrar monitorando e punindo partes que se comportam de forma imprópria. Para simplificar, o esquema a seguir assume que cada nó leve está conectado a pelo menos um promotor honesto.
  • Nó Leve: Um nó leve verifica se um estado/transação específico está incluído na blockchain ao menor custo. Durante o processo de verificação, o nó leve se conecta com um grupo de provedores de dados e promotores.
  • Rede: Os provedores de dados formam uma rede peer-to-peer (p2p) e utilizam o protocolo de Gossip para disseminar dados. Nós leves conectam-se a alguns provedores de dados para enviar solicitações e receber respostas.

Opção 1: Segurança em Primeiro Lugar

A Opção 1 principalmente alcança a credibilidade dos dados através da introdução de um período de desafio e uma rede de acusadores. Em poucas palavras, depois que o nó leve recebe os dados assinados pelo provedor, ele envia essa parte dos dados para a rede de acusadores para revisão. Dentro de um certo período, se houver fraude de dados, o acusador lembrará ao nó leve que os dados não são confiáveis, e o módulo de penalidades do contrato inteligente penalizará os tokens prometidos pelo provedor. Por outro lado, o nó leve pode confiar na credibilidade desses dados.

Processo específico de um nó leve solicitando dados:

  1. O nó leve obtém a lista mais recente de provedores de dados da rede atual e determina um período de desafio. Vale ressaltar que este período de desafio é independente entre diferentes nós leves, mas o limite superior do período de desafio se aplica a todos os nós leves. O período de desafio é o tempo mais longo para a rede do acusador verificar a credibilidade dos dados, então quanto mais longo o tempo, maior o atraso por transação.
  2. Após obter a lista, o nó leve selecionará um grupo de provedores de dados e garantirá que seus respectivos fundos apostados sejam maiores do que o valor da transação atual. Teoricamente, quanto maiores os fundos apostados, maior o custo de má conduta do provedor de dados e menor o custo de confiança do nó leve.
  3. O nó leve envia a solicitação de dados correspondente a este grupo de provedores de dados, que inclui o número de bloco correspondente e o estado alvo (a prova de inclusão desta transação).
  4. O provedor de dados envia o hash do bloco correspondente e a prova de inclusão da transação, e anexa uma assinatura.
  5. Após o nó leve receber os materiais acima mencionados, ele os encaminha para a rede de promotores conectados atual. Se nenhuma advertência de credibilidade de dados for recebida após o término do período de desafio, o nó leve verificará esta assinatura e passará no teste de credibilidade de dados se não houver erro.

  1. Mas se um aviso for recebido da rede do promotor, o nó leve precisa descartar a assinatura recebida anteriormente. A rede do promotor enviará a prova relevante para o módulo de penalidades do contrato inteligente. Se o contrato inteligente encontrar que a má conduta de fato ocorreu após verificar os dados, a participação do provedor de dados correspondente será penalizada. Como parte/todos os provedores de dados selecionados foram penalizados, o nó leve precisa obter novamente uma nova lista de provedores de dados da rede atual para confirmar que o evento de redução realmente ocorreu.

Outros pontos:

  • Qualquer nó completo pode ingressar ou sair da rede de provedores de dados iniciando solicitações de “registro” e “saque” para o contrato inteligente. Existe um limite mínimo de participação para se registrar e participar da rede de provedores de dados. Uma vez que um nó completo escolhe iniciar um saque, seu status na rede mudará imediatamente para “saindo” e eles não poderão mais receber solicitações de nós leves, para evitar possíveis comportamentos maliciosos de entrada e saída rápidas. Além disso, a rede de provedores de dados atualiza a lista de provedores de dados atualmente ativos em ciclos, durante os quais os provedores de dados não podem receber fundos de saque. Uma solicitação de saque terá efeito no último bloco do ciclo de atualização atual e a frequência de atualização será maior do que o limite do período de desafio para garantir que todos os testes de disponibilidade de dados dos nós leves tenham sido concluídos. Devido à atividade da rede de provedores de dados, os nós leves precisam obter novamente a lista de provedores ativos atualmente toda vez que a rede é atualizada. Se o ciclo de atualização for estendido, os nós leves podem desfrutar de um processo de verificação mais simplificado (estimando a lista ativa atual através das solicitações de “registro” e “saque” do ciclo anterior), mas os nós que desejam sair enfrentarão um tempo de espera mais longo.
  • Após o recebimento da assinatura de dados, a rede de procuradores verifica se a assinatura pertence ao provedor de dados e avalia se os dados foram “finalmente confirmados” na rede de consenso. Se os dados não aparecerem em uma cadeia razoável, existem duas possibilidades. Primeiro, os dados ainda não foram finalmente confirmados pela blockchain atual, diferentes blockchains têm regras diferentes de finalidade, como o princípio da cadeia mais longa. Segundo, a transação está em um bloco de outra cadeia razoável. Se os dados acima forem considerados falsificados, a rede de procuradores enviará uma solicitação de redução ao contrato inteligente, que inclui a chave pública do provedor de dados, a assinatura do provedor de dados, o número do bloco e, ao mesmo tempo, envia uma prova do evento de redução para lembrar o nó leve. Após receber esses dados, o contrato inteligente mede se o número do bloco atualmente confirmado é consistente com os dados recebidos de acordo com o princípio de finalidade da camada de consenso. Se estiverem inconsistentes, o evento de redução é acionado. Além disso, se um provedor de dados escolhido pelo nó leve for reduzido devido a outro grupo de solicitações de dados, a rede de procuradores enviará prontamente o evento de redução para lembrar o nó leve de que a credibilidade dos dados do provedor de dados é baixa, e o nó leve então reobterá a lista e selecionará outros provedores.

Avaliar:

  • Segurança: O nó leve determina o custo do comportamento malicioso para os provedores de dados racionais e irracionais por meio do módulo de staking e da rede de procuradores, aprimorando a credibilidade dos dados. No entanto, como todo o protocolo é baseado na rede de consenso (este artigo testa no Ethereum), uma vez que a camada de consenso é atacada, o protocolo também pode enfrentar uma potencial crise de confiança. Portanto, um mecanismo de reputação pode ser introduzido para garantir riscos sistêmicos em situações extremas.
  • Segurança ao Nível do Nó Completo: Este esquema tem como objetivo fornecer segurança equivalente à suposição de PoS do Ethereum, ou seja, os nós completos precisam suportar o risco de corte por fazer declarações falsas.
  • Atividade da Rede: Se a rede atual tiver apenas alguns provedores de dados racionais, o nó leve enfrentará múltiplas rodadas de atraso, mas como o throughput de cada provedor de dados não é zero, cada solicitação será sempre concluída. Portanto, desde que a rede tenha um nó completo racional, ela pode garantir que a rede continue a operar. Ao mesmo tempo, como a renda dos provedores de dados está vinculada à quantidade de staking, isso também incentiva os nós completos a proteger a rede staking mais do que o necessário.
  • Eficiência: A equipe de autores do artigo prevê que os validadores do Ethereum sejam os principais usuários que participam dos provedores de dados, já que os validadores já estão executando nós completos e podem obter renda adicional através deste protocolo. Pequenas transações podem obter dados confiáveis através de um único provedor de dados (o nó leve só precisa verificar uma vez), enquanto grandes transações podem precisar de vários provedores de dados para obter dados confiáveis (o número de verificações aumenta linearmente com o número de provedores).

Opção 2: Eficiência Primeiro

A Solução 2 realiza a confirmação rápida de dados ao propor um mecanismo de seguro com base na Solução 1. Em termos simples, após o nó leve determinar o seguro de acordo com o valor da apólice e a duração, parte/toda a garantia do provedor de dados pode ser reembolsada pelas perdas subsequentes do nó leve devido à má fé dos dados. Portanto, após o nó leve receber e verificar a assinatura dos dados fornecida pelo provedor, ele pode determinar a credibilidade inicial dos dados.

Processo específico de solicitação de dados do nó de luz:

  1. O nó leve calcula a perda potencial máxima da transação atual e, em seguida, define o valor da apólice de seguro e o período de seguro. A quantia de fundos prometida pelo provedor de dados para o seguro deve ser maior do que o valor da apólice de seguro para garantir fundos suficientes para o reembolso.
  2. O nó leve determina o período de desafio para a transação. Vale ressaltar que o período de política pode abranger as verificações de inclusão de múltiplas transações, portanto, o período total de desafio selecionado pelo nó leve não pode exceder o período de política, caso contrário algumas transações podem não ser cobertas.
  3. Após selecionar os parâmetros (valor da apólice, prazo da apólice, valor dos fundos prometidos pelo provedor de dados para seguro, lista de provedores de dados pretendidos), o nó leve pode enviar uma solicitação ao contrato inteligente. Em seguida, após aguardar o tempo de confirmação final do bloco, ele pode verificar se a compra do seguro foi bem-sucedida. Se falhar, pode ser porque outros nós leves também selecionaram o provedor de dados e liquidaram primeiro, então a promessa restante não é suficiente para corresponder à sua demanda original.
  4. O nó leve envia uma solicitação de dados, que inclui o número do seguro, além do número do bloco e do estado alvo (prova de inclusão da transação).
  5. O provedor de dados envia os dados e a assinatura, o nó leve verifica a assinatura e encaminha para a rede de promotores e, em seguida, a transação foi preliminarmente confirmada.
  6. Após receber os dados e a assinatura, o promotor verificará inicialmente a credibilidade dos dados. Se houver algum comportamento malicioso, o promotor apresentará a prova ao contrato inteligente e imporá uma multa ao provedor de dados correspondente, que será distribuída aos nós de luz.

Outros pontos:

  • Os tokens de seguro depositados pelo provedor de dados são independentes entre si entre diferentes solicitações de nós leves para evitar o risco de múltiplos reembolsos de seguro. Após o nó leve selecionar o provedor de dados, o contrato inteligente bloqueará os tokens correspondentes prometidos para seguro, e outros nós leves não poderão alocar esta parte da promessa antes do final do período de seguro. Se as transações forem independentes, o valor do seguro é o mesmo que o valor máximo da transação. Caso contrário, o valor do seguro é o mesmo que o valor total da transação. Sob o mesmo valor de promessa, os nós leves geralmente escolhem o menor número possível de provedores de dados para garantir a eficiência da verificação.
  • Embora o fornecedor de dados possa iniciar uma solicitação de “saque” antes do final do período de seguro, o valor do saque só será recebido após o final do período de seguro.
  • Estritamente falando, o período da apólice de seguro deve ser maior do que o tempo de confirmação do último bloco + período total de desafio + atraso de comunicação + atraso de cálculo/verificação. Quanto mais provedores de dados você escolher, maior será o período da apólice de seguro com base no período total de desafio.

Avaliar:

  • Escalabilidade: A escalabilidade da Opção 2 é determinada pela quantidade total de tokens que os provedores de dados estão dispostos a apostar para seguro.
  • Custo da política: Como os níveis mais altos de segurança estão ligados ao ciclo de desafio, isso significa que o fornecedor de dados deve apostar por um período maior ou igual ao ciclo de desafio. Portanto, quanto maiores forem os requisitos de segurança, mais longo será o ciclo de aposta e mais alta será a taxa paga pelo nó leve. De acordo com a fórmula, o custo da aposta do fornecedor de dados é calculado pela renda do nó do fornecedor de dados/(utilização média da aposta ao longo do ano multiplicada pelo número total de blocos por ano). O preço que o nó leve precisa pagar é o custo da aposta multiplicado pelo período e tamanho da política.

Efetividade da Solução

Primeiro, em termos de eficiência de computação de nó leve, ambas as soluções de nó leve demonstram eficiência de verificação em nível de milissegundos (os nós leves só precisam verificar os dados uma vez).

Em segundo lugar, em termos de latência do nó leve, em diferentes cenários de configuração experimental (consulte a figura abaixo), a latência está no nível de milissegundos. Vale ressaltar que a latência aumenta linearmente com o número de provedores de dados, mas a latência está sempre no nível de milissegundos. Além disso, na Solução 1, uma vez que o nó leve precisa esperar pelos resultados do período de desafio, a latência é de 5 horas. Se a rede do inspetor for confiável e eficiente o suficiente, essa latência de 5 horas também pode ser significativamente reduzida.

Terceiro, em termos de custos do nó leve, na realidade, existem dois custos para os nós leves: taxa de gás e prêmio de seguro, ambos os quais aumentarão à medida que o valor da apólice de seguro aumenta. Além disso, para os inspetores, o gás envolvido na submissão de dados será reembolsado com o valor da multa para garantir incentivos de participação suficientes.

Direção de Extensão

  • Mais Colateral: Atualmente, o token apostado pelos provedores de dados é ETH, mas as informações de transação são calculadas com base no padrão U, o que significa que os nós leves precisam medir a taxa de câmbio do ETH toda vez que obtêm dados para garantir que a quantidade de colateral seja suficientemente alta. Se for permitido apostar em vários tokens, os provedores de dados podem ter mais opções de aposta, evitando assim a exposição ao risco de uma única moeda.
  • Autorização: Similar à mineração conjunta, alguns investidores de varejo podem participar da rede de provedores de dados autorizando seu próprio ETH ao nó completo, e os lucros são distribuídos de acordo com seu próprio acordo. Por favor, consulte LSD.
  • Garantia de Bloqueio: Para evitar esperar pelo período de confirmação final (12-13 segundos no Ethereum), os nós leves podem usar uma garantia para reduzir esse tempo de espera. O nó leve primeiro adicionará um símbolo/identificação ao solicitar dados e determinará que tipo de garantia é necessária (confirmação final/proposta). O provedor de dados fornece os dados correspondentes e a assinatura após receber a solicitação. Quando o provedor de dados não possui um bloco proposto sob a situação de 'garantia proposta', eles serão multados.
    \
    Nota: Os blocos propostos eventualmente serão finalizados ou se tornarão blocos tios.
  • Custo e Taxas: Para a rede do promotor, eles precisam apostar uma certa quantidade de tokens (maior que o gás) para enviar provas ao contrato inteligente. Além disso, o custo desta parte da prova pode ser reduzido através do método zkp. Além disso, sob o mecanismo de seguro, os prêmios enviados pelos nós leves serão dados aos provedores de dados, enquanto a rede do promotor extrairá parte da receita da penalidade dos provedores maliciosos.
  • Disponibilidade de Dados: Os provedores de dados são essencialmente nós completos. Além de participar da rede de camada de consenso, eles também podem verificar a disponibilidade dos dados. Existem dois tipos de esquemas para verificar a disponibilidade: modelo Pull e modelo Push. O primeiro refere-se ao nó leve extrair aleatoriamente dados obtidos do nó completo. O último refere-se ao produtor de bloco distribuindo blocos diferentes para os provedores de dados. Para os provedores de dados que adotam o modelo Pull, eles são responsáveis por retornar solicitações de amostragem. Após receber os dados, o nó leve os encaminha para o nó/validador confiável, e eles tentam restaurar o bloco. Se falharem, o provedor de dados será multado. O protocolo de nó leve neste artigo propõe um mecanismo de seguro com base nisso, fornecendo uma nova direção de exploração para a pesquisa de disponibilidade de dados.

Conclusão e Avaliação

A solução de nó leve proposta neste artigo fornece 'segurança programável' para atender aos requisitos de segurança em diferentes situações. A Opção 1 troca maior latência por alta segurança, enquanto a Opção 2 fornece serviços de 'confirmação instantânea' para nós leves, introduzindo um mecanismo de seguro. Essas soluções podem ser usadas em cenários onde a finalidade das transações precisa ser confirmada, como transações atômicas e entre cadeias.

Isenção de Responsabilidade:

  1. Este artigo foi reproduzido a partir de [Parceiros Eureka]. Encaminhe o Título Original 'TeleportDAO: a Batalha entre Segurança e Eficiência na Validação de Dados - Últimas Práticas de Design de Nós Leves'. Todos os direitos autorais pertencem ao autor original [Andy、Arthur]*. Se houver objeções a esse reprint, entre em contato com oPortão Aprenderequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!