IP Library Granted Patent US 11,468,044
Granted Patent B2
US 11,468,044 · App. 16/694,600 · Granted Oct 11, 2022

Optimizations for verification of interactions system and method using probability density functions

Inventors: Mahdi Zamani (Palo Alto, CA); Lucianna Kiffer (San Francisco, CA); Karl Benedikt Bunz (Stanford, CA)
Assignees: Visa International Service Association; The Board of Trustees of the Leland Stanford Junior University
G06F16/2379G06F16/2255G06F16/2455G06F17/18
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 11,468,044
App. No.
16/694,600
Granted
Oct 11, 2022
Kind
B2
Abstract

A method comprises a client device receiving a verification request comprising an interaction identifier and generating a random sampling of a number of block headers. The random sampling according to a random distribution generated based on a probability density function. The client device can query two or more full nodes for random samplings of block headers. The client device can receive the random samplings of block headers from the two or more full nodes and compare samplings of block headers received from two or more full nodes. The samplings of block headers are the random samplings of block headers. The client device can verify at least one block header of the samplings of block headers, then determine that a blockchain maintained by at least one of the two or more full nodes is valid in response to verifying the at least one block header of the samplings of block headers.

Claims (42)

1. A method comprising:

receiving, by a client device, a verification request comprising an interaction identifier for an interaction;

generating, by the client device, a random sampling of a number of block headers, wherein the random sampling is according to a random distribution that is generated based on a probability density function;

querying, by the client device, two or more full nodes for random samplings of block headers from the two or more full nodes;

receiving, by the client device, the random samplings of block headers from the two or more full nodes;

comparing, by the client device, the random samplings of block headers received from two or more full nodes;

based on the comparing, verifying, by the client device, at least one block header of the random samplings of block headers; and

determining that a blockchain maintained by at least one of the two or more full nodes is valid in response to verifying the at least one block header of the random samplings of block headers,

wherein the probability density function is inversely related to an aggregate difficulty and inversely related to a natural log of a final number of block headers,

wherein block headers stored by the two or more full nodes include a Merkle mountain range root including a hash of previous block headers concatenated with the aggregate difficulty of a corresponding block header.

2. The method of claim 1 further comprising:

after determining that the blockchain maintained by at least one of the two or more full nodes is valid, transmitting, by the client device to a prover, a verification response indicating the validity of the interaction.

3. The method of claim 2 wherein the client device is a first client device operated by a first user, and wherein the prover is a second client device operated by a second user.

4. The method of claim 2 , wherein the verification request further comprises a Merkle proof and a Merkle mountain range proof.

5. A client device comprising:

a processor; and

a computer readable medium, the computer readable medium comprising code, executable by the processor, to implement a method comprising:

receiving a verification request comprising an interaction identifier;

generating a random sampling of a number of block headers, wherein the random sampling is according to a random distribution that is generated based on a probability density function;

querying two or more full nodes for random samplings of block headers from the two or more full nodes;

receiving the random samplings of block headers from the two or more full nodes;

comparing the random samplings of block headers received from two or more full nodes;

based on the comparing, verifying at least one block header of the random samplings of block headers; and

determining that a blockchain maintained by at least one of the two or more full nodes is valid in response to verifying the at least one block header of the random samplings of block headers,

wherein the probability density function is inversely related to an aggregate difficulty and inversely related to a natural log of a final number of block headers,

wherein block headers stored by the two or more full nodes include a Merkle mountain range root including a hash of previous block headers concatenated with the aggregate difficulty of a corresponding block header.

6. The client device of claim 5 , wherein the client device is a smart phone, and wherein the smart phone further comprises:

a memory.

7. The client device of claim 5 , wherein the computer readable medium further comprises a light client.

8. The client device of claim 5 , wherein the two or more full nodes store the blockchain.

9. A method comprising:

receiving, by a full node, a query from a client device including a request for one or more block headers from a blockchain, wherein the full node maintains a copy of the blockchain;

generating, by the full node, a sampling of block headers comprising the one or more block headers, wherein the samplings of block headers are random samplings of block headers and wherein the client device generates a random sampling of a number of block headers, wherein the client device generates the random sampling according to a random distribution that is based on a probability density function; and

transmitting, by the full node, the sampling of block headers to the client device, wherein the client device compares the sampling of block headers to corresponding block headers from one or more other full nodes, based on the comparison, verifies at least one block header of the sampling of block headers, and determines that the blockchain maintained by at least the full node is valid in response to verifying the at least one block header of the samplings of block headers,

wherein the probability density function is inversely related to an aggregate difficulty and inversely related to a natural log of a final number of block headers,

wherein block headers stored by the full node includes a Merkle mountain range root including a hash of previous block headers concatenated with the aggregate difficulty of a corresponding block header.

10. The method of claim 9 , wherein a Merkle mountain range associated with the Merkle mountain range root can be a binary hash tree.

11. The method of claim 9 , wherein the full node is a server computer in a verification network.

12. The method of claim 11 , wherein the verification network comprises the one or more other full nodes.

13. The method of claim 9 wherein the client device is a wearable device.

14. The method of claim 9 further comprising:

retrieving, by the full node, the one or more block headers from the blockchain.

Assignments (5)
CONFIRMATORY LICENSE Recorded Jun 1, 2023
From: STANFORD UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 063821/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2022
From: LUU, LOI
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 060943/0215 →
CONFIRMATORY LICENSE Recorded Jan 26, 2021
From: STANFORD UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 055109/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2020
From: BUNZ, KARL BENEDIKT
To: THE BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY
Reel/Frame 054276/0167 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2020
From: ZAMANI, MAHDI; KIFFER, LUCIANNA
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 052243/0211 →
Continuity (1)
Related Publication 20210157790A1 · May 27, 2021