paint-brush
The Role of Commitment in Proof of Solvencyby@solvency

The Role of Commitment in Proof of Solvency

by SolvencyOctober 7th, 2024
Read on Terminal Reader
tldt arrow

Too Long; Didn't Read

The Proof of Liability step in the "Private Proof of Solvency" project establishes the total liabilities of a crypto custody provider using cryptographic commitments and Merkle Trees. This method ensures both the integrity and privacy of liabilities, balancing transparency with the need for confidentiality.
featured image - The Role of Commitment in Proof of Solvency
Solvency HackerNoon profile picture

Authors:

(1) Hamid Bateni, Nobitex Labs ([email protected]);

(2) Keyvan Kambakhsh, Nobitex Labs ([email protected]).

Abstract and 1 Introduction

2 Proof of Liability and 2.1 Commitment

2.2 Merkle Tree

2.3 Leaves Structure

2.4 Proof Statement

3 Proof of Reserve

3.1 Ethereum

3.2 Bitcoin

4 Proof of Solvency

5 Future Works and References

2 Proof of Liability

The first step in the proof of solvency process involves the proof of liabilities. This step aims to demonstrate the total amount of liabilities, or obligations, that exist. Liabilities in this context refer to the balances that the custody provider owes to its customers[2]

2.1 Commitment

A commitment in the field of cryptography refers to a binding agreement to a chosen piece of information. Once this agreement is made, it becomes irreversible and unalterable. Essentially, it’s akin to sealing a message in an envelope - the message cannot be changed once it is sealed.


In cryptographic terms, a commitment scheme allows an entity to commit to a chosen value, while keeping it hidden from others. It’s designed to be both binding and hiding. Binding ensures that once the commitment is made, it cannot be changed. Hiding ensures that until the reveal, no information about the committed value is leaked.


For the Proof of Solvency process, we use a cryptographic commitment to demonstrate the existence and integrity of the liabilities. This is where we introduce the Merkle Tree as our commitment scheme. The root of the Merkle Tree serves as the commitment to all liabilities, and each leaf node of the tree represents an individual liability.


The Merkle Tree is an efficient and secure method for verifying liabilities. Using this structure, we can provide proof of the existence and integrity of liabilities without revealing the actual liabilities until necessary. This approach strikes a balance between transparency and privacy, which is crucial for crypto custody providers. In the following sections, we will discuss the structure and properties of the Merkle Tree in more detail.


This paper is available on arxiv under CC BY-NC-ND 4.0 DEED license.