# US 12,120,230 B2 · Method and system for interacting public and private blockchains with controlled participation and dispute resolution

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

- Number: US 12,120,230 B2
- Document ID: US12120230B2
- Status: Granted
- Kind: B2
- Application number: 17/400,581
- Filed: 2021-08-12
- Published: 2021-12-02
- Granted: 2024-10-15
- Earliest claimed: 2017-10-12
- Assignees: Mastercard International Incorporated
- Applicants: Mastercard International Incorporated
- Inventors: Shuvam Sengupta
- Web page: https://patentgrep.com/patent/US12120230B2

## CPC

- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/103: {Workflow collaboration or project management}
- G06Q 20/065: {using e-cash}
- G06Q 20/3829: {involving key management}
- G06Q 20/389: {Keeping log of transactions for guaranteeing non-repudiation of a transaction}
- G06Q 40/02: Banking, e.g. interest calculation or account maintenance (credit or loans G06Q40/03)
- G06Q 50/182: {Alternative dispute resolution}
- H04L 9/3247: {involving digital signatures}
- G06Q 2220/00: Business processing using cryptography
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- 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

A method for controlling participation in a blockchain based on time includes: storing participant profiles, each including a public key of a cryptographic key pair and a period of time; storing a blockchain comprised of a plurality of blocks; receiving a block submission from a specific computing system including a digital signature and a new data value; verifying the digital signature based on the public key stored in a specific participant profile related to the specific computing system; verifying that the specific computing system is eligible for participation in the blockchain based on the period of time included in the specific participant profile and a present time; generating a new block comprised of a block header and the new data value; and transmitting the generated new block to nodes associated with the blockchain. Private blockchains are generated for dispute resolution of things posted to the primary blockchain.

## Claims

### Claim 1

A method for controlling participation in a blockchain based on time using a processing server comprising a participant database, a verification module, a generation module, a receiving device, a transmission device, a hashing module and a memory, comprising:
storing, by the processing server in the participant database, a plurality of participant profiles, wherein each participant profile is a structured data set related to a computing system and includes at least a public key of a cryptographic key pair associated with the computing system and a period of time;
storing, by the processing server in the memory, a blockchain comprised of a plurality of blocks, wherein each block includes at least a block header and one or more data values;
receiving, by the processing server via the receiving device, a block submission from a first computing system, wherein the block submission includes at least a digital signature and a new data value;
determining, by the processing server, a present time of the processing server;
generating, by the processing server after the receiving the block submission, a timestamp associated with the received block submission based on the determined present time of the processing server;
verifying, by the processing server via the verification module, the digital signature based on at least a first public key stored in a first participant profile of the plurality of participant profiles, wherein the first public key is associated with the first computing system;
based on the verification of the digital signature, determining, by the processing server via the verification module, that the first computing system is eligible to submit the block submission to the blockchain based on the timestamp of the received block submission being within the period of time included in the first participant profile;
in response to the determining the first computing system is eligible to submit data the block submission to the blockchain, generating, by the processing server via the generation module, a first new block comprised of a first block header and at least one data value, wherein the at least one data value includes the new data value;
electronically transmitting, by the processing server via the transmitting device, the generated first new block to one or more nodes associated with the blockchain;
receiving, by the processing server via the receiving device, a dispute data value associated with the new data value from a third party computing system;
generating, by the processing server via the generation module, a private blockchain comprised of a first private block including a first private block header and the new data value;
generating, by the processing server via the generation module, a new cryptographic key pair comprised of a new public key and a new private key; and
electronically transmitting, by the processing server via the transmitting device, at least the new private key to the third party computing system.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the first new block includes:
generating, by the processing server via the hashing module, a data reference value via an application of one or more hashing algorithms to the at least one data value; and
generating, by the processing server via the hashing module, a block reference value via the application of one or more hashing algorithms to a most recent block of the plurality of blocks, wherein
the first block header included in the first new block includes at least the generated data reference value and the generated block reference value.

### Claim 3 (depends on 1)

The method of claim 1, wherein
the block header included in each block of the plurality of blocks includes a timestamp, and
the first block header included in the first new block includes the present time of the processing server.

### Claim 4 (depends on 1)

The method of claim 1, wherein the present time is included within the period of time included in the first participant profile.

### Claim 5 (depends on 1)

The method of claim 1, wherein
the first computing system is eligible for participation if the present time of the processing server is earlier than the period of time included in the first participant profile.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
generating, by the processing server via the generation module, a second new cryptographic key pair comprised of a second new public key and a second new private key; and
electronically transmitting, by the processing server via the transmitting device, at least the second new private key to the first computing system.

### Claim 7 (depends on 6)

The method of claim 6, wherein the electronic transmission to the first computing system further includes generating, by the processing server via the generation module, a subsequent private block to be added to the private blockchain.

### Claim 8 (depends on 1)

