Infraestrutura DAPP Omnichain de balcão único

Intermediário2/29/2024, 3:40:32 AM
Este artigo aprofunda os aspectos técnicos da solução omnichain da ZetaChain, explicando como esta serve de infraestrutura subjacente à interoperabilidade omnichain das DAPPs, permitindo a resolução e o processamento contínuos de mensagens entre cadeias.

Reencaminhe o título original:Percepções técnicas sobre a ZetaChain: Uma Infraestrutura DAPP OmniChain de Paragem Única

A ZetaChain é uma cadeia pública de POS baseada no Cosmos SDK, em que os seus blocos registam mensagens e dados entre cadeias iniciados em "cadeias externas". Os utilizadores de cadeias externas como a BTC podem comunicar as suas intenções à rede ZetaChain publicando mensagens num formato específico, semelhante ao protocolo Ordinals. Os nós ZetaChain empregam um mecanismo de consenso para determinar quais as mensagens a processar e as suas sequências e, em última análise, utilizam o Threshold Signature Scheme (TSS) para gerar uma assinatura digital na cadeia alvo. Este processo envolve a libertação de activos da conta pública da cadeia, desencadeando etapas de transação subsequentes.


A lista atual de nós validadores na ZetaChain inclui numerosas partes de projectos e instituições, como a OKX, a HashKey Cloud, a Dora Factory, entre outras. Devido à compatibilidade EVM inerente da ZetaChain, suporta a implementação da lógica de contrato. Os desenvolvedores de DApp de cadeia completa podem escrever diretamente programas de processamento de mensagens entre cadeias no ZetaChain, eliminando a necessidade de implantar contratos de ativos de ponte em várias cadeias e, assim, economizar custos de desenvolvimento. Do ponto de vista do utilizador, teoricamente, a interação com os contratos da ZetaChain é suficiente, eliminando a necessidade de múltiplas interacções com contratos de ligação entre cadeias de origem e de destino e reduzindo os custos das taxas de transação. À semelhança de alguns projectos Intent com um efeito de "cadeia de custódia de activos num só local", a ZetaChain suporta a implementação de contratos de activos ou protocolos DeFi. Os utilizadores podem gerar mensagens específicas no frontend de DApps em diferentes cadeias para chamar de forma assíncrona os contratos DeFi da ZetaChain ou os estados dos activos. Esta configuração também suporta contas da cadeia BTC. É o mesmo que permitir que a ZetaChain aloje diretamente uma conta de activos universalmente unificada em todas as cadeias. No entanto, para conseguir este efeito é necessário um front end DApp dedicado à colaboração. Atualmente, a principal função da ZetaChain é servir de infraestrutura subjacente à interoperabilidade da omnichain. Pode analisar e processar mensagens específicas entre cadeias e também atuar como plataforma de execução de lógica empresarial para DApps multi-cadeia. O principal modelo de negócio gira em torno de cenários típicos de B para B para C.

Corpo: Com o desenvolvimento contínuo da indústria da cadeia de blocos, encontramo-nos numa era de interconexão de várias cadeias. Nesta era, diferentes cadeias públicas com características distintas deram origem a cenários de aplicação diversificados, criando experiências variadas para os utilizadores. No entanto, simultaneamente, o isolamento entre cadeias tornou-se mais acentuado. Muitas vezes, as contas em cadeias diferentes não conseguem comunicar e os activos dos utilizadores em todas as cadeias permanecem num estado fragmentado e não unificado. Isto aumenta o limiar de utilização e diminui significativamente a experiência do utilizador.

Pode dizer-se que o problema da fragmentação e da incompatibilidade entre cadeias heterogéneas é um dos principais obstáculos ao aumento das taxas de conversão dos utilizadores. A popularidade do ecossistema BTC hoje em dia realça ainda mais as questões de interoperabilidade entre cadeias heterogéneas. Como Vitalik Buterin afirmou há muitos anos, "Multichain é o futuro". Embora a coexistência de várias cadeias se tenha tornado uma tendência imparável, o estabelecimento de pontes entre cadeias heterogéneas continua a ser uma tarefa difícil.

Para resolver a questão da interoperabilidade da omnichain, a LayerZero, a Polyhedra, a Map Protocol, a Bool Network e até a Cosmos e a Polkadot propuseram diferentes soluções para o envio de mensagens entre cadeias. Recentemente lançada, a ZetaChain, que introduziu o seu token, é um ator essencial no panorama da infraestrutura omnichain.

Abaixo, forneceremos uma breve perspetiva técnica sobre a solução omnichain da ZetaChain, explicando como ela serve como infraestrutura subjacente para DApps interoperáveis omnichain, alcançando análise e processamento de mensagens entre cadeias.

Desafios das soluções existentes para toda a cadeia

Na realidade, o cenário mais simples que uma ponte entre cadeias tem de resolver é a transferência de activos entre cadeias diferentes. Por exemplo, ao transferir activos do ETH para o Polygon, tem de começar por transferir activos para um endereço de depósito designado na cadeia ETH e depois receber um montante equivalente na cadeia Polygon. O desafio surge porque os nós Polygon não podem confirmar o que aconteceu na cadeia ETH e não sabem se você depositou efetivamente o montante especificado. Se alguém alegar falsamente ter depositado 100 USDT no endereço ETH designado e iniciar um pedido de levantamento na cadeia Polygon para libertar os seus 100 USDT, isso conduz ao problema do "levantamento a partir do nada". A chave para uma ponte entre cadeias é resolver esse problema, confirmando que todos os pedidos de levantamento correspondem a actividades de depósito reais. Essencialmente, trata-se de provar na cadeia B que houve efetivamente N transacções relacionadas com a ponte entre cadeias na cadeia A.


