# US 12,603,781 B2 · Method of contracting reserves using Pedersen commitment and method of proving reserves using zero-knowledge proof algorithm based on Pedersen commitment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,603,781 B2
- Document ID: US12603781B2
- Status: Granted
- Kind: B2
- Application number: 18/540,905
- Filed: 2023-12-15
- Published: 2025-06-19
- Granted: 2026-04-14
- Earliest claimed: 2023-12-15
- Assignees: Zkrypto Inc.
- Applicants: Zkrypto Inc.
- Inventors: Hyunok Oh
- Web page: https://patentgrep.com/patent/US12603781B2

## CPC

- H04L 9/3221: {interactive zero-knowledge proofs}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06Q 2220/00: Business processing using cryptography
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

The present invention relates to a method of contracting reserves using a Pedersen commitment and a method of proving reserves using a Pedersen commitment based zero-knowledge proof algorithm. The method of contracting reserves performed by at least one processor includes loading a reserve database in which a plurality of reserves corresponding to a plurality of accounts are stored; generating a plurality of commit values respectively corresponding to the plurality of accounts using a commit key and a plurality of random values; generating a transaction on a smart contract based on the generated plurality of commit values; calculating a total commit value based on the commit key, a total random value corresponding to a sum of the plurality of random values, and a total reserve; and generating a data set including the total commit value, the total reserve, and the commit key.

## Claims

### Claim 1

A method of contracting reserves performed by at least one processor, the method comprising:
loading a reserve database in which a plurality of reserves corresponding to a plurality of accounts are stored;
generating a plurality of commit values respectively corresponding to the plurality of accounts in Pedersen commitment form using a commit key and a plurality of random values;
generating a transaction on a smart contract based on the generated plurality of commit values;
obtaining a total commit value based on the commit key, a total random value corresponding to a sum of the plurality of random values, and a total reserve;
generating a data set including the total commit value, the total reserve, and the commit key;
uploading the data set on a blockchain network;
proving integrity of the total commit value based on a first value instead of the plurality of random values by the blockchain network; and
depositing the plurality of reserves to the plurality of accounts when the integrity of the total commit value is proved,
wherein the first value is determined as TCOM·(gTRsv)−1, when the commit key is g, the total reserve is TRsv, and the total commit value is TCOM.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving a first reserve corresponding to a first account among the plurality of accounts; updating the reserve database using the first reserve;
generating a first random value corresponding to the first account;
generating a first commit value corresponding to the first account based on the first random value, the commit key, and the first reserve; and
updating the smart contract using the first commit value.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
updating the total random value based on the first random value;
updating the total reserve;
obtaining the total commit value based on the commit key, the updated total reserve, and the updated total random value; and
generating a data set including the total commit value, the updated total reserve, and the commit key.

### Claim 4 (depends on 1)

The method of claim 1,
wherein the generating of the plurality of commit values comprises calculating each of the plurality of commit values in a form of an exponent of the reserve and a random value of the commit key.

### Claim 5 (depends on 4)

The method of claim 4,
wherein the commit key comprises a first key g and a second key h, and the generating of the plurality of commit values comprises generating a commit value comi using the following equation comi=gri·hmi for a reserve mi and a random value ri corresponding to an i-th (i is a natural number) account.
