Como o zk-SNARK melhora o Gate.io Comprovante de Reservas

Avançado10/12/2023, 4:19:14 PM
Como um dos pioneiros na indústria a introduzir comprovação de reservas, a Gate.io adotará a tecnologia zk-SNARK para aprimorar sua comprovação de reservas, proporcionando aos usuários segurança superior de ativos e proteção de privacidade.

Com mais de 13 milhões de usuários, Gate.io conhece perfeitamente a importância da segurança dos fundos e foi pioneira na indústria na tomada de medidas eficazes. Gate.io foi uma das primeiras exchanges a implementar a prova de reservas (PoR), revelando seu PoR já em maio de 2020. Foi somente depois que a FTX se apropriou indevidamente dos ativos dos usuários em 2022, levando a uma crise de liquidez e subsequente falência, que a prova de reservas se tornou amplamente reconhecida como uma solução para garantir a segurança dos fundos dos usuários e aumentar a confiabilidade da plataforma.

Após o incidente da FTX, a Gate.io divulgou prontamente sua segunda prova de reservas. Pouco depois de seu lançamento, o fundador do Ethereum, Vitalik Buterin, publicou um artigo intitulado “Ter um CEX seguro: prova de solvência e muito mais”, discutindo como as exchanges podem demonstrar melhor sua solvência. O artigo sugere a integração de tecnologias avançadas como zk-SNARK em cima da tradicional prova de reservas para garantir um PoR mais público, transparente e autêntico. Gate.io planeja usar a nova tecnologia mencionada no artigo para atualizar sua prova de reservas, oferecendo aos usuários maior privacidade e segurança genuína de ativos.

O que é comprovante de reservas?

A Prova de Reservas (PoR) refere-se à revisão dos saldos mantidos por bolsas de criptomoedas ou outras instituições financeiras, verificando se o valor do ativo registrado pela empresa corresponde aos efetivamente ativos detidos. Se o montante dos activos nas reservas exceder o montante dos activos depositados pelos utilizadores, ou seja, o rácio de garantia for superior a 100%, isso prova que os fundos dos utilizadores são garantidos por activos reais numa base de 1:1.

Antes do surgimento do PoR, também existiam propostas de transferência de ativos e comprovação de passivos para demonstrar que as bolsas tinham fundos suficientes.

Transferência de Ativos – Demonstrando que a Bolsa possui ativos suficientes

Em 2011, a MtGox, então a maior bolsa de Bitcoin, provou que detinha determinados fundos ao executar uma transação que movimentou 424.242 BTC para um endereço previamente anunciado. Este método só poderia validar ativos e não poderia comprovar os passivos da bolsa.

Prova de responsabilidades

Os passivos de uma bolsa são os ativos depositados pelos seus usuários. A maneira mais simples de comprovar os ativos dos usuários é publicar uma lista contendo contas e saldos dos usuários. Cada usuário pode acessar esta lista e verificar se o saldo de sua conta está correto. No entanto, este método tem desvantagens óbvias:

  1. Não há garantia de que a lista fornecida pela exchange seja autêntica.

  2. No processo, tanto as informações da conta quanto o saldo do usuário são divulgados.

Este método também poderia usar uma estrutura de dados como Merkle para minimizar a exposição das informações do usuário, levando ao conceito atual de PoR.

Conforme ilustrado, uma árvore Merkle é uma estrutura de dados semelhante a uma árvore. Os dados na camada inferior são chamados de “nós folha” e os do meio podem ser chamados de “nós intermediários”. Dois nós folha podem sofrer hashing (processamento de qualquer valor de entrada para obter um valor específico) para produzir o valor de um nó intermediário. Dois nós intermediários são então hash para obter um valor de saída exclusivo para o nó do próximo nível. Após sucessivas camadas de processamento, o nó raiz (Root) da árvore Merkle é finalmente obtido. Este valor é único e qualquer alteração em um nó folha resultará em uma alteração no nó raiz.