Atualmente, as principais pontes entre cadeias tendem a adotar um mecanismo notarial, que envolve a criação de um grupo de nós notariais que chegam a um "consenso" através de assinaturas múltiplas ou MPC. Desde que a maioria dos nós notariais concorde que a sua ação de cadeia cruzada pode ser aprovada, os seus bens podem ser cruzados sem problemas. Algumas pontes entre cadeias usam um hash-lock mais seguro ou implementam nós leves de outras cadeias através de contratos na cadeia. Estas pontes confirmam a validade das actividades entre cadeias através da receção de provas merkle ou provas zk. No entanto, o custo dessas pontes entre cadeias é frequentemente mais elevado e acaba por ser transferido para as taxas de transação dos utilizadores. Por conseguinte, a maioria das pontes entre cadeias continua a escolher o modelo de nó notário fora da cadeia para o consenso multi-assinaturas. Referência: Explicar que considerações são importantes para o projeto de pontes transversais? Nomeadamente, as pontes entre cadeias baseadas em notários enfrentam frequentemente riscos significativos, incluindo a vulnerabilidade a pirataria informática ou roubo de informação privilegiada. De acordo com as estatísticas do SlowMist Hacked, houve 16 incidentes de segurança envolvendo pontes entre cadeias em 2022, resultando em uma perda total de US $ 1,21 bilhão. Este facto representou 32% do total de perdas resultantes de incidentes de ataque na cadeia nesse ano, o que realça os perigos das vulnerabilidades de segurança nas pontes entre cadeias.


Além disso, muitas das soluções de ponte entre cadeias existentes adoptam sobretudo o modelo Lock-Mint, em que os activos são bloqueados na cadeia A e os activos mapeados correspondentes são emitidos na cadeia B para conseguir a transferência de activos entre cadeias. No entanto, o fluxo de processamento de depósitos e levantamentos em tais soluções requer múltiplas interacções com o contrato de activos mapeado, o que conduz a uma fricção significativa e a uma potencial perda de fundos. Além disso, numerosas soluções de ponte entre cadeias apenas suportam transferências de activos entre cadeias compatíveis com EVM, enfrentando desafios nas interacções entre cadeias heterogéneas, como Solana e Bitcoin, devido a diferenças nas normas técnicas. Tendo em conta as questões relacionadas com a segurança e as taxas, as principais soluções de ponte entre cadeias têm muitas vezes dificuldade em obter resultados óptimos e não conseguem assegurar a transferência de activos "nativos entre cadeias". No atual ecossistema Bitcoin, existe um desejo crescente de uma experiência de interação perfeita e nativa entre cadeias, antecipando uma solução mais eficiente. A ZetaChain aborda este desafio com a sua abordagem única.

Funcionalidades da ZetaChain: A infraestrutura subjacente para DAPPs interoperáveis entre cadeias

A ZetaChain posiciona-se como a infraestrutura fundamental para DApps interoperáveis omnichain, especializando-se no suporte de vários protocolos de aplicação para interacções entre cadeias - um exemplo de infraestrutura subjacente B To B To C. Utiliza um mecanismo de admissão PoS, permitindo que os nós que apostam activos entrem na rede e sirvam de notários. Todos os nós PoS, utilizando a tecnologia TSS, participam na verificação e no processamento de mensagens entre cadeias, com o objetivo de aumentar a segurança tanto quanto possível. Simultaneamente, a ZetaChain facilita a implementação de contratos inteligentes, incorporando a lógica comercial relacionada com as trocas de activos. Os utilizadores podem enviar mensagens num formato específico em qualquer cadeia, chamando a ZetaChain ou os seus contratos DeFi suportados em múltiplas cadeias. Por exemplo, no BTC, os utilizadores podem chamar indiretamente as funcionalidades DeFi no Polygon. O resultado é a facilitação da transmissão de mensagens entre diferentes cadeias de blocos, alcançando a interoperabilidade.


As DApps baseadas no cenário de interoperabilidade omnichain podem implementar a lógica comercial de troca de activos na ZetaChain, facilitando a conversão automática de tokens de gás em diferentes cadeias para os utilizadores. Por exemplo, usando o frontend de certos DApps omnichain, pode emitir uma mensagem de formato específico no BTC, semelhante ao protocolo Ordinals, indicando uma chamada para um contrato no Solana. Os nós da ZetaChain detectarão esta mensagem e, subsequentemente, o contrato AMM na ZetaChain pode calcular automaticamente o rácio de troca entre BTC e SOL. Em seguida, liberta uma quantidade equivalente de SOL na cadeia Solana, completando as etapas subsequentes, como a chamada de contratos e, finalmente, a transferência dos activos merecidos de volta para o seu endereço BTC ou Solana. Este processo é referido como "interoperabilidade omnichain", em que só precisa de publicar uma mensagem numa cadeia para chamar remotamente DApps em várias cadeias. Neste contexto, a ZetaChain pode ser conceptualizada como uma "camada de liquidação da cadeia de cadeias". Em todos os cenários de interação multi-cadeia, tais como iniciar uma chamada da Cadeia A para um DApp na Cadeia B, é semelhante à Cadeia A que se estabelece primeiro com a ZetaChain. A ZetaChain sincroniza então os resultados da liquidação pré-processados para a conta correspondente na Cadeia B, completando os passos subsequentes. Ao longo deste processo, não há interação excessiva com contratos de activos de mapeamento ou fricção nas taxas de transação. A circulação de activos é facilitada pelas contas públicas da ZetaChain em diferentes cadeias, eliminando a necessidade de implementação frequente de contratos de activos de mapeamento em várias cadeias, como se vê nas aplicações tradicionais entre cadeias.

Atualmente, parece que as aplicações omnichain baseadas na ZetaChain podem poupar uma quantidade considerável de trabalho, eliminando a necessidade de conceber meticulosamente contratos de mapeamento de activos em diferentes cadeias. Todos os detalhes relativos à entrada e saída de activos entre as cadeias de origem e de destino são tratados pela ZetaChain. Por outras palavras, só precisa de implementar a lógica empresarial relacionada com as transacções entre cadeias na ZetaChain. Isto facilita diferentes aplicações de cadeia completa para suportar cadeias não-EVM como Solana, Algorand, Bitcoin e DogeCoin no frontend sem a necessidade de implementar extensivamente contratos de aplicação dedicados de cadeia cruzada em cadeias diferentes. Além disso, a própria ZetaChain suporta a implementação de contratos de activos ou contas AA (Autonomous Asset). Os utilizadores de diferentes cadeias podem enviar mensagens num formato específico para chamar estes contratos, como se operassem uma conta unificada em todas as cadeias. Esta abordagem de conceção, também reflectida na Particle Chain da Particle Network, permite aos utilizadores centralizar os registos de dados dos seus activos na ZetaChain ou na Particle Chain. Quando necessário, os utilizadores podem chamar de forma assíncrona os seus contratos de activos na ZetaChain, enviando mensagens de invocação através do frontend de DApps em "cadeias externas". Posteriormente, a ZetaChain, através da conta pública na cadeia externa, transfere uma determinada quantidade de activos para o endereço especificado pelo utilizador ou interage com o protocolo DeFi especificado pelo utilizador.


