US 12,368,596 B2
Systems and methods for cryptography
Charalampos Papamanthou, Fairfield, CT (US); Shravan Srinivasan, Gaithersburg, MD (US); Nicolas Gailly, Paris (FR); Ismael Hishon-Rezaizadeh, New York, NY (US); Andrus Salumets, Amsterdam (NL); and Stjepan Golemac, Spilt (HR)
Assigned to Lagrange Labs Inc., New York, NY (US)
Filed by Lagrange Labs Inc., New York, NY (US)
Filed on May 10, 2024, as Appl. No. 18/661,204.
Application 18/661,204 is a continuation of application No. PCT/US2024/028760, filed on May 10, 2024.
Claims priority of provisional application 63/551,475, filed on Feb. 8, 2024.
Claims priority of provisional application 63/533,919, filed on Aug. 22, 2023.
Claims priority of provisional application 63/465,874, filed on May 12, 2023.
Claims priority of provisional application 63/465,872, filed on May 11, 2023.
Claims priority of application No. 20240100201 (GR), filed on Mar. 15, 2024.
Prior Publication US 2025/0030553 A1, Jan. 23, 2025
Int. Cl. H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC H04L 9/3236 (2013.01) [H04L 9/50 (2022.05)] 30 Claims
OG exemplary drawing
 
1. A computer-implemented cryptographic method of performing a maintainable Merkle-based vector commitment, the method comprising:
a) computing a succinct batch proof of a subset of k leaves in a Merkle tree of n leaves using a recursive Succinct Non-Interactive Argument of Knowledge (SNARK), wherein the Merkle tree of n leaves is stored on a memory of size n and the succinct batch proof is for multiple memory slots of batch size k, and wherein computing the succinct batch proof comprises:
i. traversing paths of the Merkle tree belonging to the k leaves in the batch,
ii. verifying that elements of the k leaves belong to the Merkle tree,
iii. computing a batch hash for the elements in the batch using canonical hashing, and
iv. making the batch hash part of a public statement;
b) maintaining a data structure that stores previously computed recursive SNARK proofs; and
c) upon change of a memory slot of the memory of size n corresponding to an element of the Merkle tree, updating the succinct batch proof for the subset of k leaves stored on the multiple memory slots of batch size k, in O (log n) parallel time independent of the batch size k; and
in response to updating the succinct batch proof, issuing a cryptocurrency token via a smart contract.