To prove that the calculation of the total customer balances is correct, taking into account the first and second points mentioned in the previous section (Don’t trust us, Verify the Blockchain), a simple method is to publish the full list of user balances. This would allow all parties to verify the total liabilities and that their balance is included. However, this would be a major privacy concern and is totally impractical. Therefore, a method is needed to address this issue without disclosing individual user balances or personal information. To achieve this, our company employs the use of a Proven tool, which includes a process for verifying asset solvency while encrypting personal information.
These processes utilize three very interesting algorithms:
-
Digital Signatures & Hash functions: Digital signatures of some information are created which allows you to prove (with 100% mathematical confidence) who created it, in addition to, whether the information has been tampered with.
-
Merkle Tree: A method of summing total liabilities publicly, while preserving the privacy of the users and their balances. You can see only your balance in the tree, and the equation that adds your balance to the total, but no one else's. Furthermore, you can verify that your account balance is included in our published total assets under custody by checking that your own calculated Merkle Root and the value of the Merkle Root provided by us are the same. For more information, see the Individual Receipt section.
-
zk-SNARK: A method of proving that you know something, without revealing what the information actually is. A common example is the “Where’s Wally” puzzle: You could prove you know the answer by taking a close up photo of the character, not revealing any surrounding information that would help someone else to locate him. We use this algorithm to prove that assets exceed liabilities and that no negative balances are included, all without revealing individual user balances.