Esta série de operações requer DApps front-end especializados para serem implementadas. Por outras palavras, a própria ZetaChain apenas fornece serviços como infraestrutura subjacente à omnichain, sendo necessária uma entrada front-end dedicada na extremidade da aplicação para gerar mensagens num formato específico.

Modelo de segurança da ZetaChain: Uma Grande Rede de Nós Notários Baseada em Estacas POS

Em última análise, a ZetaChain é essencialmente uma rede de nós validadores concebida para o processamento de mensagens entre cadeias. Construído com base no Cosmos SDK, inclui vários nós de validação e utiliza o POS como mecanismo de admissão, conseguindo assim resistência contra ataques Sybil e garantindo a segurança subjacente.

Dentro da rede ZetaChain, os nós Validadores, servindo como notários descentralizados, confirmam quais os pedidos pendentes entre cadeias que foram accionados noutras cadeias. Através do consenso, registam estes comportamentos transversais à cadeia e prosseguem com as etapas seguintes. Utilizando assinaturas de chaves distribuídas TSS, a ZetaChain pode gerar instruções de transação noutras cadeias. Pode dizer-se que o que os validadores fazem tem alguma semelhança com o modo de notário das pontes entre cadeias, mas com a aposta no POS, os nós validadores são mais fiáveis, resolvendo o problema Sybil.


(A lista atual de nós do validador Zetachain inclui muitas partes ou instituições de projectos) O cliente do validador Zetachian inclui dois módulos, ZetaCore e ZetaClient. O módulo ZetaCore participa na geração de blocos ZetaChain e no processo de consenso, enquanto o módulo ZetaClient observa eventos em cadeias externas e assina transacções de saída. Aqui, "outbound" pode ser simplesmente entendido como a gravação do registo de transacções em ZetaChain e o seu envio para "cadeias externas" (referindo-se a cadeias fora de ZetaChain). Isto desencadeia as acções correspondentes na cadeia alvo, com o conteúdo a incluir principalmente o endereço do contrato, o ID da cadeia e o conteúdo da mensagem declarado pelo utilizador na mensagem, semelhante à secção de registo nas transacções Ethereum.


Por outro lado, "inbound" pode ser entendido como o registo de mensagens/transacções relevantes em cadeias externas fora da ZetaChain, tais como pedidos entre cadeias, chamadas de contratos inteligentes no zEVM, etc., na ZetaChain. É importante notar que, ao executar nós do Validador para ZetaChain, o código do cliente inclui três módulos: Validador, Observador e Assinador TSS. Estes três módulos têm funcionalidades diferentes, mas todos pertencem ao cliente ZetaChain.

Módulos do observador e do signatário do TSS

Em primeiro lugar, todos os nós ZetaChain têm um módulo "validador", com funcionalidades semelhantes às dos nós validadores das cadeias públicas PoS, participando na geração de blocos e nos processos de consenso. Além disso, os nós podem votar em propostas na cadeia com base no rácio de tokens em jogo (ZETA). Os blocos da ZetaChain contêm todos os registos processados entre cadeias e interacções com contratos inteligentes omnichain, actuando como um registo.

O módulo "observer" no cliente ZetaChain executa outros nós completos/light nodes da cadeia pública, monitorizando formatos específicos de transacções/mensagens entre cadeias. O módulo Observador funciona em dois modos: ativo e passivo. Diferentes nós ZetaChain podem optar por mudar o módulo Observador para um destes modos. O módulo Observer monitoriza continuamente se existem mensagens/eventos relacionados com a cadeia ZetaChain noutras cadeias. Em caso afirmativo, o módulo Observador do nó ZetaChain comunica a situação ao módulo Validador. Estas mensagens observadas entre cadeias são então submetidas ao bloco da ZetaChain e confirmadas coletivamente através de consenso.

Existem dois modos de observação: o modo ativo e o modo passivo. No modo ativo, os nós analisam continuamente transacções/eventos/estados noutras cadeias de blocos fora da ZetaChain, executando nós completos dessas cadeias. No modo passivo, os nós não sincronizam blocos completos de outras cadeias de blocos; em vez disso, recebem passivamente mensagens analisadas entre cadeias de outros nós ZetaChain. No entanto, embora os nós em modo passivo não sincronizem os blocos completos da cadeia externa, sincronizam os cabeçalhos dos blocos e confirmam, através da prova de Merkle, que estas mensagens/ dados de transação entre cadeias existem realmente na cadeia externa.

A vantagem do modo ativo é que a maioria dos nós ZetaChain sincroniza dados de cadeias externas, proporcionando uma forte resistência à censura. Neste modo, qualquer interação do utilizador com a ZetaChain pode ocorrer quando um nó detecta um pedido iniciado numa cadeia externa. No entanto, no modo ativo, o funcionamento dos nós tem custos mais elevados. Para além de executar o cliente do nó ZetaChain, os nós também precisam de executar nós completos de cadeias externas, sincronizando dados e realizando análises continuamente. Por outro lado, o modo passivo oferece custos operacionais significativamente mais baixos para nós observadores regulares. Apenas nós específicos executam o cliente de nó completo de cadeias externas, enquanto outros nós executam clientes ligeiros sem sincronizar blocos completos de cadeias externas. Isto resulta em custos mais baixos e numa escalabilidade mais fácil do número de nós em modo passivo, facilitando a integração com múltiplas cadeias externas. No entanto, a desvantagem do modo passivo é que a atividade de observação de dados em cadeias externas depende de um pequeno número de nós, o que leva a uma resistência mais fraca à censura. Para atenuar esta situação, a ZetaChain incentiva os nós a executarem o modo ativo do módulo Observer.


(No modo ativo, os nós têm de executar o cliente de nó completo de cadeias externas. No modo passivo, apenas são executados clientes leves de cadeias externas, recebendo mensagens entre cadeias e provas Merkle dos nós ZetaChain no modo ativo para confirmar a validade das mensagens)

Assinatura TSS

