Proof of reserves - recording



Summary:

In a bitcoin-dev mailing list, a user named Billy Tetrud proposed a proof of reserves system that can be used to verify reserves on an ongoing basis. The idea is that users create actual private keys using a seed and generate public keys to represent their accounts. Users would give the public key to the custodian to represent their account in a public record of account balances. When a user's account is credited, the custodian updates a map of addresses to balances and creates a proof that they own each HD wallet. These two structures are combined and hashed, and the hash published in an on-chain transaction on a daily basis.The software for each user could continuously validate that their account has a balance that matches what it's supposed to have and could also verify that owned addresses have funds that have at least as many coins as promised to accounts. If something goes wrong, people can raise hell about it. Users could request a receipt for any balance update, and the receipt would be useful to honest custodians as well since they could show the user's signed receipt request in case a user is lying about what balance they should have.Recording on-chain provides a clear record of proof of reserves that can be verified later by anyone in the future. It prevents a custodian from being able to change history when it suits them. The system reduces the possibility of shenanigans like taking a short-term loan of a large amount of cryptocurrency. However, there is still the case that the custodian simply refuses to return a signed receipt, in which case the user's only recourse is to yell about it immediately and demand a receipt or a refund.Erik Aronesty suggested checking out some of the earlier work done on GitHub on proof of solvency. In response, Voskuil disagreed with most of what Aronesty was saying and argued that trust cannot be eliminated, perfection cannot be achieved, but trust can be reduced further than it exists today, and things can be made better than they are now.Voskuil also disagreed with Aronesty's point that all users need to simultaneously share their individual and temporary audits with each other. In both the mechanism briefly described by Tetrud and Peter Todd's mechanism from Melvin's link, users need not share any information with other users unless that information is "my balance doesn't match the record". Voskuil argued that spotting price inflation in any kind of timely manner is hard and that stopping or avoiding it is the actual issue. However, Tetrud argued that even if we can't stop a company from promising more coins than they have in reserves, we can limit how long these events happen for and how big these bubbles can get.


Updated on: 2023-06-15T00:10:10.054601+00:00