Actualização de Prova de Reserva Gate.io: Construir melhores serviços com o zk-SNARK

IntermediárioNov 19, 2023
Como uma bolsa de confiança com 13 milhões de utilizadores, o Gate.io compreende a importância da segurança dos fundos. Em maio de 2020, a Gate.io tornou-se uma das primeiras bolsas a implementar Prova de Reservas e desde então tem sido líder neste campo. Após o incidente do FTX, a Prova de Reservas ganhou atenção significativa como solução. Agora, a Gate.io tem o prazer de anunciar uma grande atualização para 100% de prova de reservas, utilizando a tecnologia zk-SNark para melhorar a privacidade, a transparência e a autenticidade, protegendo ainda mais os fundos dos utilizadores.
Actualização de Prova de Reserva Gate.io: Construir melhores serviços com o zk-SNARK

Prova de Reservas e Árvore Merkle

O artigo de Vitalik Buterin Tendo um CEX seguro: prova de solvência e além destaca o desafio que as trocas centralizadas enfrentam na verificação dos ativos dos utilizadores e na garantia de reservas suficientes para honrar os depósitos dos utilizadores. Portanto, as bolsas precisam de uma maneira de provar que têm ativos de reserva suficientes para reembolsar integralmente esses ativos quando solicitados pelos utilizadores, o que significa que precisam demonstrar que o valor dos seus ativos de reserva excede o valor dos depósitos dos utilizadores. Esta prova é conhecida como Prova de Reservas e chama-se 100% de prova de auditoria de reserva no Gate.io.

A maneira mais simples de provar depósitos é publicando uma lista de pares (nome de utilizador e saldo). Cada utilizador pode verificar se o seu saldo está incluído na lista, e qualquer pessoa pode verificar a lista completa para garantir que todos os saldos não são negativos e a soma corresponde ao valor reivindicado pela bolsa. No entanto, isso compromete a privacidade. Para resolver isto, é feita uma ligeira modificação: publicar uma lista de pares (hash (nome de utilizador, sal), saldo) e enviar em particular a cada utilizador o seu valor de sal. Mas mesmo isso revela saldos e mudanças de equilíbrio. Para proteger a privacidade, é introduzida uma nova inovação: a árvore Merkle.

(Figura 1 Fonte:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html

A técnica da árvore Merkle organiza os dados do saldo do utilizador numa árvore de soma Merkle. Nesta estrutura de árvore, cada nó consiste num par (equilíbrio, hash). Os nós de folha na parte inferior representam saldos individuais dos utilizadores e o hash salgado dos seus nomes de utilizador. Em cada nó de nível superior, o saldo é a soma dos dois saldos abaixo dele, e o hash é o hash dos dois nós abaixo dele. A prova de soma Merkle, semelhante a uma prova de Merkle, representa um “ramo” da árvore feito de nós irmãos da folha à raiz. A bolsa fornece a cada utilizador a prova da soma Merkle do seu saldo, permitindo-lhes verificar se o seu saldo está corretamente incluído no saldo total da bolsa.

Este design aumenta significativamente a privacidade em comparação com uma lista totalmente pública. Além disso, a fuga de privacidade pode ser ainda mais minimizada ao embaralhar os “ramos” sempre que a “raiz” é publicada. No entanto, ainda restam alguns problemas. Por exemplo, o Charlie aprende que alguém tem 164 ETH, e os saldos de dois utilizadores somam 70 ETH, entre outras informações (ver Figura 1). Um invasor que controla várias contas ainda pode deduzir informações confidenciais sobre os utilizadores do Exchange.

Limitações da prova de reservas baseada na árvore Merkle

Embora a prova de reservas baseada na árvore Merkle tenha sido eficaz para garantir a segurança dos ativos dos utilizadores, ainda existem alguns problemas com esta abordagem:

  1. Fraude de front-end: Os dados da árvore Merkle são armazenados nos servidores internos da bolsa, e a bolsa controla as páginas front-end com as quais os utilizadores interagem. A troca pode potencialmente devolver páginas falsas para enganar os utilizadores, levando à possibilidade de fraude no front-end.
  2. Ataque malicioso de Algoritmo da Merkle Tree: Uma bolsa centralizada (CEX) pode criar contas falsas com saldos negativos após apropriação indevida de fundos. Por exemplo, se um utilizador tivesse ativos no valor de $1,000 e a bolsa se apropriasse indevidamente de $500, o saldo do utilizador exibido na interface ainda mostraria $1,000. Se a prova da árvore Merkle for emitida com base em $1,000, parece que os ativos reais da bolsa ($500) são inferiores aos ativos depositados do utilizador ($1,000), indicando fundos de reserva insuficientes. No entanto, ao criar uma conta falsa com um saldo de -$500, a bolsa pode fazer com que a árvore Merkle mostre que os seus ativos reais ($500) são iguais aos ativos depositados do utilizador (1,000 - 500 = $500), resultando numa produção PoR normal.
  3. Potenciais problemas de privacidade para invasores com várias contas.

Prova de conhecimento zero e zk-SNARK

As provas de conhecimento zero ganharam atenção generalizada em vários casos de uso devido ao seu potencial para aumentar a segurança, proteger a privacidade do utilizador e suportar a escalabilidade em redes de Camada 2.

As provas de conhecimento zero permitem que uma parte prove a outra parte que uma declaração é verdadeira sem revelar nenhuma informação adicional. Contribuem para o aumento da privacidade, reduzindo a quantidade de informações partilhadas entre os participantes e suportam a escalabilidade, permitindo que as provas sejam verificadas mais rapidamente sem validar todo o conjunto de dados.

zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argumento do Conhecimento) é uma tecnologia de prova de conhecimento zero proposta num artigo conjunto por Nir Bitansky, Ran Canetti, Alessandro Chiesa e Eran Tromer em 2012. O zk-SNARK permite que uma parte prove a outra parte que conhece um segredo sem revelar o segredo em si, provando assim a exatidão de uma expressão lógica sem expor qualquer informação. Nas provas tradicionais de conhecimento zero, o provador deve interagir com o verificador várias vezes para gerar a prova. No entanto, no zk-SNARK, uma vez gerados os parâmetros (especialmente os parâmetros públicos) e a prova, o verificador pode verificar a exatidão da prova sem precisar de múltiplas interações com o provador.