Todas as mensagens entre cadeias observadas e verificadas pelos nós ZetaChain acabarão por desencadear uma transação na cadeia alvo através do endereço de conta pública da ZetaChain, conduzindo a operações subsequentes. Neste processo, é necessário gerar uma assinatura digital para esta transação entre cadeias na cadeia de destino. Para garantir a segurança e a falta de confiança, a geração de assinaturas é realizada por todos os nós da ZetaChain, armazenando coletivamente fragmentos de chaves para a geração de assinaturas. Estes fragmentos de chave são distribuídos por vários signatários e só quando a maioria dos signatários fornecer as suas assinaturas é que a assinatura digital da transação pode ser gerada na cadeia externa. A qualquer momento, uma única entidade ou um pequeno subconjunto de nós não pode representar a ZetaChain no desencadeamento de transacções ou na assinatura de mensagens em cadeias externas.


No modelo de cadeia cruzada da ZetaChain, só é necessário ter um endereço de conta comum em cadeias diferentes sem a necessidade de implementar contratos inteligentes complexos. O algoritmo de assinatura múltipla do ZetaChain utiliza o TSS, o Esquema de Assinatura de Limiar. Embora as assinaturas digitais de transacções visíveis externamente correspondam a uma única chave privada, chave pública e endereço, na realidade, esta chave privada é gerada por muitos fragmentos distribuídos por todos os dispositivos de nós ZetaChain, gerados sem o envolvimento de intermediários. Em qualquer altura, uma única entidade ou alguns validadores não podem representar toda a rede para reunir fragmentos de chaves privadas e assinar mensagens. O processo de geração e assinatura de chaves do TSS é efectuado através de Computação Multipartidária (MPC), garantindo que não há fuga de segredos dos nós participantes. Os nós ZetaChain podem gerar assinaturas de transacções em diferentes cadeias. Para além de ser compatível com várias cadeias EVM, a ZetaChain acrescenta a capacidade de chamar remotamente contratos inteligentes para Bitcoin ou cadeias de contratos não inteligentes. A experiência do utilizador é análoga à dos utilizadores de Bitcoin que chamam diretamente certas funcionalidades DeFi.


Este cenário é particularmente adequado para alojar aplicações DeFi multi-cadeia no ecossistema BTC. Como a cadeia de blocos BTC não pode implementar uma lógica comercial demasiado complexa, depende de uma infraestrutura externa para chamar remotamente certos contratos DeFi. As características da ZetaChain são adequadas para os utilizadores do ecossistema BTC chamarem assincronamente contratos DeFi.

zEVM: Plataforma de contratos DAPP de cadeia cruzada de uma paragem

Ao contrário das soluções tradicionais de cadeia cruzada que requerem a implementação de contratos de activos de mapeamento em cada cadeia, a ZetaChain alcança a funcionalidade de cadeia cruzada implementando um contrato inteligente apenas uma vez na sua própria cadeia. Na ZetaChain, existe uma camada de execução compatível com EVM chamada zEVM, onde os contratos inteligentes entre cadeias podem ser implementados diretamente. O zEVM suporta as seguintes características: qualquer pessoa pode enviar dados de transação num formato específico na cadeia externa e chamar um contrato no zEVM; a lógica de contrato no zEVM pode controlar os dados de transação de saída gerados na cadeia externa. Estas duas características adicionais permitem que o zEVM suporte programação geral, implemente lógica comercial específica e modifique atomicamente o estado em diferentes cadeias. Se ocorrer uma operação de cadeia cruzada e o ZetaChain detetar que os passos subsequentes desta operação de cadeia cruzada não são bem sucedidos na cadeia de destino, os dados modificados pela transação de cadeia cruzada no contrato ZetaChain podem ser revertidos, como se nada tivesse acontecido. Além disso, a aplicação DAPP omnichain não necessita de implementar contratos de activos de mapeamento em cadeias diferentes. Só precisa de utilizar o contrato na cadeia ZetaChain para configurar centralmente a lógica de processamento de mensagens entre cadeias numa única paragem, sem a necessidade de implementar frequentemente contratos entre cadeias numa rede com várias cadeias. Isto pode reduzir significativamente o custo de desenvolvimento de DAPP de cadeia completa. Ao nível do utilizador, uma vez que não é necessário interagir frequentemente com contratos de activos mapeados em várias cadeias, o custo é inferior ao das pontes entre cadeias tradicionais que exigem a implementação de contratos de activos mapeados em diferentes cadeias. Além disso, os contratos especiais DeFi e os activos ZRC-20 ou mesmo NFT podem também ser implantados na ZetaChain para sincronizar dados sobre o estado dos activos ou implantar contas AA. Isto confere-lhe capacidades de plataforma de gestão unificada de activos (registo de estado). Uma vez que já não precisamos de nos esforçar para possuir activos em várias cadeias, este cenário de contas de activos unificadas em toda a cadeia pode gerar mais potencial no futuro.

Conclusão

A partir do que discutimos neste artigo, conseguimos compreender melhor a "infraestrutura de interoperabilidade omnichain" da ZetaChain. Através do módulo observador no cliente validador, a ZetaChain monitoriza mensagens/transacções específicas em cadeias externas, comunica-as ao módulo validador, obtém consenso sobre as mensagens na rede ZetaChain, analisa os dados contidos nas mensagens, gera assinaturas digitais utilizando o TSS e desencadeia processos de transação subsequentes nas cadeias-alvo correspondentes, realizando assim interacções entre cadeias em toda a rede. Simultaneamente, os contratos inteligentes omnichain baseados na ZetaChain permitem-nos interagir estreitamente com diferentes cadeias de blocos sem a necessidade de utilizar contratos de activos de mapeamento em diferentes cadeias. Isto elimina a necessidade de chamar a lógica de contratos redundantes, poupando custos de transação. Além disso, como a ZetaChain é compatível com EVM, qualquer programador de DApp ou mesmo utilizadores individuais podem implementar uma lógica personalizada de processamento de mensagens entre cadeias. Em teoria, pode implementar todo o contrato DApp de uma só vez. Os programadores de aplicações entre cadeias não precisam de implementar/atualizar frequentemente a lógica do contrato de activos de mapeamento em cadeias diferentes, eliminando o custo de desenvolvimento redundante.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reimpresso de[极客 Web3], Todos os direitos de autor pertencem ao autor original[Howe & Faust, 极客web3]. Se houver objecções a esta reimpressão, contacte a equipa da Gate Learn, que tratará prontamente do assunto.
  2. Declaração de exoneração de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são da exclusiva responsabilidade do autor e não constituem um conselho de investimento.
  3. As traduções do artigo para outras línguas são efectuadas pela equipa Gate Learn. A menos que seja mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Infraestrutura DAPP Omnichain de balcão único

