# Proof of reserve - Kick off meeting
Attendees
- Wanseob
- Jin
- Anthony
- Tom
- Lecky
- Patrick(Penn)
- Bob
There are two approaches introduced in this meeting.
The first one is using zk-snark to prove the correctness of building the Merkle tree which consists of information of reserve in a centralized exchange.
Tom shared his approaches in [here - Proof of Solvency](https://gusty-radon-13b.notion.site/Proof-of-solvency-61414c3f7c1e46c5baec32b9491b2b3d)
Main idea
- This approache has A merkle tree which is consist of hashed information of user balance as leaf node
- Using ZK-SNARK, generate proof while building the merkle tree for satisfying constraints which includes about tree roots and assets
Has some key points what we discussed.
- Only reveal hashed information to user with permission model
- the merkle tree is starting to build from an empty leaf and update it by user operation
- For proving control of CEX accounts, singing a message periodically and generating proof that total net balance is belongs CEX by user operation
- Building tree using batch process due to limit by depth
- It will be enough 48 depth for the merkle tree
- Community user may easier to understand using merkle tree for this prooving system
The second one is using KGZ commitment to prove total net balance and It has solvency for the sum of all user's net balance
Patrick shared his approaches in [here - Proof of Liability](https://docs.google.com/document/d/1qrmzBQTQdSSuNsjUFDPFiw12lHIsUIlj5RK0fjexyMQ/edit#)
- A circuit to prove that each user's running sum of equity and debt asset columns is not below zero
- To prove inclusion of user's balance in reserve proof, commits to a polynomial of asset columns.
- Each user can verify that values in their wallet are included reserve with opening the commits.
- The circuit should be more simpler than the first approach.