Por exemplo, imagine que tem um mapa do tesouro que leva à localização exata do tesouro enterrado. Quer provar a alguém que sabe a localização do tesouro sem revelar o conteúdo do mapa ou a localização real do tesouro. Usando a tecnologia zk-SNARK, criaria uma peça do puzzle do mapa do tesouro. Seleciona uma pequena peça do puzzle (uma prova) e mostra-a à outra pessoa, o que é suficiente para convencê-la de que sabe como o puzzle completo se encaixa, ou seja, a localização do tesouro, sem precisar ver o puzzle inteiro. No entanto, para conseguir isso, tem de obter algumas marcações especiais de uma fábrica de impressão respeitável para autenticar as suas peças do puzzle.

A implementação do zk-SNARKs baseia-se na criptografia de curva elíptica e na matemática polinomial. Esta técnica emprega mapeamentos para transformar entradas em polinómios e utiliza conceitos matemáticos como a ordem das curvas elípticas e o logaritmo discreto para validar que as restrições nos polinómios são satisfeitas. Aproveita algoritmos especiais para compressão de dados, permitindo assim a execução eficiente de cálculos matemáticos.

Portanto, usar zk-SNARKs pode simplificar e aumentar significativamente a privacidade em protocolos de prova de reserva. Ao incorporar todos os depósitos dos utilizadores numa árvore Merkle e empregar zk-SNARKs para atestar que todos os saldos não são negativos e somam um valor reivindicado, é possível afirmar que uma bolsa tem a capacidade de cobrir totalmente os seus passivos se os ativos divulgados publicamente na cadeia de blocos excederem esse valor.

A integração do zk-SNARKs com árvores Merkle facilita a verificação simultânea da integridade e consistência dos dados, preservando a privacidade das transações. Os provadores podem usar zk-SNARKs para demonstrar que possuem uma prova Merkle que satisfaz condições específicas sem revelar os detalhes da prova. Para as trocas, esta abordagem oferece uma maneira de provar que têm fundos suficientes para cumprir todas as obrigações, salvaguardando a privacidade do utilizador.

Atualização da Reserva de Conhecimento Zero do Gate.io

Em resumo, a tecnologia de prova de conhecimento zero da Gate.io aborda dois questões-chave com a prova de reservas:

  1. Permitir que os utilizadores provem a propriedade de certos ativos sem revelar qualquer informação sensível
  2. Eliminar a possibilidade de um ataque malicioso do algoritmo da árvore Merkle assegurando que a árvore Merkle não contém utilizadores com saldos líquidos negativos, conforme descrito na secção anterior

O Gate.io melhorou a sua prova de reservas usando o zk-SNark, dando um passo significativo como bolsa líder na proteção da segurança dos ativos dos utilizadores. Com esta atualização, os utilizadores podem ver as provas de reserva em tempo real, e o primeiro lote de ativos suportados cobrirá o top 100 por capitalização de mercado. Como líder do setor, criou o código de código aberto e continuará a impulsionar o desenvolvimento da indústria e a explorar um futuro criptografado mais seguro e que melhore a privacidade com esta atualização à prova de conhecimento zero.

Leituras adicionais:

learn.articles.author Gate learn
learn.articles.translator Sonia
learn.articles.reviewer Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
learn.articles.copyrightNoticeOne
learn.articles.copyrightNoticeTwo
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account