Intermediário2/29/2024, 3:40:32 AM
Este artigo aprofunda os aspectos técnicos da solução omnichain da ZetaChain, explicando como esta serve de infraestrutura subjacente à interoperabilidade omnichain das DAPPs, permitindo a resolução e o processamento contínuos de mensagens entre cadeias.

Reencaminhe o título original:Percepções técnicas sobre a ZetaChain: Uma Infraestrutura DAPP OmniChain de Paragem Única

A ZetaChain é uma cadeia pública de POS baseada no Cosmos SDK, em que os seus blocos registam mensagens e dados entre cadeias iniciados em "cadeias externas". Os utilizadores de cadeias externas como a BTC podem comunicar as suas intenções à rede ZetaChain publicando mensagens num formato específico, semelhante ao protocolo Ordinals. Os nós ZetaChain empregam um mecanismo de consenso para determinar quais as mensagens a processar e as suas sequências e, em última análise, utilizam o Threshold Signature Scheme (TSS) para gerar uma assinatura digital na cadeia alvo. Este processo envolve a libertação de activos da conta pública da cadeia, desencadeando etapas de transação subsequentes.


A lista atual de nós validadores na ZetaChain inclui numerosas partes de projectos e instituições, como a OKX, a HashKey Cloud, a Dora Factory, entre outras. Devido à compatibilidade EVM inerente da ZetaChain, suporta a implementação da lógica de contrato. Os desenvolvedores de DApp de cadeia completa podem escrever diretamente programas de processamento de mensagens entre cadeias no ZetaChain, eliminando a necessidade de implantar contratos de ativos de ponte em várias cadeias e, assim, economizar custos de desenvolvimento. Do ponto de vista do utilizador, teoricamente, a interação com os contratos da ZetaChain é suficiente, eliminando a necessidade de múltiplas interacções com contratos de ligação entre cadeias de origem e de destino e reduzindo os custos das taxas de transação. À semelhança de alguns projectos Intent com um efeito de "cadeia de custódia de activos num só local", a ZetaChain suporta a implementação de contratos de activos ou protocolos DeFi. Os utilizadores podem gerar mensagens específicas no frontend de DApps em diferentes cadeias para chamar de forma assíncrona os contratos DeFi da ZetaChain ou os estados dos activos. Esta configuração também suporta contas da cadeia BTC. É o mesmo que permitir que a ZetaChain aloje diretamente uma conta de activos universalmente unificada em todas as cadeias. No entanto, para conseguir este efeito é necessário um front end DApp dedicado à colaboração. Atualmente, a principal função da ZetaChain é servir de infraestrutura subjacente à interoperabilidade da omnichain. Pode analisar e processar mensagens específicas entre cadeias e também atuar como plataforma de execução de lógica empresarial para DApps multi-cadeia. O principal modelo de negócio gira em torno de cenários típicos de B para B para C.

Corpo: Com o desenvolvimento contínuo da indústria da cadeia de blocos, encontramo-nos numa era de interconexão de várias cadeias. Nesta era, diferentes cadeias públicas com características distintas deram origem a cenários de aplicação diversificados, criando experiências variadas para os utilizadores. No entanto, simultaneamente, o isolamento entre cadeias tornou-se mais acentuado. Muitas vezes, as contas em cadeias diferentes não conseguem comunicar e os activos dos utilizadores em todas as cadeias permanecem num estado fragmentado e não unificado. Isto aumenta o limiar de utilização e diminui significativamente a experiência do utilizador.

Pode dizer-se que o problema da fragmentação e da incompatibilidade entre cadeias heterogéneas é um dos principais obstáculos ao aumento das taxas de conversão dos utilizadores. A popularidade do ecossistema BTC hoje em dia realça ainda mais as questões de interoperabilidade entre cadeias heterogéneas. Como Vitalik Buterin afirmou há muitos anos, "Multichain é o futuro". Embora a coexistência de várias cadeias se tenha tornado uma tendência imparável, o estabelecimento de pontes entre cadeias heterogéneas continua a ser uma tarefa difícil.

Para resolver a questão da interoperabilidade da omnichain, a LayerZero, a Polyhedra, a Map Protocol, a Bool Network e até a Cosmos e a Polkadot propuseram diferentes soluções para o envio de mensagens entre cadeias. Recentemente lançada, a ZetaChain, que introduziu o seu token, é um ator essencial no panorama da infraestrutura omnichain.

Abaixo, forneceremos uma breve perspetiva técnica sobre a solução omnichain da ZetaChain, explicando como ela serve como infraestrutura subjacente para DApps interoperáveis omnichain, alcançando análise e processamento de mensagens entre cadeias.

Desafios das soluções existentes para toda a cadeia

Na realidade, o cenário mais simples que uma ponte entre cadeias tem de resolver é a transferência de activos entre cadeias diferentes. Por exemplo, ao transferir activos do ETH para o Polygon, tem de começar por transferir activos para um endereço de depósito designado na cadeia ETH e depois receber um montante equivalente na cadeia Polygon. O desafio surge porque os nós Polygon não podem confirmar o que aconteceu na cadeia ETH e não sabem se você depositou efetivamente o montante especificado. Se alguém alegar falsamente ter depositado 100 USDT no endereço ETH designado e iniciar um pedido de levantamento na cadeia Polygon para libertar os seus 100 USDT, isso conduz ao problema do "levantamento a partir do nada". A chave para uma ponte entre cadeias é resolver esse problema, confirmando que todos os pedidos de levantamento correspondem a actividades de depósito reais. Essencialmente, trata-se de provar na cadeia B que houve efetivamente N transacções relacionadas com a ponte entre cadeias na cadeia A.


