Atualização de prova de reserva Gate.io: construindo melhores serviços com zk-SNARK

intermediárioNov 19, 2023
Como uma exchange confiável com 13 milhões de usuários, a Gate.io entende a importância da segurança dos fundos. Em maio de 2020, a Gate.io tornou-se uma das primeiras bolsas a implementar a Prova de Reservas e desde então tem sido líder nesta área. Após o incidente da FTX, a Prova de Reservas ganhou atenção significativa como solução. Agora, Gate.io tem o prazer de anunciar uma grande atualização para 100% de prova de reservas, utilizando a tecnologia zk-SNARK para aumentar a privacidade, transparência e autenticidade, protegendo ainda mais os fundos dos usuários.
Atualização de prova de reserva Gate.io: construindo melhores serviços com zk-SNARK

Prova de Reservas e Merkle Tree

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

A maneira mais simples de comprovar depósitos é publicando uma lista de pares (nome de usuário e saldo). Cada usuário pode verificar se seu saldo está incluído na lista, e qualquer pessoa pode verificar a lista completa para garantir que todos os saldos não sejam negativos e que a soma corresponda ao valor reivindicado pela exchange. No entanto, isso compromete a privacidade. Para resolver isso, uma pequena modificação é feita: publicar uma lista de pares (hash(nome de usuário, salt), saldo) e enviar de forma privada a cada usuário seu valor salt. Mas mesmo isto revela equilíbrios e mudanças de equilíbrio. Para proteger a privacidade, é introduzida mais uma 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 de saldo do usuário em uma árvore de soma Merkle. Nesta estrutura em árvore, cada nó consiste em um par (balance, hash). Os nós folha na parte inferior representam saldos de usuários individuais e o hash salgado de seus nomes de usuário. 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 da soma de Merkle, semelhante a uma prova de Merkle, representa um “ramo” da árvore composto de nós irmãos da folha à raiz. A bolsa fornece a cada usuário o comprovante de 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, o vazamento de privacidade pode ser ainda mais minimizado ao embaralhar as “ramificações” sempre que a “raiz” for publicada. No entanto, ainda existem alguns problemas remanescentes. Por exemplo, Charlie descobre que alguém tem 164 ETH e os saldos de dois usuários 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 usuários do Exchange.

Limitações da prova de reservas baseada na Merkle Tree

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 exchange, e a exchange controla as páginas front-end com as quais os usuários interagem. A troca pode retornar páginas falsas para enganar os usuários, levando à possibilidade de fraude front-end.
  2. Ataque malicioso ao algoritmo Merkle Tree: Uma exchange centralizada (CEX) pode criar contas falsas com saldos negativos após apropriação indébita de fundos. Por exemplo, se um usuário tivesse ativos no valor de US$ 1.000 e a exchange se apropriasse indevidamente de US$ 500, o saldo do usuário exibido na interface ainda mostraria US$ 1.000. Se a prova da árvore Merkle for emitida com base em US$ 1.000, pareceria que os ativos reais da exchange (US$ 500) são menores que os ativos depositados do usuário (US$ 1.000), indicando fundos de reserva insuficientes. No entanto, ao criar uma conta falsa com saldo de -$500, a exchange pode fazer com que a árvore Merkle mostre que seus ativos reais ($500) são iguais aos ativos depositados do usuário (1.000 - 500 = $500), resultando em uma saída PoR normal.
  3. Potenciais problemas de privacidade para invasores com múltiplas 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 usuário e oferecer suporte à escalabilidade em redes de Camada 2.

As provas de conhecimento zero permitem que uma parte prove a outra parte que uma afirmação é verdadeira sem revelar qualquer informação adicional. Eles contribuem para aumentar a privacidade, reduzindo a quantidade de informações compartilhadas entre os participantes e apoiam a escalabilidade, permitindo que as provas sejam verificadas mais rapidamente, sem validar todo o conjunto de dados.

zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) é uma tecnologia de prova de conhecimento zero proposta em um artigo conjunto de Nir Bitansky, Ran Canetti, Alessandro Chiesa e Eran Tromer em 2012. 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. Porém, 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 você tem um mapa do tesouro que leva à localização exata do tesouro enterrado. Você quer provar a alguém que conhece a localização do tesouro sem revelar o conteúdo do mapa ou a localização real do tesouro. Usando a tecnologia zk-SNARK, você criaria uma peça do quebra-cabeça do mapa do tesouro. Você seleciona uma pequena peça do quebra-cabeça (uma prova) e mostra para a outra pessoa, o que é suficiente para convencê-la de que você sabe como o quebra-cabeça completo se encaixa, ou seja, a localização do tesouro, sem precisar ver o quebra-cabeça inteiro. No entanto, para conseguir isso, você deve obter algumas marcações especiais de uma gráfica confiável para autenticar as peças do quebra-cabeça.

A implementação de zk-SNARKs é baseada em criptografia de curva elíptica e 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 se as restrições nos polinômios são satisfeitas. Ele aproveita algoritmos especiais para compactação de dados, permitindo assim a execução eficiente de cálculos matemáticos.

Portanto, o uso de zk-SNARKs pode agilizar e aumentar significativamente a privacidade em protocolos à prova de reserva. Ao incorporar todos os depósitos dos usuários em uma á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 integralmente seus passivos se o divulgado publicamente os ativos no blockchain excedem esse valor.

A integração de 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 atende a condições específicas, sem revelar os detalhes da prova. Para as bolsas, esta abordagem oferece uma forma de provar que têm fundos suficientes para cumprir todas as obrigações, salvaguardando ao mesmo tempo a privacidade do utilizador.

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

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

  1. Permitir que os usuários comprovem a propriedade de determinados ativos sem revelar qualquer informação sensível
  2. Eliminar a possibilidade de um ataque malicioso do algoritmo da árvore Merkle, garantindo que a árvore Merkle não contenha usuários com saldos líquidos negativos, conforme descrito na seção anterior

Gate.io atualizou sua prova de reservas usando zk-SNARK, dando um passo significativo como uma bolsa líder na proteção da segurança dos ativos do usuário. Com esta atualização, os usuários podem visualizar os comprovantes de reserva em tempo real, e o primeiro lote de ativos suportados cobrirá os 100 principais por capitalização de mercado. Como líder do setor, abriu o código-fonte e continuará a impulsionar o desenvolvimento do setor e a explorar um futuro criptografado mais seguro e que melhore a privacidade com esta atualização à prova de conhecimento zero.

Leituras Adicionais:

Автор: Gate learn
Переводчик: Sonia
Рецензент(ы): Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
* Информация не предназначена и не является финансовым советом или любой другой рекомендацией любого рода, предложенной или одобренной Gate.io.
* Эта статья не может быть опубликована, передана или скопирована без ссылки на Gate.io. Нарушение является нарушением Закона об авторском праве и может повлечь за собой судебное разбирательство.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!
Создайте аккаунт