Mise à niveau de la preuve de réserve de Gate.io : construire de meilleurs services avec zk-SNARK

IntermédiaireNov 19, 2023
En tant qu'échange de confiance avec 13 millions d'utilisateurs, Gate.io comprend l'importance de la sécurité des fonds. En mai 2020, Gate.io est devenu l'un des premiers échanges à mettre en œuvre la preuve des réserves et a depuis été un leader dans ce domaine. À la suite de l'incident de FTX, la solution de la preuve des réserves a fait l'objet d'une attention particulière. Aujourd'hui, Gate.io a le plaisir d'annoncer une mise à niveau majeure vers une preuve de réserves à 100 %, utilisant la technologie zk-SNARK pour améliorer la confidentialité, la transparence et l'authenticité, protégeant ainsi davantage les fonds des utilisateurs.
Mise à niveau de la preuve de réserve de Gate.io : construire de meilleurs services avec zk-SNARK

Preuve de réserves et arbre de Merkle

L'article de Vitalik Buterin intitulé " Having a safe CEX : proof of solvency and beyond " met en évidence les difficultés auxquelles sont confrontées les bourses centralisées pour vérifier les actifs des utilisateurs et garantir des réserves suffisantes pour honorer les dépôts des utilisateurs. Par conséquent, les bourses doivent pouvoir prouver qu'elles disposent de suffisamment d'actifs de réserve pour rembourser intégralement ces actifs à la demande des utilisateurs, c'est-à-dire qu'elles doivent démontrer que la valeur de leurs actifs de réserve est supérieure à la valeur des dépôts des utilisateurs. Cette preuve est connue sous le nom de preuve de réserves et est appelée preuve d'audit de 100% des réserves chez Gate.io.

La manière la plus simple de prouver les dépôts est de publier une liste de paires (nom d'utilisateur et solde). Chaque utilisateur peut vérifier si son solde est inclus dans la liste, et n'importe qui peut vérifier la liste complète pour s'assurer que tous les soldes ne sont pas négatifs et que la somme correspond au montant réclamé par l'échange. Toutefois, cela compromet la protection de la vie privée. Pour y remédier, une légère modification est apportée : publication d'une liste de paires (hash(nom d'utilisateur, sel), solde) et envoi privé à chaque utilisateur de sa valeur de sel. Mais même cela révèle des équilibres et des changements d'équilibre. Pour protéger la vie privée, une autre innovation est introduite : l'arbre de Merkle.

(Figure 1Source:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)

La technique de l'arbre de Merkle organise les données relatives au solde de l'utilisateur sous la forme d'un arbre de Merkle. Dans cette structure arborescente, chaque nœud est constitué d'une paire (balance, hachage). Les nœuds feuilles du bas représentent les soldes individuels des utilisateurs et le hachage salé de leurs noms d'utilisateur. Dans chaque nœud de niveau supérieur, le solde est la somme des deux soldes qui lui sont inférieurs et le hachage est le hachage des deux nœuds qui lui sont inférieurs. La preuve de la somme de Merkle, semblable à une preuve de Merkle, représente une "branche" de l'arbre composée de nœuds frères, de la feuille à la racine. La bourse fournit à chaque utilisateur la preuve de la somme de Merkle de son solde, ce qui lui permet de vérifier que son solde est correctement inclus dans le solde total de la bourse.

Cette conception améliore considérablement la protection de la vie privée par rapport à une liste entièrement publique. En outre, les fuites de confidentialité peuvent être encore réduites en mélangeant les "branches" chaque fois que la "racine" est publiée. Cependant, il reste encore quelques problèmes à résoudre. Par exemple, Charlie apprend que quelqu'un possède 164 ETH et que les soldes de deux utilisateurs s'élèvent à 70 ETH, entre autres informations (voir figure 1). Un attaquant qui contrôle plusieurs comptes peut toujours déduire des informations sensibles sur les utilisateurs de l'échange.

Limites de la preuve de réserves basée sur l'arbre de Merkle

Bien que la preuve de réserves basée sur l'arbre de Merkle ait été efficace pour garantir la sécurité des actifs des utilisateurs, cette approche pose encore certains problèmes :

  1. Fraude frontale : Les données de l'arbre Merkle sont stockées sur les serveurs internes de la bourse et celle-ci contrôle les pages d'accueil avec lesquelles les utilisateurs interagissent. L'échange peut potentiellement renvoyer de fausses pages pour tromper les utilisateurs, ce qui entraîne la possibilité d'une fraude frontale.
  2. Attaque par algorithme de Merkle malveillant : Une bourse centralisée (CEX) peut créer de faux comptes avec des soldes négatifs après avoir détourné des fonds. Par exemple, si un utilisateur possède des actifs d'une valeur de 1 000 dollars et que la bourse a détourné 500 dollars, le solde de l'utilisateur affiché sur l'interface indiquera toujours 1 000 dollars. Si la preuve de l'arbre de Merkle est émise sur la base de 1 000 dollars, il apparaîtrait que les actifs réels de la bourse (500 dollars) sont inférieurs aux actifs déposés par l'utilisateur (1 000 dollars), ce qui indiquerait que les fonds de réserve sont insuffisants. Cependant, en créant un faux compte avec un solde de -500 $, la bourse peut faire en sorte que l'arbre de Merkle montre que ses actifs réels (500 $) sont égaux aux actifs déposés par l'utilisateur (1 000 - 500 = 500 $), ce qui se traduit par un résultat de PoR normal.
  3. Problèmes potentiels de protection de la vie privée pour les attaquants disposant de plusieurs comptes.

