Is there a generally agreed on protocol for creating proof of solvency? After the MtGox incident, a lot of Bitcoin exchanges started pursuing audits and creating a proof of solvency / liability to prove to their users they remain solvent. While proving that one owns the required amount of coins is fairly easy, I am wondering - has anyone created a generally acceptable protocol for proving how much an exchange owes its customers based on the account balances in their database without revealing users' private information?
Greg Maxwell has described a way in which this is possible using a blind solvency proof, allowing users to verify that their amounts of Bitcoin are being stored by the system without revealing to an outsider what they are and how many users exist in the system. Clients of the service are able to individually prove their own balances in the tree and raise the alarm if they are not included or if the information is not correct, with the tree then becoming a proof of fraud. The scheme pointedly doesn't verify these funds exist and are spendable by the service.

Details about the system have been collected from IRC quotes, and at least two implementations by molecular and olalonde exist on github. 


  While proving that one owns the required amount of coins is fairly easy


One exchange, BitStamp has taken it upon themselves to try and create their own "proof of reserves" system by periodically (every few months) accumulating all of their Bitcoin holdings into a single output, in an attempt to prove tht they actually hold all the Bitcoin they should. This mirrors something Mt Gox did in 2011 by moving 424242 BTC at the request of users on IRC. In the process, BitStamp is putting themselves at huge risk of losses. Bit flips errors are pretty common in computers, if they have even a single one when signing that transaction all of their customers money will be destroyed. It reduces their customers privacy, opens them up being physically attacked during that period, all sorts of nastiness. It's not really a solved problem, though it looks simple on the outset.