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

Principiante5/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 em 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 cadeias e da tecnologia blockchain.

Encaminhe o Título Original 'TeleportDAO: Jogo de Segurança e Eficiência na Verificação de Dados - Últimas Práticas de Design de Nó Leve'

TL;DR

A TeleportDAO e a Eigen Labs publicaram recentemente em conjunto um artigo focado nos desafios de segurança e eficiência enfrentados pelos nós leves ao aceder e verificar dados on-chain em blockchains de prova de participação (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” personalizada e rentabilidade. É muito visionário e merece um estudo aprofundado.

Nota: Eigen Labs é o desenvolvedor por trás dos protocolos Restaking EigenLayer e EigenDA. A Eigen Labs já levantou mais de 150 milhões de dólares dos Estados Unidos de instituições conhecidas de capital de risco, 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 conseguiu angariar com sucesso 9 milhões de dólares numa rodada de vendas públicas e financiamento através da Coinlist. Esta rodada de financiamento contou com a participação de vários 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 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 deste mecanismo de redução baseia-se numa funcionalidade chamada "segurança de responsabilidade", ou seja, se o validador assinar um estado conflituoso, 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ção do bloco, verificam as 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 em que transações/estados 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ós é relativamente concentrada, portanto, a 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 os nós leves alcançarem a segurança ótima.

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

O Bitcoin introduziu a Verificação de Pagamento Simples (SPV) como seu protocolo de nó leve. O SPV permite que os nós leves usem a Prova de Merkle e os 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. Neste caso, o custo computacional de verificar o consenso pelos nós leves no Bitcoin é relativamente baixo. No entanto, em blockchains PoS como o Ethereum, o design da verificação de consenso é inherentemente mais complexo. Envolve manter todo o conjunto de validadores, rastreando suas alterações de participação e realizando 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 abordar as limitações do SPV, o FlyClient e a Prova de Trabalho Não Interativa (NiPoPoW) provam esses blocos aos clientes a um custo sublinear. No entanto, sua aplicabilidade ao modelo de consenso PoS é fraca.

Por outro lado, as blockchains PoS ganham segurança através de mecanismos de corte. O sistema depende dos participantes do consenso serem racionais e não atacarem 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 do Ethereum depende de um comitê de sincronização composto por 512 validadores Ethereum selecionados aleatoriamente, cada um dos quais aposta 32 Ethereum, mas o processo de assinatura não será multado. Este design à prova de corte tem uma grande falha de segurança, e assinaturas desonestas no comitê de sincronização podem induzir os nós leves a aceitar dados inválidos sem serem punidos. Mesmo com a introdução de mecanismos de corte, a participação total do Comitê de Sincronização ainda é pequena em comparação com o enorme pool de validadores do Ethereum (em março de 2024, o número de validadores do Ethereum superou 1 milhão). Portanto, essa abordagem não pode fornecer aos nós leves segurança equivalente ao conjunto de validadores do Ethereum. Esse modelo representa uma variante especial de computação multipartidária em um cenário racional, mas falha em fornecer garantias baseadas na 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 PoS, o PoPoS introduz um jogo de segmentação para desafiar eficazmente a árvore de Merkle adversária do timing PoS. Embora alcancem um impacto mínimo e evitem exigir que os clientes estejam sempre online e ativos, o problema de permitir que os clientes fiquem offline sem incorrer em custos significativos para se reconectar à rede permanece por resolver.

Outra abordagem de pesquisa foca em usar provas de conhecimento zero para criar provas concisas. Por exemplo, Mina e Plumo facilitam eficazmente 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 não abordam a questão de compensar nós leves por possíveis perdas. No contexto de outros protocolos de 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 de 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 desenhos de solução com base nas suas próprias necessidades de segurança. A suposição de segurança é basicamente 1/N + 1/M, ou seja, desde que haja um nó honesto e válido no nó completo e na rede de procuradores, a operação normal da rede pode ser garantida.

  • Blockchain: O protocolo é construído numa blockchain programável, e as regras para finalizar blocos são determinísticas. Por exemplo, na blockchain Ethereum, a finalização de um bloco requer pelo menos dois épicos subsequentes, o que normalmente demora cerca de 13 minutos.
  • Contrato Inteligente de Penalização: O protocolo inclui um contrato de penalização on-chain que se conforma com a abstração padrão de contrato inteligente. 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 comprometem 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.
  • Procuradores: Os procuradores são nós completos ligados a nós ligeiros para ajudar na verificação de dados. Qualquer pessoa pode tornar-se um procurador e lucrar ao monitorizar e reduzir partes que se comportam de forma inadequada. Para simplificar, o esquema seguinte assume que cada nó ligeiro está ligado a pelo menos um procurador 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 conecta-se a um grupo de provedores de dados e acusadores.
  • Rede: Os fornecedores de dados formam uma rede peer-to-peer (p2p) e usam o protocolo Gossip para disseminar dados. Os nós leves conectam-se a alguns fornecedores de dados para enviar pedidos 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 de uma rede de procuradores. Em termos simples, após o nó leve receber os dados assinados pelo provedor, envia esta parte dos dados para a rede de procuradores para revisão. Dentro de um certo período, se houver fraude de dados, o procurador lembrará o nó leve de que os dados não são credí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 a solicitar 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 promotor verificar a credibilidade dos dados, portanto, quanto maior o tempo, maior o atraso por transação.
  2. Após obter a lista, o nó leve irá selecionar um grupo de fornecedores de dados e garantir que os respetivos fundos bloqueados sejam superiores ao valor da transação atual. Teoricamente, quanto maiores os fundos bloqueados, maior o custo do comportamento inadequado do fornecedor de dados e menor o custo de confiança do nó leve.
  3. O nó leve envia o pedido de dados correspondente a este grupo de fornecedores de dados, que inclui o número de bloco correspondente e o estado alvo (a prova de inclusão desta transação).
  4. O fornecedor 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 procuradores conectados atual. Se nenhum aviso de credibilidade de dados for recebido 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 acusador, o nó leve precisa descartar a assinatura recebida anteriormente. A rede do acusador irá submeter a prova relevante ao módulo de penalização do contrato inteligente. Se o contrato inteligente verificar que a má conduta de fato ocorreu após verificar os dados, a aposta do provedor de dados correspondente será penalizada. Uma vez que parte/todos os provedores de dados selecionados tenham sido penalizados, o nó leve precisa obter novamente uma nova lista de provedores de dados da rede atual para confirmar que o evento de penalização de fato ocorreu.

Outros pontos:

  • Qualquer nó completo pode juntar-se ou sair da rede de fornecedores de dados iniciando pedidos de “registo” e “levantamento” ao contrato inteligente. Existe um limiar mínimo de participação para se registar na rede de fornecedores de dados. Uma vez que um nó completo escolhe iniciar um levantamento, o seu estado na rede mudará imediatamente para “a sair” e eles já não podem receber pedidos de nós leves, para prevenir um comportamento malicioso de entrada e saída rápidas. Além disso, a rede de fornecedores de dados atualiza a lista de fornecedores de dados atualmente ativos em ciclos, durante os quais os fornecedores de dados não podem receber fundos de levantamento. Um pedido de levantamento 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 de nós leves tenham sido concluídos. Devido à atividade da rede de fornecedores de dados, os nós leves precisam de voltar a obter a lista de fornecedores atualmente ativos sempre que a rede é atualizada. Se o ciclo de atualização for prolongado, os nós leves podem desfrutar de um processo de verificação mais simplificado (através da estimativa da lista ativa atual através dos pedidos de “registo” e “levantamento” do ciclo anterior), mas os nós que desejam sair enfrentarão um tempo de espera mais longo.
  • Após receber a assinatura de dados, a rede do procurador verifica se a assinatura pertence ao fornecedor 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 pelo blockchain atual, diferentes cadeias têm diferentes regras 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 do procurador enviará um pedido de corte para o contrato inteligente, que inclui a chave pública do fornecedor de dados, a assinatura do fornecedor de dados, o número do bloco, e ao mesmo tempo envia uma prova do evento de corte para lembrar o nó leve. Após receber esses dados, o contrato inteligente mede se o número do bloco atual finalmente confirmado é consistente com os dados recebidos de acordo com o princípio de finalidade da camada de consenso. Se forem inconsistentes, então o evento de corte é acionado. Além disso, se um fornecedor de dados escolhido pelo nó leve for cortado por causa de outro grupo de pedidos de dados, a rede do procurador enviará prontamente o evento de corte para lembrar o nó leve de que a credibilidade dos dados do fornecedor de dados é baixa, e o nó leve então re-obterá a lista e selecionará outros fornecedores.

Avaliar:

  • Segurança: O nó leve determina o custo do comportamento malicioso para os fornecedores de dados racionais e irracionais através do módulo de aposta e da rede de procura, aumentando a credibilidade dos dados. No entanto, uma vez que 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, pode ser introduzido um mecanismo de reputação adicional para garantir o risco sistémico 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 da Ethereum, ou seja, os nós completos precisam assumir o risco de penalização por fazerem falsas declarações.
  • Atividade da rede: Se a rede atual apenas tiver alguns fornecedores de dados racionais, o nó leve enfrentará múltiplas rodadas de atraso, mas como o throughput de cada fornecedor de dados não é zero, cada solicitação será sempre completada. Portanto, desde que a rede tenha um nó completo racional, pode garantir que a rede continue a operar. Ao mesmo tempo, como a receita dos fornecedores de dados está ligada à quantidade de staking, isso também incentiva os nós completos a proteger a rede fazendo mais staking do que o necessário.
  • Eficiência: A equipe de autores do artigo prevê que os validadores do Ethereum são os principais utilizadores que participam dos fornecedores de dados, uma vez que os validadores já estão a executar nós completos e podem obter rendimentos adicionais através deste protocolo. Pequenas transações podem obter dados credíveis através de um único fornecedor de dados (o nó leve apenas precisa de verificar uma vez), enquanto transações grandes podem precisar de vários fornecedores de dados para obter dados credíveis (o número de verificações aumenta linearmente com o número de fornecedores).

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, depois de o nó leve determinar o seguro de acordo com o valor e a duração da apólice, parte/toda a garantia do fornecedor 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 de dados fornecida pelo fornecedor, ele pode determinar a credibilidade inicial dos dados.

Processo específico de um nó leve a solicitar dados:

  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. O valor dos fundos prometidos pelo provedor de dados para o seguro deve ser maior do que o valor da apólice de seguro para garantir fundos de reembolso suficientes.
  2. O nó leve determina o período de desafio para a transação. Vale ressaltar que o período de política pode cobrir as verificações de inclusão de várias 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 (montante da apólice, prazo da apólice, montante dos fundos prometidos pelo fornecedor de dados para o seguro, lista de fornecedores de dados pretendidos), o nó leve pode enviar um pedido ao contrato inteligente. Em seguida, após aguardar o tempo de confirmação final do bloco, pode verificar se a compra do seguro foi bem-sucedida. Se falhar, pode ser porque outros nós leves também selecionaram o fornecedor de dados e resolveram primeiro, então a promessa restante não é suficiente para corresponder à sua demanda original.
  4. O nó leve envia um pedido de dados, que inclui o número de seguro além do número do bloco e do estado alvo (prova de inclusão da transação).
  5. O fornecedor de dados envia os dados e a assinatura, o nó leve verifica a assinatura e encaminha-a para a rede do procurador e, em seguida, a transação foi preliminarmente confirmada.
  6. Após receber os dados e a assinatura, o procurador verificará inicialmente a credibilidade dos dados. Se houver algum comportamento malicioso, o procurador submeterá a prova ao contrato inteligente e imporá uma multa ao fornecedor de dados correspondente, que será distribuída aos nós leves.

Outros pontos:

  • Os tokens de seguro apostados 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 o 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 um pedido de “levantamento” antes do final do período de seguro, o montante do levantamento 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 bloco final + 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:

  • A escalabilidade: A escalabilidade da Opção 2 é determinada pela quantidade total de tokens que os provedores de dados estão dispostos a apostar para seguros.
  • Custo da Política: Devido aos níveis de segurança mais elevados estarem 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 os requisitos de segurança, mais longo é o ciclo de aposta e mais elevada é a taxa paga pelo nó leve. De acordo com a fórmula, o custo da aposta do fornecedor de dados é calculado pela receita 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.

Eficácia da Solução

Em primeiro lugar, em termos de eficiência computacional de nó leve, ambas as soluções de nó leve demonstram eficiência de verificação ao nível do milissegundo (os nós leves só precisam de verificar os dados uma vez).

Em segundo lugar, em termos de latência do nó leve, em diferentes cenários de configuração experimental (ver figura abaixo), a latência está ao nível do milissegundo. Vale ressaltar que a latência aumenta linearmente com o número de provedores de dados, mas a latência está sempre ao nível do milissegundo. 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 de inspetores for confiável e eficiente o suficiente, essa latência de 5 horas também pode ser significativamente reduzida.

Em terceiro lugar, 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 política de seguro aumentar. 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 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: Semelhante à mineração conjunta, alguns investidores a retalho podem participar na rede de fornecedores de dados, autorizando o seu próprio ETH ao nó completo, e os lucros são distribuídos de acordo com o seu próprio acordo. Por favor, consulte a 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 adicionará primeiro 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 o pedido. Quando o provedor de dados não tem um bloco proposto sob a situação de 'garantia proposta', eles serão multados.
    \
    Nota: Os blocos propostos serão eventualmente finalizados ou tornar-se-ão blocos tio.
  • Custo e Taxas: Para a rede de acusação, eles precisam apostar uma certa quantidade de tokens (maior que gás) para submeter 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 submetidos pelos nós leves serão dados aos provedores de dados, enquanto a rede de acusação extrairá parte da renda de penalização dos provedores maliciosos.
  • Disponibilidade de dados: Os provedores de dados são essencialmente nós completos. Além de participar na rede de camada de consenso, eles também podem verificar a disponibilidade de dados. Existem dois tipos de esquemas para verificar a disponibilidade: modelo de Puxar (Pull) e modelo de Empurrar (Push). O primeiro refere-se ao nó leve que extrai aleatoriamente os dados obtidos do nó completo. O segundo refere-se ao produtor de blocos que distribui diferentes blocos para os provedores de dados. Para os provedores de dados que adotam o modelo de Puxar (Pull), eles são responsáveis por retornar os pedidos de amostragem. Após receber os dados, o nó leve encaminha-os 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 latência mais alta 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.

Aviso legal:

  1. Este artigo é reproduzido a partir de [GateParceiros Eureka]. Avançar o Título Original 'TeleportDAO: A Jogo entre Segurança e Eficiência de Verificação de Dados - As Últimas Práticas de Design de Nó Leve'. Todos os direitos autorais pertencem ao autor original [Andy、Arthur]*. Se houver objeções a esta reimpressão, por favor entre em contato com oGate Learnequipa e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente as do autor e não constituem qualquer 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

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

Principiante5/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 em 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 cadeias e da tecnologia blockchain.

Encaminhe o Título Original 'TeleportDAO: Jogo de Segurança e Eficiência na Verificação de Dados - Últimas Práticas de Design de Nó Leve'

TL;DR

A TeleportDAO e a Eigen Labs publicaram recentemente em conjunto um artigo focado nos desafios de segurança e eficiência enfrentados pelos nós leves ao aceder e verificar dados on-chain em blockchains de prova de participação (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” personalizada e rentabilidade. É muito visionário e merece um estudo aprofundado.

Nota: Eigen Labs é o desenvolvedor por trás dos protocolos Restaking EigenLayer e EigenDA. A Eigen Labs já levantou mais de 150 milhões de dólares dos Estados Unidos de instituições conhecidas de capital de risco, 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 conseguiu angariar com sucesso 9 milhões de dólares numa rodada de vendas públicas e financiamento através da Coinlist. Esta rodada de financiamento contou com a participação de vários 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 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 deste mecanismo de redução baseia-se numa funcionalidade chamada "segurança de responsabilidade", ou seja, se o validador assinar um estado conflituoso, 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ção do bloco, verificam as 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 em que transações/estados 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ós é relativamente concentrada, portanto, a 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 os nós leves alcançarem a segurança ótima.

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

O Bitcoin introduziu a Verificação de Pagamento Simples (SPV) como seu protocolo de nó leve. O SPV permite que os nós leves usem a Prova de Merkle e os 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. Neste caso, o custo computacional de verificar o consenso pelos nós leves no Bitcoin é relativamente baixo. No entanto, em blockchains PoS como o Ethereum, o design da verificação de consenso é inherentemente mais complexo. Envolve manter todo o conjunto de validadores, rastreando suas alterações de participação e realizando 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 abordar as limitações do SPV, o FlyClient e a Prova de Trabalho Não Interativa (NiPoPoW) provam esses blocos aos clientes a um custo sublinear. No entanto, sua aplicabilidade ao modelo de consenso PoS é fraca.

Por outro lado, as blockchains PoS ganham segurança através de mecanismos de corte. O sistema depende dos participantes do consenso serem racionais e não atacarem 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 do Ethereum depende de um comitê de sincronização composto por 512 validadores Ethereum selecionados aleatoriamente, cada um dos quais aposta 32 Ethereum, mas o processo de assinatura não será multado. Este design à prova de corte tem uma grande falha de segurança, e assinaturas desonestas no comitê de sincronização podem induzir os nós leves a aceitar dados inválidos sem serem punidos. Mesmo com a introdução de mecanismos de corte, a participação total do Comitê de Sincronização ainda é pequena em comparação com o enorme pool de validadores do Ethereum (em março de 2024, o número de validadores do Ethereum superou 1 milhão). Portanto, essa abordagem não pode fornecer aos nós leves segurança equivalente ao conjunto de validadores do Ethereum. Esse modelo representa uma variante especial de computação multipartidária em um cenário racional, mas falha em fornecer garantias baseadas na 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 PoS, o PoPoS introduz um jogo de segmentação para desafiar eficazmente a árvore de Merkle adversária do timing PoS. Embora alcancem um impacto mínimo e evitem exigir que os clientes estejam sempre online e ativos, o problema de permitir que os clientes fiquem offline sem incorrer em custos significativos para se reconectar à rede permanece por resolver.

Outra abordagem de pesquisa foca em usar provas de conhecimento zero para criar provas concisas. Por exemplo, Mina e Plumo facilitam eficazmente 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 não abordam a questão de compensar nós leves por possíveis perdas. No contexto de outros protocolos de 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 de 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 desenhos de solução com base nas suas próprias necessidades de segurança. A suposição de segurança é basicamente 1/N + 1/M, ou seja, desde que haja um nó honesto e válido no nó completo e na rede de procuradores, a operação normal da rede pode ser garantida.

  • Blockchain: O protocolo é construído numa blockchain programável, e as regras para finalizar blocos são determinísticas. Por exemplo, na blockchain Ethereum, a finalização de um bloco requer pelo menos dois épicos subsequentes, o que normalmente demora cerca de 13 minutos.
  • Contrato Inteligente de Penalização: O protocolo inclui um contrato de penalização on-chain que se conforma com a abstração padrão de contrato inteligente. 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 comprometem 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.
  • Procuradores: Os procuradores são nós completos ligados a nós ligeiros para ajudar na verificação de dados. Qualquer pessoa pode tornar-se um procurador e lucrar ao monitorizar e reduzir partes que se comportam de forma inadequada. Para simplificar, o esquema seguinte assume que cada nó ligeiro está ligado a pelo menos um procurador 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 conecta-se a um grupo de provedores de dados e acusadores.
  • Rede: Os fornecedores de dados formam uma rede peer-to-peer (p2p) e usam o protocolo Gossip para disseminar dados. Os nós leves conectam-se a alguns fornecedores de dados para enviar pedidos 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 de uma rede de procuradores. Em termos simples, após o nó leve receber os dados assinados pelo provedor, envia esta parte dos dados para a rede de procuradores para revisão. Dentro de um certo período, se houver fraude de dados, o procurador lembrará o nó leve de que os dados não são credí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 a solicitar 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 promotor verificar a credibilidade dos dados, portanto, quanto maior o tempo, maior o atraso por transação.
  2. Após obter a lista, o nó leve irá selecionar um grupo de fornecedores de dados e garantir que os respetivos fundos bloqueados sejam superiores ao valor da transação atual. Teoricamente, quanto maiores os fundos bloqueados, maior o custo do comportamento inadequado do fornecedor de dados e menor o custo de confiança do nó leve.
  3. O nó leve envia o pedido de dados correspondente a este grupo de fornecedores de dados, que inclui o número de bloco correspondente e o estado alvo (a prova de inclusão desta transação).
  4. O fornecedor 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 procuradores conectados atual. Se nenhum aviso de credibilidade de dados for recebido 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 acusador, o nó leve precisa descartar a assinatura recebida anteriormente. A rede do acusador irá submeter a prova relevante ao módulo de penalização do contrato inteligente. Se o contrato inteligente verificar que a má conduta de fato ocorreu após verificar os dados, a aposta do provedor de dados correspondente será penalizada. Uma vez que parte/todos os provedores de dados selecionados tenham sido penalizados, o nó leve precisa obter novamente uma nova lista de provedores de dados da rede atual para confirmar que o evento de penalização de fato ocorreu.

Outros pontos:

  • Qualquer nó completo pode juntar-se ou sair da rede de fornecedores de dados iniciando pedidos de “registo” e “levantamento” ao contrato inteligente. Existe um limiar mínimo de participação para se registar na rede de fornecedores de dados. Uma vez que um nó completo escolhe iniciar um levantamento, o seu estado na rede mudará imediatamente para “a sair” e eles já não podem receber pedidos de nós leves, para prevenir um comportamento malicioso de entrada e saída rápidas. Além disso, a rede de fornecedores de dados atualiza a lista de fornecedores de dados atualmente ativos em ciclos, durante os quais os fornecedores de dados não podem receber fundos de levantamento. Um pedido de levantamento 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 de nós leves tenham sido concluídos. Devido à atividade da rede de fornecedores de dados, os nós leves precisam de voltar a obter a lista de fornecedores atualmente ativos sempre que a rede é atualizada. Se o ciclo de atualização for prolongado, os nós leves podem desfrutar de um processo de verificação mais simplificado (através da estimativa da lista ativa atual através dos pedidos de “registo” e “levantamento” do ciclo anterior), mas os nós que desejam sair enfrentarão um tempo de espera mais longo.
  • Após receber a assinatura de dados, a rede do procurador verifica se a assinatura pertence ao fornecedor 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 pelo blockchain atual, diferentes cadeias têm diferentes regras 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 do procurador enviará um pedido de corte para o contrato inteligente, que inclui a chave pública do fornecedor de dados, a assinatura do fornecedor de dados, o número do bloco, e ao mesmo tempo envia uma prova do evento de corte para lembrar o nó leve. Após receber esses dados, o contrato inteligente mede se o número do bloco atual finalmente confirmado é consistente com os dados recebidos de acordo com o princípio de finalidade da camada de consenso. Se forem inconsistentes, então o evento de corte é acionado. Além disso, se um fornecedor de dados escolhido pelo nó leve for cortado por causa de outro grupo de pedidos de dados, a rede do procurador enviará prontamente o evento de corte para lembrar o nó leve de que a credibilidade dos dados do fornecedor de dados é baixa, e o nó leve então re-obterá a lista e selecionará outros fornecedores.

Avaliar:

  • Segurança: O nó leve determina o custo do comportamento malicioso para os fornecedores de dados racionais e irracionais através do módulo de aposta e da rede de procura, aumentando a credibilidade dos dados. No entanto, uma vez que 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, pode ser introduzido um mecanismo de reputação adicional para garantir o risco sistémico 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 da Ethereum, ou seja, os nós completos precisam assumir o risco de penalização por fazerem falsas declarações.
  • Atividade da rede: Se a rede atual apenas tiver alguns fornecedores de dados racionais, o nó leve enfrentará múltiplas rodadas de atraso, mas como o throughput de cada fornecedor de dados não é zero, cada solicitação será sempre completada. Portanto, desde que a rede tenha um nó completo racional, pode garantir que a rede continue a operar. Ao mesmo tempo, como a receita dos fornecedores de dados está ligada à quantidade de staking, isso também incentiva os nós completos a proteger a rede fazendo mais staking do que o necessário.
  • Eficiência: A equipe de autores do artigo prevê que os validadores do Ethereum são os principais utilizadores que participam dos fornecedores de dados, uma vez que os validadores já estão a executar nós completos e podem obter rendimentos adicionais através deste protocolo. Pequenas transações podem obter dados credíveis através de um único fornecedor de dados (o nó leve apenas precisa de verificar uma vez), enquanto transações grandes podem precisar de vários fornecedores de dados para obter dados credíveis (o número de verificações aumenta linearmente com o número de fornecedores).

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, depois de o nó leve determinar o seguro de acordo com o valor e a duração da apólice, parte/toda a garantia do fornecedor 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 de dados fornecida pelo fornecedor, ele pode determinar a credibilidade inicial dos dados.

Processo específico de um nó leve a solicitar dados:

  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. O valor dos fundos prometidos pelo provedor de dados para o seguro deve ser maior do que o valor da apólice de seguro para garantir fundos de reembolso suficientes.
  2. O nó leve determina o período de desafio para a transação. Vale ressaltar que o período de política pode cobrir as verificações de inclusão de várias 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 (montante da apólice, prazo da apólice, montante dos fundos prometidos pelo fornecedor de dados para o seguro, lista de fornecedores de dados pretendidos), o nó leve pode enviar um pedido ao contrato inteligente. Em seguida, após aguardar o tempo de confirmação final do bloco, pode verificar se a compra do seguro foi bem-sucedida. Se falhar, pode ser porque outros nós leves também selecionaram o fornecedor de dados e resolveram primeiro, então a promessa restante não é suficiente para corresponder à sua demanda original.
  4. O nó leve envia um pedido de dados, que inclui o número de seguro além do número do bloco e do estado alvo (prova de inclusão da transação).
  5. O fornecedor de dados envia os dados e a assinatura, o nó leve verifica a assinatura e encaminha-a para a rede do procurador e, em seguida, a transação foi preliminarmente confirmada.
  6. Após receber os dados e a assinatura, o procurador verificará inicialmente a credibilidade dos dados. Se houver algum comportamento malicioso, o procurador submeterá a prova ao contrato inteligente e imporá uma multa ao fornecedor de dados correspondente, que será distribuída aos nós leves.

Outros pontos:

  • Os tokens de seguro apostados 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 o 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 um pedido de “levantamento” antes do final do período de seguro, o montante do levantamento 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 bloco final + 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:

  • A escalabilidade: A escalabilidade da Opção 2 é determinada pela quantidade total de tokens que os provedores de dados estão dispostos a apostar para seguros.
  • Custo da Política: Devido aos níveis de segurança mais elevados estarem 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 os requisitos de segurança, mais longo é o ciclo de aposta e mais elevada é a taxa paga pelo nó leve. De acordo com a fórmula, o custo da aposta do fornecedor de dados é calculado pela receita 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.

Eficácia da Solução

Em primeiro lugar, em termos de eficiência computacional de nó leve, ambas as soluções de nó leve demonstram eficiência de verificação ao nível do milissegundo (os nós leves só precisam de verificar os dados uma vez).

Em segundo lugar, em termos de latência do nó leve, em diferentes cenários de configuração experimental (ver figura abaixo), a latência está ao nível do milissegundo. Vale ressaltar que a latência aumenta linearmente com o número de provedores de dados, mas a latência está sempre ao nível do milissegundo. 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 de inspetores for confiável e eficiente o suficiente, essa latência de 5 horas também pode ser significativamente reduzida.

Em terceiro lugar, 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 política de seguro aumentar. 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 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: Semelhante à mineração conjunta, alguns investidores a retalho podem participar na rede de fornecedores de dados, autorizando o seu próprio ETH ao nó completo, e os lucros são distribuídos de acordo com o seu próprio acordo. Por favor, consulte a 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 adicionará primeiro 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 o pedido. Quando o provedor de dados não tem um bloco proposto sob a situação de 'garantia proposta', eles serão multados.
    \
    Nota: Os blocos propostos serão eventualmente finalizados ou tornar-se-ão blocos tio.
  • Custo e Taxas: Para a rede de acusação, eles precisam apostar uma certa quantidade de tokens (maior que gás) para submeter 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 submetidos pelos nós leves serão dados aos provedores de dados, enquanto a rede de acusação extrairá parte da renda de penalização dos provedores maliciosos.
  • Disponibilidade de dados: Os provedores de dados são essencialmente nós completos. Além de participar na rede de camada de consenso, eles também podem verificar a disponibilidade de dados. Existem dois tipos de esquemas para verificar a disponibilidade: modelo de Puxar (Pull) e modelo de Empurrar (Push). O primeiro refere-se ao nó leve que extrai aleatoriamente os dados obtidos do nó completo. O segundo refere-se ao produtor de blocos que distribui diferentes blocos para os provedores de dados. Para os provedores de dados que adotam o modelo de Puxar (Pull), eles são responsáveis por retornar os pedidos de amostragem. Após receber os dados, o nó leve encaminha-os 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 latência mais alta 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.

Aviso legal:

  1. Este artigo é reproduzido a partir de [GateParceiros Eureka]. Avançar o Título Original 'TeleportDAO: A Jogo entre Segurança e Eficiência de Verificação de Dados - As Últimas Práticas de Design de Nó Leve'. Todos os direitos autorais pertencem ao autor original [Andy、Arthur]*. Se houver objeções a esta reimpressão, por favor entre em contato com oGate Learnequipa e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente as do autor e não constituem qualquer 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!