IP Library Granted Patent US 12712738
Granted Patent B2
US 12712738 · App. 18/176,989 · Granted Aug 18, 2026

Network for improved verification speed with tamper resistant data

Inventors: Mahdi Zamani (Palo Alto, CA); Mahnush Movahedi (New Haven, CT); Mariana Raykova (New Haven, CT)
Assignees: Visa International Service Association; Yale University
H04L9/3247H04L9/3239H04L9/3297H04L12/1886G06Q20/0655G06Q20/223G06Q2220/00H04L9/50H04L63/1441H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12712738
App. No.
18/176,989
Granted
Aug 18, 2026
Kind
B2
Abstract

A method is disclosed. The method includes: a) receiving node identifiers from nodes of a plurality of nodes in a computer network; b) determining a plurality of node committees in a sampler graph comprising a plurality of nodes, wherein the node is present in a node committee in the plurality of node committees; c) and i) generating a random string; ii) performing a proof of work process using the random string and a hash function; iii) if the proof of work process yields a solution that is acceptable, then broadcasting the solution to all other nodes in the plurality of nodes, wherein the other nodes verify the solution; and iv) if the other nodes verify the solution, the node is elected to a subcommittee for the node committee, wherein the subcommittee updates the sampler graph; and d) repeating steps b) and c) until a leader committee is determined.

Claims (37)

1 . A method comprising:

receiving, by a first node in a first committee of nodes in a computer network, a request including a node identifier to join a committee by a second node, the first committee managing a first shard of a main blockchain;

providing, by the first node of the first committee to the second node, a proof of work process, the proof of work process being a function for which the second node provides an input to produce a solution;

receiving, by first node of the first committee, the solution to the proof of work process from the second node, wherein the second node performs the proof of work process to produce the solution, wherein a plurality of nodes in the first committee verifies the solution;

generating, by the first node of the first committee, a random string;

determining, by the first node, a second committee of nodes for the second node using the random string, the second committee managing a second shard of the main blockchain;

introducing, by the first node to the second committee determined using the random string, the second node, wherein the second committee displaces a node to allow the second node to join the second committee; and

communicating, by the first node, information regarding the second node being in the second committee to other nodes in the computer network by broadcasting an IP address and a second committee identifier of the second node to the other nodes in the computer network,

wherein the nodes in the first committee have addresses including their IP addresses and a first committee identifier that identifies the first committee of nodes, and the nodes in the second committee have addresses including their IP addresses and the second committee identifier that identifies the second committee of nodes, the first committee identifier and the second committee identifier being different,

wherein the first committee of nodes is a leader committee and the nodes in the second committee of nodes are determined by hashing a random value generated by the first committee of nodes and the IP addresses of the nodes in the second committee to form a hashed value, and using a predetermined number of bits of the hashed value, and

wherein the nodes in the second committee of nodes broadcast their IP addresses and the second committee identifier to the nodes in the first committee of nodes.

2 . The method of claim 1 , wherein the second committee displaces a random number of nodes of the second committee based on the random value generated by the leader committee.

3 . The method of claim 2 , wherein displaced nodes are assigned to random inactive committees.

4 . The method of claim 1 , wherein the first node is a leader node of the first committee.

5 . The method of claim 1 , wherein the plurality of nodes in the first committee verify the solution when the solution solves the proof of work process, is less than a predetermined security value, and is received within a predetermined amount of time.

6 . The method of claim 5 , wherein the first node is a leader node of the first committee.

7 . The method of claim 1 , wherein at least two thirds of nodes in each committee in the computer network are non-malicious nodes.

8 . A first node comprising:

a processor;

a memory device; and

a computer-readable medium coupled to the processor, the computer-readable medium comprising code executable by the processor for implementing a method comprising:

receiving, by the first node in a first committee of nodes in a computer network, a request including a node identifier to join a committee by a second node, the first committee managing a first shard of a main blockchain;

providing, by the first node of the first committee to the second node, a proof of work process, the proof of work process being a function for which the second node provides an input to produce a solution;

receiving, by first node of the first committee, the solution to the proof of work process from the second node, wherein the second node performs the proof of work process to produce the solution, wherein a plurality of nodes in the first committee verifies the solution;

generating, by the first node of the first committee, a random string;

determining, by the first node, a second committee of nodes for the second node using the random string, the second committee managing a second shard of the main blockchain;

introducing, by the first node to the second committee determined using the random string, the second node, wherein the second committee displaces a node to allow the second node to join the second committee; and

communicating, by the first node, information regarding the second node being in the second committee to other nodes in the computer network by broadcasting an IP address and a second committee identifier of the second node to the other nodes in the computer network,

wherein the nodes in the first committee have addresses including their IP addresses and a first committee identifier that identifies the first committee of nodes, and the nodes in the second committee have addresses including their IP addresses and the second committee identifier that identifies the second committee of nodes, the first committee identifier and the second committee identifier being different,

wherein in the method, the first committee of nodes is a leader committee and the nodes in the second committee of nodes are determined by hashing a random value generated by the first committee of nodes and the IP addresses of the nodes in the second committee to form a hashed value, and using a predetermined number of bits of the hashed value, and

wherein the nodes in the second committee of nodes broadcast their IP addresses and the second committee identifier to the nodes in the first committee of nodes.

9 . The first node of claim 8 , wherein in the method, the second committee displaces a random number of nodes of the second committee based on a random value generated by the leader committee.

10 . The first node of claim 9 , wherein in the method, displaced nodes are assigned to random inactive committees.

11 . The first node of claim 8 , wherein the first node is a leader node of the first committee.

12 . The first node of claim 8 , wherein in the method the plurality of nodes in the first committee verify the solution when the solution solves the proof of work process, is less than a predetermined security value, and is received within a predetermined amount of time.

13 . The first node of claim 12 , wherein the first node is a leader node of the first committee.

14 . The first node of claim 8 , wherein at least two thirds of nodes in each committee in the computer network are non-malicious nodes.