Horário da última auditoria::
(UTC+0)
Excesso de valor de reserva::
$ B
Algoritmo:
Merkle Tree + zk-SNARKs
Taxa de reserva total::
Merkle Root Hash:
Saldo líquido do cliente
$
Saldo da carteira da Gate.io
$
Excesso de valor de reserva:
$
Not Data
Uma plataforma de negociação centralizada gerencia um livro-razão para registrar os ativos do usuário em um banco de dados. Assim, as plataformas enfrentam o desafio de provar que têm a custódia total de todos os ativos dos usuários em boas condições.
A Gate.io implementou a árvore Merkle para resolver esse problema, armazenando o valor de hash dos ativos da conta de cada usuário nos nós folha da árvore Merkle. Cada usuário pode auditar a quantidade total de ativos dos usuários armazenados nos nós da folha da árvore Merkle e verificar se seus fundos estão incluídos por meio de uma agência de auditoria terceirizada qualificada.
Caso se verifique que os ativos armazenados na árvore Merkle são maiores ou iguais a 100%, significa que os ativos dos usuários são mantidos integralmente na plataforma, ou seja, a plataforma fornece 100% de Prova de Reservas para os ativos dos usuários.
Se o número total de tokens gerenciados pela exchange no blockchain atender ou exceder o saldo agregado de todas as contas do usuário, conforme print, a plataforma mantém uma margem de 100% para esses tokens
Quando você usa carteiras quentes ou frias, você transfere uma quantia designada aleatoriamente para os endereços designados pela empresa de auditoria para provar sua propriedade sobre a carteira.
A empresa de auditoria somará o saldo dos endereços relevantes para calcular o valor total envolvido na transação (incluindo ativos dos usuários e ativos próprios da plataforma).
Please refer to the diagram below for illustration. After the merkle tree is successfully built, the leaf nodes will be exported into a plain text file, which will be published together with the merkle root hash by the auditor.
Em cripto e ciência da computação, uma árvore de hash ou árvore de Merkle é uma árvore na qual cada nó de folha é rotulado com o hash criptográfico de um bloco de dados. Cada nó de não folha é rotulado com o hash dos rótulos de seus nós filhos. As árvores de hash permitem a verificação eficiente e segura do conteúdo de grandes estruturas de dados.
a. A quantidade total de ativos gerenciados pela plataforma inclui o saldo total de ativos de todos os usuários.
b. O saldo líquido de cada usuário é maior ou igual a zero.
c. A alteração dos ativos de qualquer usuário resultará na alteração do valor do hash root Merkle.
zk-SNARK, que significa Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (Argumento de Conhecimento Restrito Não Interativo de Conhecimento Zero), é uma ferramenta inovadora enraizada na criptografia. Utilizando algoritmos matemáticos avançados, ele pode validar com eficiência o valor da reserva sem divulgar detalhes específicos do ativo. O zk-SNARK não apenas facilita a verificação rápida de ativos, mas também elimina os riscos de violação de privacidade. Devido a esses benefícios, juntamente com sua natureza não interativa e alta escalabilidade, ele encontra aplicações extensas em áreas como verificação de transações na chain, protegendo a privacidade de dados e autenticação de identidade.
1. Instale o programa e baixe os dados:
Primeiro, baixe o programa de verificação através do link fornecido ou acesse o GitHub para baixar o programa de verificação. Em seguida, renomeie-o para “main”.
Acesse a Página de Auditoria e localize o lote que deseja verificar. Clique em [Baixar Merkle Tree] e [Baixar configuração do usuário] para baixar os dados.
Descompacte o arquivo compactado zkmerkle_cex_xxx.tar.gz, coloque o programa maindentro desta pasta e coloque o arquivo user_config.json dentro do config pasta.
A pasta do programa agora é
zkmerkle_cex_xxx
Config
cex_config.json
user_config.json
proof.csv
zkpor864.vk.save
main
2. Verificação de ativos:
No cmd ou terminal, use o comando cd para navegar até a pasta baixada, como cd ~/Downloads/zkmerkle_cex_xxx.
(Antes de executar o programa, pode ser necessário executar chmod 777 main para conceder permissões ou definir itens de segurança.)
Execute o seguinte comando para iniciar a verificação.
./main verify cex
Após a verificação bem-sucedida, a mensagem será exibida.
All proofs verify passed!!!
Para obter documentação técnica detalhada e princípios de verificação, consulte o projeto de código aberto do GitHub.
HACKEN
Empresa de auditoriaTempo de auditoria
January 3, 2024
Auditor
Luciano Ciattaglia、Sofiane Akermoun、Nino Lipartiia、Bartosz Barwikowski
Repositórios
Relatório de auditoria
Gate.io PoR Implementation