The method of claim 1, wherein submissions to the private blockchain are directed to a resolution of the dispute data value, and
wherein the processing server, the first computing system, and the third party computing system are authorized entities of the private blockchain.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
receiving, by the processing server via the receiving device, a dispute resolution data value associated with the new data value from at least one of the authorized entities, the dispute resolution data value indicating a resolution result of the private blockchain;
generating, by the processing server via the generation module, a second new block comprised of a second block header and at least the dispute resolution data value; and
electronically transmitting, by the processing server via the transmitting device, the generated second new block to the one or more nodes associated with the blockchain.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
in response to the receiving the dispute resolution data value, deleting, by the processing server, the private blockchain.

### Claim 11

A system for controlling participation in a blockchain based on time, the system comprising:
a processing server, the processing server comprising:
a processor;
a memory storing a participant database, a verification module, a generation module, a receiving device, a transmission device, a hashing module, and computer readable instructions that, when executed by the processor, cause the processor to perform the steps of:
storing, in the participation database, a plurality of participant profiles, wherein each participant profile is a structured data set related to a computing system and includes at least a public key of a cryptographic key pair associated with the related computing system and a period of time;
storing, in the memory, a blockchain comprised of a plurality of blocks, wherein each block includes at least a block header and one or more data values;
receiving, via the receiving device, a block submission from a first computing system, wherein the block submission includes at least a digital signature and a new data value;
determining a present time of the processing server;
generating, after the receiving the block submission, a timestamp associated with the received block submission based on the determined present time of the processing server;
verifying, via the verification module, the digital signature based on at least a first public key stored in a first participant profile of the plurality of participant profiles, wherein the first public key is associated with the first computing system;
based on the verification of the digital signature, determining, via the verification module, that the first computing system is eligible to submit the block submission to the blockchain based on the timestamp of the received block submission being within the period of time included in the first participant profile;
in response to the determining the first computing system is eligible to submit data the block submission to the blockchain, generating, via the generation module, a first new block comprised of a first block header and at least one data value, wherein the at least one data value includes the new data value;
electronically transmitting, via the transmitting device, the generated first new block to one or more nodes associated with the blockchain;
receiving, via the receiving device, a dispute data value associated with the new data value from a third party computing system;
generating, via the generation module, a private blockchain comprised of a first private block including a first private block header and the new data value; and
generating, via the generation module, a new cryptographic key pair comprised of a new public key and a new private key; and
electronically transmitting, via the transmitting device, at least the new private key to the third party computing system.

### Claim 12 (depends on 11)

The system of claim 11, wherein generating the first new block includes:
generating, via the hashing module, a data reference value via an application of one or more hashing algorithms to the at least one data value; and
generating, via the hashing module, a block reference value via the application of one or more hashing algorithms to a most recent block of the plurality of blocks,
wherein
the first block header included in the first new block includes at least the generated data reference value and the generated block reference value.

### Claim 13 (depends on 11)

The system of claim 11, wherein
the block header included in each block of the plurality of blocks includes a timestamp, and
the first block header included in the first new block includes the present time of the processing server.

### Claim 14 (depends on 11)

The system of claim 11, wherein the present time is included within the period of time included in the first participant profile.

### Claim 15 (depends on 11)

The system of claim 11, wherein
the first computing system is eligible for participation if the present time of the processing server is earlier than the period of time included in the first participant profile.

### Claim 16 (depends on 11)

The system of claim 11, wherein the generating the new cryptographical key pair further comprises generating a second new cryptographic key pair comprised of a second new public key and a second new private key, and
wherein the electronically transmitting at least the new private key to the third party computing system further comprises electronically transmitting at least the second new private key to the first computing system.

### Claim 17 (depends on 16)

The system of claim 16, wherein the electronic transmission to the first computing system further includes generating, via the generation module, a subsequent private block to be added to the private blockchain.

### Claim 18 (depends on 11)

The system of claim 11, wherein submissions to the private blockchain are directed to a resolution of the dispute data value, and
wherein the processing server, the specific computing system, and the third party computing system are authorized entities of the private blockchain.

### Claim 19 (depends on 18)

The system of claim 18, wherein the memory storing the instructions that, when executed by the processor, further cause the processor to perform additional steps comprising:
receiving, via the receiving device, a dispute resolution data value associated with the new data value from at least one of the authorized entities, the dispute resolution data value indicating a resolution result of the private blockchain;
generating, via the generation module, a second new block comprised of a second block header and at least the dispute resolution data value; and
electronically transmitting, via the transmitting device, the generated second new block to the one or more nodes associated with the blockchain.

### Claim 20 (depends on 19)

The system of claim 19, wherein the memory storing the instructions that, when executed by the processor, further cause the processor to perform additional steps comprising:
in response to the receiving the dispute resolution data value, deleting the private blockchain.
