La Preuve de réserves a évolué à partir de la preuve directe des actifs, introduisant continuellement des technologies et des processus de confiance pour optimiser le processus de preuve, se développant finalement en preuve des dettes. Ces technologies comprennent des tiers de confiance, des arbres de Merkle et des preuves de connaissance nulle, entre autres.
En 2011, MtGox, la plus grande bourse de bitcoins à l'époque, a prouvé qu'elle possédait les fonds en envoyant 424 242 BTC à une adresse pré-annoncée. Cette méthode ne peut prouver que la propriété des actifs et ne peut pas prouver les passifs de la bourse. Les utilisateurs n'ont aucun moyen de savoir s'il s'agit du montant exact des actifs qui ont été détournés.
La plus grande différence entre la preuve des dettes et la preuve des actifs est que la preuve des dettes ne prouve pas seulement le nombre d'actifs détenus par l'échange mais divulgue également le nombre d'actifs déposés par les utilisateurs.
La dette d'une bourse est constituée des actifs déposés par l'utilisateur. La manière la plus simple de prouver les actifs des utilisateurs est de divulguer une liste contenant les comptes des utilisateurs et les soldes, permettant aux utilisateurs de vérifier si les soldes de leurs comptes sont corrects.
Cependant, cette approche présente des défauts importants :
① Nous ne pouvons pas garantir que la liste fournie par l'échange est vraie.
② Au cours du processus, les informations de compte utilisateur et les soldes pourraient être divulgués.
Par conséquent, la méthode de divulgation directe est la base théorique de la preuve des dettes mais n'a pas encore été mise en œuvre par un échange à ce jour.
Un arbre de Merkle est une structure de données similaire à un “tree”, avec les données en bas de l'arbre appelées “leaf nodes” et les données au milieu appelées “intermediate nodes”. Les leaf nodes de gauche et de droite peuvent être traités par hachage (référence au traitement de toute valeur d'entrée par une méthode spécifique pour obtenir une valeur spécifique) pour produire la valeur du nœud intermédiaire. Les valeurs des nœuds intermédiaires de gauche et de droite, une fois hachées, produisent une valeur de sortie unique pour le nœud intermédiaire supérieur. Après le traitement couche par couche, le résultat final est le nœud racine de l'arbre de Merkle. Cette valeur est unique, et tout changement dans les leaf nodes entraînera un changement dans le nœud racine.
Dans cette méthode, les actifs totaux des utilisateurs détenus par l'échange sont obtenus par ajout couche par couche. Cependant, lors de la mise en place directe des données de compte et de solde utilisateur dans les nœuds feuilles, il y a encore une crise de fuite d'informations à petite échelle. En utilisant l'exemple dans le diagramme ci-dessus, l'utilisateur Charlie, marqué en vert, peut non seulement connaître certaines informations sur David mais aussi les soldes totaux d'Alice et de Bob sur la gauche. Par conséquent, il existe de nouvelles améliorations technologiques dans les nœuds feuilles:
(1) Comme le montre la figure ci-dessus, hachez l'identifiant du compte utilisateur avec une valeur spécifique.
(2) Divisez le solde de l'utilisateur. Par exemple, les 10 ETH de Charlie peuvent être divisés en deux 5 ETH placés dans deux nœuds feuilles.
(3) Hasher l'ID utilisateur et le solde séparément, puis hacher à nouveau les valeurs obtenues.
Malgré diverses méthodes d'optimisation, il y a un problème que les arbres de Merkel ne peuvent pas résoudre : les comptes à solde négatif. Dans l'utilisation pratique, les utilisateurs peuvent faire du trading avec effet de levier, des contrats perpétuels et d'autres produits après avoir déposé des cryptomonnaies. En cas de pertes, la perte maximale devrait être de 100 % du capital, ce qui signifie que les soldes des comptes des utilisateurs doivent être supérieurs ou égaux à 0.
Ainsi, les comptes à solde négatif sont généralement initiés par des échanges malveillants. Si l'échange détournait 500 ETH, selon des calculs normaux, le ratio de réserve réel des actifs de l'échange est probablement inférieur à 100%, exposant son comportement de détournement. Cependant, l'échange peut utiliser un compte nommé Henry avec un solde de -500 ETH, comme indiqué dans le schéma, pour que le total des actifs générés par l'arbre de Merkle soit égal ou inférieur aux actifs réels que l'échange a détournés, créant une fausse impression que le ratio de réserve est supérieur à 100%.
Dans les contextes quotidiens, «audit» fait principalement référence aux activités de supervision économique indépendante, et l'entité engagée dans cette activité est appelée «cabinet d'audit». Les scénarios d'application courants comprennent les audits de rapports financiers des sociétés cotées, les audits gouvernementaux, etc. Dans le monde de la crypto, les CEX cherchent des cabinets d'audit réputés issus de domaines traditionnels pour mener des audits. En raison de la nature unique de l'industrie de la crypto et du système d'audit imparfait, de nombreux audits de tiers doivent être combinés avec la technologie de l'arbre de Merkle.
Les cabinets d'audit utiliseront les soldes des utilisateurs fournis par l'échange pour générer un arbre de Merkel. Une fois l'arbre de Merkel généré, les auditeurs vérifient les soldes totaux des utilisateurs et publient l'arbre de Merkel complet et le hachage de la racine. Les utilisateurs peuvent saisir leur identifiant d'utilisateur hashé et leur solde de jetons dans l'interface de vérification pour déclencher le processus de vérification.
L'avantage de cette méthode est qu'elle peut accroître la crédibilité grâce à des cabinets d'audit bien connus. Cependant, elle repose sur l'éthique professionnelle des auditeurs et ne peut garantir que les auditeurs ne collaborent pas avec l'échange à des fins malveillantes. Par conséquent, pour fournir une Preuve de réserves de manière plus sécurisée et transparente, les audits réalisés par des tiers sont progressivement devenus des méthodes de preuve auxiliaires ou ont été abandonnés.
Comme mentionné précédemment, la structure arborescente de Merkel existante ne peut pas résoudre les comptes à solde négatif et les problèmes de confidentialité. En décembre 2022, Vitalik Buterin, le fondateur d'Ethereum, a publié un article intitulé " Disposer d’un CEX sûr : preuve de solvabilité et au-delà, en discutant de la façon dont les plateformes d'échange peuvent avoir une meilleure preuve de solvabilité. L'article suggère d'introduire de nouvelles technologies comme les zk-SNARKs basées sur la Preuve de réserves traditionnelle pour garantir une preuve de réserves plus ouverte, transparente et authentique. Cela a également incité les principales plateformes d'échange à explorer l'utilisation des preuves de connaissance nulle pour remplacer la Preuve de réserves.
De la simple preuve d’actifs à l’utilisation de la technologie cryptographique, la preuve de réserves par les échanges évolue vers la décentralisation, la confidentialité et la transparence. Dans la prochaine leçon, nous explorerons la combinaison des preuves à divulgation nulle de connaissance et de la preuve des réserves.
La Preuve de réserves a évolué à partir de la preuve directe des actifs, introduisant continuellement des technologies et des processus de confiance pour optimiser le processus de preuve, se développant finalement en preuve des dettes. Ces technologies comprennent des tiers de confiance, des arbres de Merkle et des preuves de connaissance nulle, entre autres.
En 2011, MtGox, la plus grande bourse de bitcoins à l'époque, a prouvé qu'elle possédait les fonds en envoyant 424 242 BTC à une adresse pré-annoncée. Cette méthode ne peut prouver que la propriété des actifs et ne peut pas prouver les passifs de la bourse. Les utilisateurs n'ont aucun moyen de savoir s'il s'agit du montant exact des actifs qui ont été détournés.
La plus grande différence entre la preuve des dettes et la preuve des actifs est que la preuve des dettes ne prouve pas seulement le nombre d'actifs détenus par l'échange mais divulgue également le nombre d'actifs déposés par les utilisateurs.
La dette d'une bourse est constituée des actifs déposés par l'utilisateur. La manière la plus simple de prouver les actifs des utilisateurs est de divulguer une liste contenant les comptes des utilisateurs et les soldes, permettant aux utilisateurs de vérifier si les soldes de leurs comptes sont corrects.
Cependant, cette approche présente des défauts importants :
① Nous ne pouvons pas garantir que la liste fournie par l'échange est vraie.
② Au cours du processus, les informations de compte utilisateur et les soldes pourraient être divulgués.
Par conséquent, la méthode de divulgation directe est la base théorique de la preuve des dettes mais n'a pas encore été mise en œuvre par un échange à ce jour.
Un arbre de Merkle est une structure de données similaire à un “tree”, avec les données en bas de l'arbre appelées “leaf nodes” et les données au milieu appelées “intermediate nodes”. Les leaf nodes de gauche et de droite peuvent être traités par hachage (référence au traitement de toute valeur d'entrée par une méthode spécifique pour obtenir une valeur spécifique) pour produire la valeur du nœud intermédiaire. Les valeurs des nœuds intermédiaires de gauche et de droite, une fois hachées, produisent une valeur de sortie unique pour le nœud intermédiaire supérieur. Après le traitement couche par couche, le résultat final est le nœud racine de l'arbre de Merkle. Cette valeur est unique, et tout changement dans les leaf nodes entraînera un changement dans le nœud racine.
Dans cette méthode, les actifs totaux des utilisateurs détenus par l'échange sont obtenus par ajout couche par couche. Cependant, lors de la mise en place directe des données de compte et de solde utilisateur dans les nœuds feuilles, il y a encore une crise de fuite d'informations à petite échelle. En utilisant l'exemple dans le diagramme ci-dessus, l'utilisateur Charlie, marqué en vert, peut non seulement connaître certaines informations sur David mais aussi les soldes totaux d'Alice et de Bob sur la gauche. Par conséquent, il existe de nouvelles améliorations technologiques dans les nœuds feuilles:
(1) Comme le montre la figure ci-dessus, hachez l'identifiant du compte utilisateur avec une valeur spécifique.
(2) Divisez le solde de l'utilisateur. Par exemple, les 10 ETH de Charlie peuvent être divisés en deux 5 ETH placés dans deux nœuds feuilles.
(3) Hasher l'ID utilisateur et le solde séparément, puis hacher à nouveau les valeurs obtenues.
Malgré diverses méthodes d'optimisation, il y a un problème que les arbres de Merkel ne peuvent pas résoudre : les comptes à solde négatif. Dans l'utilisation pratique, les utilisateurs peuvent faire du trading avec effet de levier, des contrats perpétuels et d'autres produits après avoir déposé des cryptomonnaies. En cas de pertes, la perte maximale devrait être de 100 % du capital, ce qui signifie que les soldes des comptes des utilisateurs doivent être supérieurs ou égaux à 0.
Ainsi, les comptes à solde négatif sont généralement initiés par des échanges malveillants. Si l'échange détournait 500 ETH, selon des calculs normaux, le ratio de réserve réel des actifs de l'échange est probablement inférieur à 100%, exposant son comportement de détournement. Cependant, l'échange peut utiliser un compte nommé Henry avec un solde de -500 ETH, comme indiqué dans le schéma, pour que le total des actifs générés par l'arbre de Merkle soit égal ou inférieur aux actifs réels que l'échange a détournés, créant une fausse impression que le ratio de réserve est supérieur à 100%.
Dans les contextes quotidiens, «audit» fait principalement référence aux activités de supervision économique indépendante, et l'entité engagée dans cette activité est appelée «cabinet d'audit». Les scénarios d'application courants comprennent les audits de rapports financiers des sociétés cotées, les audits gouvernementaux, etc. Dans le monde de la crypto, les CEX cherchent des cabinets d'audit réputés issus de domaines traditionnels pour mener des audits. En raison de la nature unique de l'industrie de la crypto et du système d'audit imparfait, de nombreux audits de tiers doivent être combinés avec la technologie de l'arbre de Merkle.
Les cabinets d'audit utiliseront les soldes des utilisateurs fournis par l'échange pour générer un arbre de Merkel. Une fois l'arbre de Merkel généré, les auditeurs vérifient les soldes totaux des utilisateurs et publient l'arbre de Merkel complet et le hachage de la racine. Les utilisateurs peuvent saisir leur identifiant d'utilisateur hashé et leur solde de jetons dans l'interface de vérification pour déclencher le processus de vérification.
L'avantage de cette méthode est qu'elle peut accroître la crédibilité grâce à des cabinets d'audit bien connus. Cependant, elle repose sur l'éthique professionnelle des auditeurs et ne peut garantir que les auditeurs ne collaborent pas avec l'échange à des fins malveillantes. Par conséquent, pour fournir une Preuve de réserves de manière plus sécurisée et transparente, les audits réalisés par des tiers sont progressivement devenus des méthodes de preuve auxiliaires ou ont été abandonnés.
Comme mentionné précédemment, la structure arborescente de Merkel existante ne peut pas résoudre les comptes à solde négatif et les problèmes de confidentialité. En décembre 2022, Vitalik Buterin, le fondateur d'Ethereum, a publié un article intitulé " Disposer d’un CEX sûr : preuve de solvabilité et au-delà, en discutant de la façon dont les plateformes d'échange peuvent avoir une meilleure preuve de solvabilité. L'article suggère d'introduire de nouvelles technologies comme les zk-SNARKs basées sur la Preuve de réserves traditionnelle pour garantir une preuve de réserves plus ouverte, transparente et authentique. Cela a également incité les principales plateformes d'échange à explorer l'utilisation des preuves de connaissance nulle pour remplacer la Preuve de réserves.
De la simple preuve d’actifs à l’utilisation de la technologie cryptographique, la preuve de réserves par les échanges évolue vers la décentralisation, la confidentialité et la transparence. Dans la prochaine leçon, nous explorerons la combinaison des preuves à divulgation nulle de connaissance et de la preuve des réserves.