Atualmente, as principais pontes entre cadeias tendem a adotar um mecanismo notarial, que envolve a criação de um grupo de nós notariais que chegam a um "consenso" através de assinaturas múltiplas ou MPC. Desde que a maioria dos nós notariais concorde que a sua ação de cadeia cruzada pode ser aprovada, os seus bens podem ser cruzados sem problemas. Algumas pontes entre cadeias usam um hash-lock mais seguro ou implementam nós leves de outras cadeias através de contratos na cadeia. Estas pontes confirmam a validade das actividades entre cadeias através da receção de provas merkle ou provas zk. No entanto, o custo dessas pontes entre cadeias é frequentemente mais elevado e acaba por ser transferido para as taxas de transação dos utilizadores. Por conseguinte, a maioria das pontes entre cadeias continua a escolher o modelo de nó notário fora da cadeia para o consenso multi-assinaturas. Referência: Explicar que considerações são importantes para o projeto de pontes transversais? Nomeadamente, as pontes entre cadeias baseadas em notários enfrentam frequentemente riscos significativos, incluindo a vulnerabilidade a pirataria informática ou roubo de informação privilegiada. De acordo com as estatísticas do SlowMist Hacked, houve 16 incidentes de segurança envolvendo pontes entre cadeias em 2022, resultando em uma perda total de US $ 1,21 bilhão. Este facto representou 32% do total de perdas resultantes de incidentes de ataque na cadeia nesse ano, o que realça os perigos das vulnerabilidades de segurança nas pontes entre cadeias.


Além disso, muitas das soluções de ponte entre cadeias existentes adoptam sobretudo o modelo Lock-Mint, em que os activos são bloqueados na cadeia A e os activos mapeados correspondentes são emitidos na cadeia B para conseguir a transferência de activos entre cadeias. No entanto, o fluxo de processamento de depósitos e levantamentos em tais soluções requer múltiplas interacções com o contrato de activos mapeado, o que conduz a uma fricção significativa e a uma potencial perda de fundos. Além disso, numerosas soluções de ponte entre cadeias apenas suportam transferências de activos entre cadeias compatíveis com EVM, enfrentando desafios nas interacções entre cadeias heterogéneas, como Solana e Bitcoin, devido a diferenças nas normas técnicas. Tendo em conta as questões relacionadas com a segurança e as taxas, as principais soluções de ponte entre cadeias têm muitas vezes dificuldade em obter resultados óptimos e não conseguem assegurar a transferência de activos "nativos entre cadeias". No atual ecossistema Bitcoin, existe um desejo crescente de uma experiência de interação perfeita e nativa entre cadeias, antecipando uma solução mais eficiente. A ZetaChain aborda este desafio com a sua abordagem única.

Funcionalidades da ZetaChain: A infraestrutura subjacente para DAPPs interoperáveis entre cadeias

A ZetaChain posiciona-se como a infraestrutura fundamental para DApps interoperáveis omnichain, especializando-se no suporte de vários protocolos de aplicação para interacções entre cadeias - um exemplo de infraestrutura subjacente B To B To C. Utiliza um mecanismo de admissão PoS, permitindo que os nós que apostam activos entrem na rede e sirvam de notários. Todos os nós PoS, utilizando a tecnologia TSS, participam na verificação e no processamento de mensagens entre cadeias, com o objetivo de aumentar a segurança tanto quanto possível. Simultaneamente, a ZetaChain facilita a implementação de contratos inteligentes, incorporando a lógica comercial relacionada com as trocas de activos. Os utilizadores podem enviar mensagens num formato específico em qualquer cadeia, chamando a ZetaChain ou os seus contratos DeFi suportados em múltiplas cadeias. Por exemplo, no BTC, os utilizadores podem chamar indiretamente as funcionalidades DeFi no Polygon. O resultado é a facilitação da transmissão de mensagens entre diferentes cadeias de blocos, alcançando a interoperabilidade.


As DApps baseadas no cenário de interoperabilidade omnichain podem implementar a lógica comercial de troca de activos na ZetaChain, facilitando a conversão automática de tokens de gás em diferentes cadeias para os utilizadores. Por exemplo, usando o frontend de certos DApps omnichain, pode emitir uma mensagem de formato específico no BTC, semelhante ao protocolo Ordinals, indicando uma chamada para um contrato no Solana. Os nós da ZetaChain detectarão esta mensagem e, subsequentemente, o contrato AMM na ZetaChain pode calcular automaticamente o rácio de troca entre BTC e SOL. Em seguida, liberta uma quantidade equivalente de SOL na cadeia Solana, completando as etapas subsequentes, como a chamada de contratos e, finalmente, a transferência dos activos merecidos de volta para o seu endereço BTC ou Solana. Este processo é referido como "interoperabilidade omnichain", em que só precisa de publicar uma mensagem numa cadeia para chamar remotamente DApps em várias cadeias. Neste contexto, a ZetaChain pode ser conceptualizada como uma "camada de liquidação da cadeia de cadeias". Em todos os cenários de interação multi-cadeia, tais como iniciar uma chamada da Cadeia A para um DApp na Cadeia B, é semelhante à Cadeia A que se estabelece primeiro com a ZetaChain. A ZetaChain sincroniza então os resultados da liquidação pré-processados para a conta correspondente na Cadeia B, completando os passos subsequentes. Ao longo deste processo, não há interação excessiva com contratos de activos de mapeamento ou fricção nas taxas de transação. A circulação de activos é facilitada pelas contas públicas da ZetaChain em diferentes cadeias, eliminando a necessidade de implementação frequente de contratos de activos de mapeamento em várias cadeias, como se vê nas aplicações tradicionais entre cadeias.

Atualmente, parece que as aplicações omnichain baseadas na ZetaChain podem poupar uma quantidade considerável de trabalho, eliminando a necessidade de conceber meticulosamente contratos de mapeamento de activos em diferentes cadeias. Todos os detalhes relativos à entrada e saída de activos entre as cadeias de origem e de destino são tratados pela ZetaChain. Por outras palavras, só precisa de implementar a lógica empresarial relacionada com as transacções entre cadeias na ZetaChain. Isto facilita diferentes aplicações de cadeia completa para suportar cadeias não-EVM como Solana, Algorand, Bitcoin e DogeCoin no frontend sem a necessidade de implementar extensivamente contratos de aplicação dedicados de cadeia cruzada em cadeias diferentes. Além disso, a própria ZetaChain suporta a implementação de contratos de activos ou contas AA (Autonomous Asset). Os utilizadores de diferentes cadeias podem enviar mensagens num formato específico para chamar estes contratos, como se operassem uma conta unificada em todas as cadeias. Esta abordagem de conceção, também reflectida na Particle Chain da Particle Network, permite aos utilizadores centralizar os registos de dados dos seus activos na ZetaChain ou na Particle Chain. Quando necessário, os utilizadores podem chamar de forma assíncrona os seus contratos de activos na ZetaChain, enviando mensagens de invocação através do frontend de DApps em "cadeias externas". Posteriormente, a ZetaChain, através da conta pública na cadeia externa, transfere uma determinada quantidade de activos para o endereço especificado pelo utilizador ou interage com o protocolo DeFi especificado pelo utilizador.