Prova de reserva em árvores Merkle (Fonte: Vitalik

Neste método, o total de ativos detidos por uma bolsa em nome dos seus utilizadores é determinado pela acumulação de valores camada por camada. No entanto, mesmo depois de inserir a conta do usuário e os dados do saldo diretamente nos nós folha, permanece um pequeno risco de vazamento de informações. Tomando como exemplo a ilustração, o usuário marcado em verde (Charlie) pode acessar informações parciais de David, bem como os saldos de Alice e Bob no lado esquerdo. Consequentemente, houve melhorias técnicas nos nós folha:

  1. Conforme mostrado na ilustração, o ID da conta do usuário é hash junto com um valor específico.

  2. Os saldos dos usuários estão dispersos. Por exemplo, os 10ETH de Charlie poderiam ser divididos em dois valores de 5ETH e colocados em dois nós folha diferentes.

  3. O ID do usuário e o saldo são criptografados separadamente e, em seguida, os valores resultantes são criptografados mais uma vez. A prova do fundo de reserva da Gate.io usa esse método.

Apesar destes avanços ao nível dos nós folha, uma questão permanece por resolver: saldos negativos. Na prática, depois que os usuários depositam criptomoedas, eles se envolvem com produtos de câmbio, como negociações alavancadas e contratos perpétuos. Se ocorrerem perdas, a perda máxima deverá ser de 100% do principal, ou seja, o saldo da conta do usuário deverá ser sempre maior ou igual a zero.

Normalmente, os saldos negativos são iniciados por trocas maliciosas. Por exemplo, se uma bolsa se apropriar indevidamente de 500 ETH, segundo cálculos padrão, os ativos que a bolsa realmente detém poderão ser inferiores à garantia exigida, possivelmente até menos de 100%, revelando a apropriação indevida. No entanto, a bolsa pode criar uma conta, como aquela chamada Henry com saldo de -500ETH na ilustração dada, para tornar o valor total dos ativos da árvore Merkle igual ou inferior aos ativos que a bolsa detém após a apropriação indébita, fabricando assim uma ilusão de uma taxa de garantia superior a 100%.

Impacto das contas de valor negativo na ilustração das árvores Merkle (Fonte: Vitalik

Para resolver esse problema, bolsas como a Gate.io começaram a usar a tecnologia de prova de conhecimento zero zk-SNARK para aprimorar suas provas de reserva.

O que são Provas de Conhecimento Zero e zk-SNARKs?

Uma prova de conhecimento zero é uma técnica pela qual uma parte pode provar algo a outra sem revelar informações confidenciais. Para ilustrar esse conceito com um exemplo simples: se o usuário A souber o número de telefone do usuário B e o usuário C perguntar se o usuário A sabe, o usuário A pode discar o número de B imediatamente para verificar se realmente o possui, sem revelar o número real ao usuário. C. Este processo, que preserva a privacidade do usuário e ao mesmo tempo confirma o conhecimento, exemplifica o mecanismo de “prova de conhecimento zero”.

No domínio das criptomoedas, as provas de conhecimento zero permitem aos usuários demonstrar a propriedade de uma chave privada sem expor a própria chave ou qualquer assinatura eletrônica. As plataformas de negociação de criptomoedas esperam validar o status de seus fundos de reserva sem divulgar informações confidenciais dos usuários, como saldos de contas individuais.

zk-SNARK significa uma técnica sucinta e não interativa de prova de conhecimento zero. Ele passa por uma “configuração inicial confiável” para produzir uma cadeia de referência comum (CRS) que todos os provadores podem acessar diretamente. Isso é análogo a um sistema de classificação de exames onde zk-SNARK carrega diretamente as respostas corretas. Os examinandos podem então verificar suas respostas (enviando a solução de uma pergunta para um sistema backend, que fornece imediatamente o resultado correto ou incorreto), tornando o processo altamente eficiente.

Com zk-SNARK, os usuários podem atestar que conhecem o valor original que foi criptografado sem revelar o conteúdo real desse valor. Sem divulgar valores, valores ou endereços específicos, os usuários também podem verificar a validade de uma transação. É comumente usado em transações privadas. No projeto de provas de reserva, o zk-SNARK pode pré-definir restrições, eliminar contas diferentes de zero e garantir a privacidade do usuário.

Como Gate.io utiliza zk-SNARKs para aprimorar as provas de reserva

Gate.io integra a tecnologia zk-SNARK com árvores Merkle para criar provas de reserva mais transparentes, protegidas pela privacidade e resistentes a adulterações.

Processo de implementação

  1. Autorização de carteira fria
    Todas as carteiras frias e quentes transferem uma quantia aleatória específica para um endereço designado pela empresa de auditoria para verificar a propriedade. A empresa de auditoria então resume os saldos desses endereços para determinar o valor total controlado pela bolsa (incluindo fundos de usuários e proprietários).

  2. Instantâneo do saldo do usuário
    Em um momento específico, é tirado um instantâneo dos saldos dos usuários na plataforma. Os patrimônios reais da conta são calculados usando dados como pedidos pendentes, valores emprestados, juros devidos e lucros/perdas não realizados.

  3. Exportando Saldos
    O UID criptografado e o saldo de cada usuário são fornecidos à empresa de auditoria com a finalidade de calcular os ativos agregados do usuário e publicar um número Merkle.

  4. Processamento em lote de ativos de usuário
    Os ativos líquidos da bolsa são confirmados como a soma dos ativos líquidos de cada usuário. Então, com base nos ativos líquidos dos usuários, é construída uma árvore Merkle.
    (A principal razão para o processamento em lote é que o Gate.io tem 13 milhões de usuários. O processamento de todos os dados do usuário de uma só vez colocaria demandas extremas em hardware e software. O processamento em lote é mais demorado e econômico, sem comprometer a segurança ou a privacidade dos dados.)

  5. Implementando restrições de circuito
    ① Antes que os ativos líquidos de um usuário sejam inseridos na árvore Merkle, o nó correspondente ao ID desse usuário está vazio.
    ② Com base na lista de ativos do usuário e no preço de cada ativo, calcule o total de ativos/passivos do usuário. O total de ativos deve sempre exceder o total de passivos.
    ③ Adicione os ativos/passivos do usuário aos ativos/passivos da bolsa.
    ④ Usando o ID do usuário, total de ativos/passivos e lista de ativos, calcule o hash de status do usuário. Insira o status do usuário na árvore Merkle para obter uma nova Merkle Root.
    ⑤ Antes de criar uma operação para um usuário, o valor hash raiz da árvore deve corresponder ao valor hash do nó raiz após criar uma operação para o usuário subsequente.
    (A restrição ① evita dados falsos do nó, ② evita contas com valores negativos e ⑤ garante que os dados do usuário permaneçam inalterados antes e depois das operações.)

  6. Gerando Comprovante de Reserva
    Usando o circuito zk-SNARK, determine o número de ativos do usuário e emita um relatório de prova de reserva.

Para uma explicação mais detalhada do processo de cálculo de reservas e implementação do código, clique aqui.

Desempenho

Em uma máquina com 32 núcleos e 128 GB de RAM, são necessários 15 dias para calcular as provas de ativos de 10 milhões de usuários. Os cálculos da prova de reserva podem ser paralelizados; assim, com 10 máquinas, leva apenas 1,5 dias.

Conclusão

A introdução dos zk-SNARKs é uma atualização significativa para o Gate.io provas de reserva e uma etapa essencial na proteção dos ativos dos usuários. Esta proteção superior de segurança e privacidade aumenta a confiança do usuário e estabelece um novo padrão para a indústria de criptomoedas. Como líder do setor, Gate.io agora abriu seu código, na esperança de promover desenvolvimentos industriais mais transparentes e seguros. No futuro, a Gate.io continuará seu espírito de inovação, explorando e sendo pioneira em um futuro criptográfico mais seguro, abrangente e protegido pela privacidade junto com seus usuários.

Referências

المؤلف: Wayne
المترجم: Piper
المراجع (المراجعين): Edward、KOWEI、Elisa、Ashley He、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.

Como o zk-SNARK melhora o Gate.io Comprovante de Reservas

Avançado10/12/2023, 4:19:14 PM
Como um dos pioneiros na indústria a introduzir comprovação de reservas, a Gate.io adotará a tecnologia zk-SNARK para aprimorar sua comprovação de reservas, proporcionando aos usuários segurança superior de ativos e proteção de privacidade.

Com mais de 13 milhões de usuários, Gate.io conhece perfeitamente a importância da segurança dos fundos e foi pioneira na indústria na tomada de medidas eficazes. Gate.io foi uma das primeiras exchanges a implementar a prova de reservas (PoR), revelando seu PoR já em maio de 2020. Foi somente depois que a FTX se apropriou indevidamente dos ativos dos usuários em 2022, levando a uma crise de liquidez e subsequente falência, que a prova de reservas se tornou amplamente reconhecida como uma solução para garantir a segurança dos fundos dos usuários e aumentar a confiabilidade da plataforma.

Após o incidente da FTX, a Gate.io divulgou prontamente sua segunda prova de reservas. Pouco depois de seu lançamento, o fundador do Ethereum, Vitalik Buterin, publicou um artigo intitulado “Ter um CEX seguro: prova de solvência e muito mais”, discutindo como as exchanges podem demonstrar melhor sua solvência. O artigo sugere a integração de tecnologias avançadas como zk-SNARK em cima da tradicional prova de reservas para garantir um PoR mais público, transparente e autêntico. Gate.io planeja usar a nova tecnologia mencionada no artigo para atualizar sua prova de reservas, oferecendo aos usuários maior privacidade e segurança genuína de ativos.

O que é comprovante de reservas?

A Prova de Reservas (PoR) refere-se à revisão dos saldos mantidos por bolsas de criptomoedas ou outras instituições financeiras, verificando se o valor do ativo registrado pela empresa corresponde aos efetivamente ativos detidos. Se o montante dos activos nas reservas exceder o montante dos activos depositados pelos utilizadores, ou seja, o rácio de garantia for superior a 100%, isso prova que os fundos dos utilizadores são garantidos por activos reais numa base de 1:1.

Antes do surgimento do PoR, também existiam propostas de transferência de ativos e comprovação de passivos para demonstrar que as bolsas tinham fundos suficientes.

Transferência de Ativos – Demonstrando que a Bolsa possui ativos suficientes

Em 2011, a MtGox, então a maior bolsa de Bitcoin, provou que detinha determinados fundos ao executar uma transação que movimentou 424.242 BTC para um endereço previamente anunciado. Este método só poderia validar ativos e não poderia comprovar os passivos da bolsa.

Prova de responsabilidades

Os passivos de uma bolsa são os ativos depositados pelos seus usuários. A maneira mais simples de comprovar os ativos dos usuários é publicar uma lista contendo contas e saldos dos usuários. Cada usuário pode acessar esta lista e verificar se o saldo de sua conta está correto. No entanto, este método tem desvantagens óbvias:

  1. Não há garantia de que a lista fornecida pela exchange seja autêntica.

  2. No processo, tanto as informações da conta quanto o saldo do usuário são divulgados.

Este método também poderia usar uma estrutura de dados como Merkle para minimizar a exposição das informações do usuário, levando ao conceito atual de PoR.

Conforme ilustrado, uma árvore Merkle é uma estrutura de dados semelhante a uma árvore. Os dados na camada inferior são chamados de “nós folha” e os do meio podem ser chamados de “nós intermediários”. Dois nós folha podem sofrer hashing (processamento de qualquer valor de entrada para obter um valor específico) para produzir o valor de um nó intermediário. Dois nós intermediários são então hash para obter um valor de saída exclusivo para o nó do próximo nível. Após sucessivas camadas de processamento, o nó raiz (Root) da árvore Merkle é finalmente obtido. Este valor é único e qualquer alteração em um nó folha resultará em uma alteração no nó raiz.

Prova de reserva em árvores Merkle (Fonte: Vitalik

Neste método, o total de ativos detidos por uma bolsa em nome dos seus utilizadores é determinado pela acumulação de valores camada por camada. No entanto, mesmo depois de inserir a conta do usuário e os dados do saldo diretamente nos nós folha, permanece um pequeno risco de vazamento de informações. Tomando como exemplo a ilustração, o usuário marcado em verde (Charlie) pode acessar informações parciais de David, bem como os saldos de Alice e Bob no lado esquerdo. Consequentemente, houve melhorias técnicas nos nós folha:

  1. Conforme mostrado na ilustração, o ID da conta do usuário é hash junto com um valor específico.

  2. Os saldos dos usuários estão dispersos. Por exemplo, os 10ETH de Charlie poderiam ser divididos em dois valores de 5ETH e colocados em dois nós folha diferentes.

  3. O ID do usuário e o saldo são criptografados separadamente e, em seguida, os valores resultantes são criptografados mais uma vez. A prova do fundo de reserva da Gate.io usa esse método.

Apesar destes avanços ao nível dos nós folha, uma questão permanece por resolver: saldos negativos. Na prática, depois que os usuários depositam criptomoedas, eles se envolvem com produtos de câmbio, como negociações alavancadas e contratos perpétuos. Se ocorrerem perdas, a perda máxima deverá ser de 100% do principal, ou seja, o saldo da conta do usuário deverá ser sempre maior ou igual a zero.

Normalmente, os saldos negativos são iniciados por trocas maliciosas. Por exemplo, se uma bolsa se apropriar indevidamente de 500 ETH, segundo cálculos padrão, os ativos que a bolsa realmente detém poderão ser inferiores à garantia exigida, possivelmente até menos de 100%, revelando a apropriação indevida. No entanto, a bolsa pode criar uma conta, como aquela chamada Henry com saldo de -500ETH na ilustração dada, para tornar o valor total dos ativos da árvore Merkle igual ou inferior aos ativos que a bolsa detém após a apropriação indébita, fabricando assim uma ilusão de uma taxa de garantia superior a 100%.

Impacto das contas de valor negativo na ilustração das árvores Merkle (Fonte: Vitalik

Para resolver esse problema, bolsas como a Gate.io começaram a usar a tecnologia de prova de conhecimento zero zk-SNARK para aprimorar suas provas de reserva.

O que são Provas de Conhecimento Zero e zk-SNARKs?

Uma prova de conhecimento zero é uma técnica pela qual uma parte pode provar algo a outra sem revelar informações confidenciais. Para ilustrar esse conceito com um exemplo simples: se o usuário A souber o número de telefone do usuário B e o usuário C perguntar se o usuário A sabe, o usuário A pode discar o número de B imediatamente para verificar se realmente o possui, sem revelar o número real ao usuário. C. Este processo, que preserva a privacidade do usuário e ao mesmo tempo confirma o conhecimento, exemplifica o mecanismo de “prova de conhecimento zero”.

No domínio das criptomoedas, as provas de conhecimento zero permitem aos usuários demonstrar a propriedade de uma chave privada sem expor a própria chave ou qualquer assinatura eletrônica. As plataformas de negociação de criptomoedas esperam validar o status de seus fundos de reserva sem divulgar informações confidenciais dos usuários, como saldos de contas individuais.

zk-SNARK significa uma técnica sucinta e não interativa de prova de conhecimento zero. Ele passa por uma “configuração inicial confiável” para produzir uma cadeia de referência comum (CRS) que todos os provadores podem acessar diretamente. Isso é análogo a um sistema de classificação de exames onde zk-SNARK carrega diretamente as respostas corretas. Os examinandos podem então verificar suas respostas (enviando a solução de uma pergunta para um sistema backend, que fornece imediatamente o resultado correto ou incorreto), tornando o processo altamente eficiente.

Com zk-SNARK, os usuários podem atestar que conhecem o valor original que foi criptografado sem revelar o conteúdo real desse valor. Sem divulgar valores, valores ou endereços específicos, os usuários também podem verificar a validade de uma transação. É comumente usado em transações privadas. No projeto de provas de reserva, o zk-SNARK pode pré-definir restrições, eliminar contas diferentes de zero e garantir a privacidade do usuário.

Como Gate.io utiliza zk-SNARKs para aprimorar as provas de reserva

Gate.io integra a tecnologia zk-SNARK com árvores Merkle para criar provas de reserva mais transparentes, protegidas pela privacidade e resistentes a adulterações.

Processo de implementação

  1. Autorização de carteira fria
    Todas as carteiras frias e quentes transferem uma quantia aleatória específica para um endereço designado pela empresa de auditoria para verificar a propriedade. A empresa de auditoria então resume os saldos desses endereços para determinar o valor total controlado pela bolsa (incluindo fundos de usuários e proprietários).

  2. Instantâneo do saldo do usuário
    Em um momento específico, é tirado um instantâneo dos saldos dos usuários na plataforma. Os patrimônios reais da conta são calculados usando dados como pedidos pendentes, valores emprestados, juros devidos e lucros/perdas não realizados.

  3. Exportando Saldos
    O UID criptografado e o saldo de cada usuário são fornecidos à empresa de auditoria com a finalidade de calcular os ativos agregados do usuário e publicar um número Merkle.

  4. Processamento em lote de ativos de usuário
    Os ativos líquidos da bolsa são confirmados como a soma dos ativos líquidos de cada usuário. Então, com base nos ativos líquidos dos usuários, é construída uma árvore Merkle.
    (A principal razão para o processamento em lote é que o Gate.io tem 13 milhões de usuários. O processamento de todos os dados do usuário de uma só vez colocaria demandas extremas em hardware e software. O processamento em lote é mais demorado e econômico, sem comprometer a segurança ou a privacidade dos dados.)

  5. Implementando restrições de circuito
    ① Antes que os ativos líquidos de um usuário sejam inseridos na árvore Merkle, o nó correspondente ao ID desse usuário está vazio.
    ② Com base na lista de ativos do usuário e no preço de cada ativo, calcule o total de ativos/passivos do usuário. O total de ativos deve sempre exceder o total de passivos.
    ③ Adicione os ativos/passivos do usuário aos ativos/passivos da bolsa.
    ④ Usando o ID do usuário, total de ativos/passivos e lista de ativos, calcule o hash de status do usuário. Insira o status do usuário na árvore Merkle para obter uma nova Merkle Root.
    ⑤ Antes de criar uma operação para um usuário, o valor hash raiz da árvore deve corresponder ao valor hash do nó raiz após criar uma operação para o usuário subsequente.
    (A restrição ① evita dados falsos do nó, ② evita contas com valores negativos e ⑤ garante que os dados do usuário permaneçam inalterados antes e depois das operações.)

  6. Gerando Comprovante de Reserva
    Usando o circuito zk-SNARK, determine o número de ativos do usuário e emita um relatório de prova de reserva.

Para uma explicação mais detalhada do processo de cálculo de reservas e implementação do código, clique aqui.

Desempenho

Em uma máquina com 32 núcleos e 128 GB de RAM, são necessários 15 dias para calcular as provas de ativos de 10 milhões de usuários. Os cálculos da prova de reserva podem ser paralelizados; assim, com 10 máquinas, leva apenas 1,5 dias.

Conclusão

A introdução dos zk-SNARKs é uma atualização significativa para o Gate.io provas de reserva e uma etapa essencial na proteção dos ativos dos usuários. Esta proteção superior de segurança e privacidade aumenta a confiança do usuário e estabelece um novo padrão para a indústria de criptomoedas. Como líder do setor, Gate.io agora abriu seu código, na esperança de promover desenvolvimentos industriais mais transparentes e seguros. No futuro, a Gate.io continuará seu espírito de inovação, explorando e sendo pioneira em um futuro criptográfico mais seguro, abrangente e protegido pela privacidade junto com seus usuários.

Referências

المؤلف: Wayne
المترجم: Piper
المراجع (المراجعين): Edward、KOWEI、Elisa、Ashley He、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!