Preuve à connaissance nulle et zk-SNARK

Les preuves de non-connaissance ont suscité une grande attention dans divers cas d'utilisation en raison de leur capacité à renforcer la sécurité, à protéger la vie privée des utilisateurs et à favoriser l'évolutivité dans les réseaux de la couche 2.

Les preuves à connaissance nulle permettent à une partie de prouver à une autre partie qu'une déclaration est vraie sans révéler d'informations supplémentaires. Ils contribuent à améliorer la confidentialité en réduisant la quantité d'informations partagées entre les participants et favorisent l'évolutivité en permettant de vérifier les preuves plus rapidement sans avoir à valider l'ensemble des données.

zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) est une technologie de preuve à zéro connaissance proposée dans un article commun par Nir Bitansky, Ran Canetti, Alessandro Chiesa, et Eran Tromer en 2012. zk-SNARK permet à une partie de prouver à une autre partie qu'elle connaît un secret sans révéler le secret lui-même, prouvant ainsi l'exactitude d'une expression logique sans exposer la moindre information. Dans les preuves traditionnelles à connaissance nulle, le prouveur doit interagir plusieurs fois avec le vérificateur pour générer la preuve. Cependant, dans zk-SNARK, une fois que les paramètres (en particulier les paramètres publics) et la preuve sont générés, le vérificateur peut vérifier l'exactitude de la preuve sans avoir besoin de multiples interactions avec le prouveur.

Imaginez, par exemple, que vous disposiez d'une carte au trésor qui mène à l'emplacement exact du trésor enterré. Vous voulez prouver à quelqu'un que vous connaissez l'emplacement du trésor sans révéler le contenu de la carte ou l'emplacement réel du trésor. En utilisant la technologie zk-SNARK, vous créez une pièce de puzzle de la carte au trésor. Vous sélectionnez une petite pièce du puzzle (une preuve) et la montrez à l'autre personne, ce qui suffit à la convaincre que vous savez comment le puzzle complet s'assemble, c'est-à-dire l'emplacement du trésor, sans avoir besoin de voir le puzzle dans son intégralité. Toutefois, pour ce faire, vous devez obtenir des marques spéciales auprès d'une imprimerie réputée afin d'authentifier vos pièces de puzzle.

La mise en œuvre de zk-SNARKs est basée sur la cryptographie à courbe elliptique et les mathématiques polynomiales. Cette technique utilise des mappings pour transformer les entrées en polynômes et utilise des concepts mathématiques tels que l'ordre des courbes elliptiques et le logarithme discret pour valider que les contraintes sur les polynômes sont satisfaites. Il exploite des algorithmes spéciaux pour la compression des données, permettant ainsi une exécution efficace des calculs mathématiques.

Par conséquent, l'utilisation de zk-SNARKs peut considérablement rationaliser et améliorer la confidentialité dans les protocoles de preuve de réserve. En incorporant tous les dépôts des utilisateurs dans un arbre de Merkle et en utilisant des zk-SNARK pour attester que tous les soldes sont non négatifs et s'additionnent pour atteindre une valeur déclarée, il est possible d'affirmer qu'une bourse a la capacité de couvrir entièrement ses engagements si les actifs divulgués publiquement sur la blockchain dépassent cette valeur.

L'intégration des zk-SNARK avec les arbres de Merkle facilite la vérification simultanée de l'intégrité et de la cohérence des données tout en préservant la confidentialité des transactions. Les prouveurs peuvent utiliser les zk-SNARK pour démontrer qu'ils possèdent une preuve de Merkle répondant à des conditions spécifiques sans révéler les détails de la preuve. Pour les bourses, cette approche est un moyen de prouver qu'elles disposent de fonds suffisants pour remplir toutes leurs obligations, tout en préservant la vie privée des utilisateurs.

Mise à jour de la réserve de connaissances zéro de Gate.io

En résumé, la technologie de preuve sans connaissance de Gate.io résout deux problèmes clés liés à la preuve des réserves :

  1. Permettre aux utilisateurs de prouver qu'ils sont propriétaires de certains actifs sans révéler d'informations sensibles
  2. éliminer la possibilité d'une attaque malveillante de l'algorithme de l'arbre de Merkle en veillant à ce que l'arbre de Merkle ne contienne pas d'utilisateurs dont le solde net est négatif, comme décrit dans la section précédente

Gate.io a mis à jour sa preuve de réserves en utilisant zk-SNARK, franchissant ainsi une étape importante en tant qu'échange leader dans la protection de la sécurité des actifs des utilisateurs. Grâce à cette mise à jour, les utilisateurs peuvent consulter les preuves de réserve en temps réel, et le premier lot d'actifs pris en charge couvrira les 100 premiers en termes de capitalisation boursière. En tant que leader du secteur, il a ouvert le code et continuera à stimuler le développement du secteur et à explorer un avenir crypté plus sûr et plus respectueux de la vie privée grâce à cette mise à jour à l'épreuve de toute connaissance.

Lectures complémentaires :

Tác giả: Gate learn
Thông dịch viên: Sonia
(Những) người đánh giá: Wayne Zhang、Edward、Elisa、Ashley 、Joyce BeelenHe、
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500
Tạo tài khoản