Esta série de operações requer DApps front-end especializados para serem implementadas. Por outras palavras, a própria ZetaChain apenas fornece serviços como infraestrutura subjacente à omnichain, sendo necessária uma entrada front-end dedicada na extremidade da aplicação para gerar mensagens num formato específico.

Modelo de segurança da ZetaChain: Uma Grande Rede de Nós Notários Baseada em Estacas POS

Em última análise, a ZetaChain é essencialmente uma rede de nós validadores concebida para o processamento de mensagens entre cadeias. Construído com base no Cosmos SDK, inclui vários nós de validação e utiliza o POS como mecanismo de admissão, conseguindo assim resistência contra ataques Sybil e garantindo a segurança subjacente.

Dentro da rede ZetaChain, os nós Validadores, servindo como notários descentralizados, confirmam quais os pedidos pendentes entre cadeias que foram accionados noutras cadeias. Através do consenso, registam estes comportamentos transversais à cadeia e prosseguem com as etapas seguintes. Utilizando assinaturas de chaves distribuídas TSS, a ZetaChain pode gerar instruções de transação noutras cadeias. Pode dizer-se que o que os validadores fazem tem alguma semelhança com o modo de notário das pontes entre cadeias, mas com a aposta no POS, os nós validadores são mais fiáveis, resolvendo o problema Sybil.


(A lista atual de nós do validador Zetachain inclui muitas partes ou instituições de projectos) O cliente do validador Zetachian inclui dois módulos, ZetaCore e ZetaClient. O módulo ZetaCore participa na geração de blocos ZetaChain e no processo de consenso, enquanto o módulo ZetaClient observa eventos em cadeias externas e assina transacções de saída. Aqui, "outbound" pode ser simplesmente entendido como a gravação do registo de transacções em ZetaChain e o seu envio para "cadeias externas" (referindo-se a cadeias fora de ZetaChain). Isto desencadeia as acções correspondentes na cadeia alvo, com o conteúdo a incluir principalmente o endereço do contrato, o ID da cadeia e o conteúdo da mensagem declarado pelo utilizador na mensagem, semelhante à secção de registo nas transacções Ethereum.


Por outro lado, "inbound" pode ser entendido como o registo de mensagens/transacções relevantes em cadeias externas fora da ZetaChain, tais como pedidos entre cadeias, chamadas de contratos inteligentes no zEVM, etc., na ZetaChain. É importante notar que, ao executar nós do Validador para ZetaChain, o código do cliente inclui três módulos: Validador, Observador e Assinador TSS. Estes três módulos têm funcionalidades diferentes, mas todos pertencem ao cliente ZetaChain.

Módulos do observador e do signatário do TSS

Em primeiro lugar, todos os nós ZetaChain têm um módulo "validador", com funcionalidades semelhantes às dos nós validadores das cadeias públicas PoS, participando na geração de blocos e nos processos de consenso. Além disso, os nós podem votar em propostas na cadeia com base no rácio de tokens em jogo (ZETA). Os blocos da ZetaChain contêm todos os registos processados entre cadeias e interacções com contratos inteligentes omnichain, actuando como um registo.

O módulo "observer" no cliente ZetaChain executa outros nós completos/light nodes da cadeia pública, monitorizando formatos específicos de transacções/mensagens entre cadeias. O módulo Observador funciona em dois modos: ativo e passivo. Diferentes nós ZetaChain podem optar por mudar o módulo Observador para um destes modos. O módulo Observer monitoriza continuamente se existem mensagens/eventos relacionados com a cadeia ZetaChain noutras cadeias. Em caso afirmativo, o módulo Observador do nó ZetaChain comunica a situação ao módulo Validador. Estas mensagens observadas entre cadeias são então submetidas ao bloco da ZetaChain e confirmadas coletivamente através de consenso.

Existem dois modos de observação: o modo ativo e o modo passivo. No modo ativo, os nós analisam continuamente transacções/eventos/estados noutras cadeias de blocos fora da ZetaChain, executando nós completos dessas cadeias. No modo passivo, os nós não sincronizam blocos completos de outras cadeias de blocos; em vez disso, recebem passivamente mensagens analisadas entre cadeias de outros nós ZetaChain. No entanto, embora os nós em modo passivo não sincronizem os blocos completos da cadeia externa, sincronizam os cabeçalhos dos blocos e confirmam, através da prova de Merkle, que estas mensagens/ dados de transação entre cadeias existem realmente na cadeia externa.

A vantagem do modo ativo é que a maioria dos nós ZetaChain sincroniza dados de cadeias externas, proporcionando uma forte resistência à censura. Neste modo, qualquer interação do utilizador com a ZetaChain pode ocorrer quando um nó detecta um pedido iniciado numa cadeia externa. No entanto, no modo ativo, o funcionamento dos nós tem custos mais elevados. Para além de executar o cliente do nó ZetaChain, os nós também precisam de executar nós completos de cadeias externas, sincronizando dados e realizando análises continuamente. Por outro lado, o modo passivo oferece custos operacionais significativamente mais baixos para nós observadores regulares. Apenas nós específicos executam o cliente de nó completo de cadeias externas, enquanto outros nós executam clientes ligeiros sem sincronizar blocos completos de cadeias externas. Isto resulta em custos mais baixos e numa escalabilidade mais fácil do número de nós em modo passivo, facilitando a integração com múltiplas cadeias externas. No entanto, a desvantagem do modo passivo é que a atividade de observação de dados em cadeias externas depende de um pequeno número de nós, o que leva a uma resistência mais fraca à censura. Para atenuar esta situação, a ZetaChain incentiva os nós a executarem o modo ativo do módulo Observer.


(No modo ativo, os nós têm de executar o cliente de nó completo de cadeias externas. No modo passivo, apenas são executados clientes leves de cadeias externas, recebendo mensagens entre cadeias e provas Merkle dos nós ZetaChain no modo ativo para confirmar a validade das mensagens)

Assinatura TSS

Todas as mensagens entre cadeias observadas e verificadas pelos nós ZetaChain acabarão por desencadear uma transação na cadeia alvo através do endereço de conta pública da ZetaChain, conduzindo a operações subsequentes. Neste processo, é necessário gerar uma assinatura digital para esta transação entre cadeias na cadeia de destino. Para garantir a segurança e a falta de confiança, a geração de assinaturas é realizada por todos os nós da ZetaChain, armazenando coletivamente fragmentos de chaves para a geração de assinaturas. Estes fragmentos de chave são distribuídos por vários signatários e só quando a maioria dos signatários fornecer as suas assinaturas é que a assinatura digital da transação pode ser gerada na cadeia externa. A qualquer momento, uma única entidade ou um pequeno subconjunto de nós não pode representar a ZetaChain no desencadeamento de transacções ou na assinatura de mensagens em cadeias externas.


No modelo de cadeia cruzada da ZetaChain, só é necessário ter um endereço de conta comum em cadeias diferentes sem a necessidade de implementar contratos inteligentes complexos. O algoritmo de assinatura múltipla do ZetaChain utiliza o TSS, o Esquema de Assinatura de Limiar. Embora as assinaturas digitais de transacções visíveis externamente correspondam a uma única chave privada, chave pública e endereço, na realidade, esta chave privada é gerada por muitos fragmentos distribuídos por todos os dispositivos de nós ZetaChain, gerados sem o envolvimento de intermediários. Em qualquer altura, uma única entidade ou alguns validadores não podem representar toda a rede para reunir fragmentos de chaves privadas e assinar mensagens. O processo de geração e assinatura de chaves do TSS é efectuado através de Computação Multipartidária (MPC), garantindo que não há fuga de segredos dos nós participantes. Os nós ZetaChain podem gerar assinaturas de transacções em diferentes cadeias. Para além de ser compatível com várias cadeias EVM, a ZetaChain acrescenta a capacidade de chamar remotamente contratos inteligentes para Bitcoin ou cadeias de contratos não inteligentes. A experiência do utilizador é análoga à dos utilizadores de Bitcoin que chamam diretamente certas funcionalidades DeFi.


Este cenário é particularmente adequado para alojar aplicações DeFi multi-cadeia no ecossistema BTC. Como a cadeia de blocos BTC não pode implementar uma lógica comercial demasiado complexa, depende de uma infraestrutura externa para chamar remotamente certos contratos DeFi. As características da ZetaChain são adequadas para os utilizadores do ecossistema BTC chamarem assincronamente contratos DeFi.

zEVM: Plataforma de contratos DAPP de cadeia cruzada de uma paragem

Ao contrário das soluções tradicionais de cadeia cruzada que requerem a implementação de contratos de activos de mapeamento em cada cadeia, a ZetaChain alcança a funcionalidade de cadeia cruzada implementando um contrato inteligente apenas uma vez na sua própria cadeia. Na ZetaChain, existe uma camada de execução compatível com EVM chamada zEVM, onde os contratos inteligentes entre cadeias podem ser implementados diretamente. O zEVM suporta as seguintes características: qualquer pessoa pode enviar dados de transação num formato específico na cadeia externa e chamar um contrato no zEVM; a lógica de contrato no zEVM pode controlar os dados de transação de saída gerados na cadeia externa. Estas duas características adicionais permitem que o zEVM suporte programação geral, implemente lógica comercial específica e modifique atomicamente o estado em diferentes cadeias. Se ocorrer uma operação de cadeia cruzada e o ZetaChain detetar que os passos subsequentes desta operação de cadeia cruzada não são bem sucedidos na cadeia de destino, os dados modificados pela transação de cadeia cruzada no contrato ZetaChain podem ser revertidos, como se nada tivesse acontecido. Além disso, a aplicação DAPP omnichain não necessita de implementar contratos de activos de mapeamento em cadeias diferentes. Só precisa de utilizar o contrato na cadeia ZetaChain para configurar centralmente a lógica de processamento de mensagens entre cadeias numa única paragem, sem a necessidade de implementar frequentemente contratos entre cadeias numa rede com várias cadeias. Isto pode reduzir significativamente o custo de desenvolvimento de DAPP de cadeia completa. Ao nível do utilizador, uma vez que não é necessário interagir frequentemente com contratos de activos mapeados em várias cadeias, o custo é inferior ao das pontes entre cadeias tradicionais que exigem a implementação de contratos de activos mapeados em diferentes cadeias. Além disso, os contratos especiais DeFi e os activos ZRC-20 ou mesmo NFT podem também ser implantados na ZetaChain para sincronizar dados sobre o estado dos activos ou implantar contas AA. Isto confere-lhe capacidades de plataforma de gestão unificada de activos (registo de estado). Uma vez que já não precisamos de nos esforçar para possuir activos em várias cadeias, este cenário de contas de activos unificadas em toda a cadeia pode gerar mais potencial no futuro.

Conclusão

A partir do que discutimos neste artigo, conseguimos compreender melhor a "infraestrutura de interoperabilidade omnichain" da ZetaChain. Através do módulo observador no cliente validador, a ZetaChain monitoriza mensagens/transacções específicas em cadeias externas, comunica-as ao módulo validador, obtém consenso sobre as mensagens na rede ZetaChain, analisa os dados contidos nas mensagens, gera assinaturas digitais utilizando o TSS e desencadeia processos de transação subsequentes nas cadeias-alvo correspondentes, realizando assim interacções entre cadeias em toda a rede. Simultaneamente, os contratos inteligentes omnichain baseados na ZetaChain permitem-nos interagir estreitamente com diferentes cadeias de blocos sem a necessidade de utilizar contratos de activos de mapeamento em diferentes cadeias. Isto elimina a necessidade de chamar a lógica de contratos redundantes, poupando custos de transação. Além disso, como a ZetaChain é compatível com EVM, qualquer programador de DApp ou mesmo utilizadores individuais podem implementar uma lógica personalizada de processamento de mensagens entre cadeias. Em teoria, pode implementar todo o contrato DApp de uma só vez. Os programadores de aplicações entre cadeias não precisam de implementar/atualizar frequentemente a lógica do contrato de activos de mapeamento em cadeias diferentes, eliminando o custo de desenvolvimento redundante.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reimpresso de[极客 Web3], Todos os direitos de autor pertencem ao autor original[Howe & Faust, 极客web3]. Se houver objecções a esta reimpressão, contacte a equipa da Gate Learn, que tratará prontamente do assunto.
  2. Declaração de exoneração de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são da exclusiva responsabilidade do autor e não constituem um conselho de investimento.
  3. As traduções do artigo para outras línguas são efectuadas pela equipa Gate Learn. A menos que seja mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!