IP Library › Granted Patent US 11,483,338
Granted Patent B2
US 11,483,338 · App. 16/606,204 · Granted Oct 25, 2022

Secure blockchain-based consensus

Inventor: Pedro Jimenez-Delgado (London, GB)
Assignee: nChain Holdings Limited
H04L63/145H04L9/0637H04L9/0643H04L9/3252H04L9/50
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,483,338
App. No.
16/606,204
Granted
Oct 25, 2022
Kind
B2
Abstract

There may be provided a computer-implemented method. The computer-implemented method includes: i) broadcasting a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes; ii) after the congress has accepted a request from a requester to activate a script, preparing, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress; iii) cooperatively generating, by the node in cooperating with other nodes of the group, a valid cryptographic signature for the transaction to spend the transaction; iv) after the blockchain transaction has been unlocked, receiving data from the plurality of information providing systems; v) determining a centre point for the data received from the plurality of information providing systems; and vi) activating, by the node in cooperation with other nodes of the congress, the script based on the centre point.

Claims (55)

1. A computer-implemented method comprising:

broadcasting a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes;

after the congress has accepted a request from a requester to activate a script, preparing, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress pool, the blockchain transaction configured to permit a plurality of information providing systems to add inputs to the blockchain transaction, wherein the inputs include respective proof of solution data;

generating, after the inputs have been added to the blockchain transaction and by the node in cooperating with other nodes of the group, a valid cryptographic signature for the blockchain transaction to unlock the blockchain transaction;

after the transaction has been unlocked, receiving data from the plurality of information providing systems;

determining whether the data received from at least one of the information providing systems corresponds with a committed solution based on the respective proof of solution data; wherein

in response to determining that the data received from the at least one of the information providing systems does correspond with a committed solution based on the proof of solution data, the method further comprises:

determining a centre point for the data received from the plurality of information providing systems; and

activating, by the node in cooperation with other nodes of the congress, the script based on the centre point;

based on the centre point, identifying, by the node, a subset of the information providing systems that provided data proximate the centre point;

authorizing, by the node in cooperation with other nodes of the group, a transfer of a token to each information providing system in the subset;

in response to determining that the data received from the at least one of the information providing systems does not correspond with a committed solution based on the proof of solution data, discarding the data;

detecting malicious activity by a malicious party, wherein the malicious party is one of a plurality of nodes of the congress; and

using a private key share to confiscate at least a portion of tokens previously transferred to the congress pool by the malicious party.

2. The computer-implemented method of claim 1 , wherein the token included in the transfer include one or more tokens received from the requester into the congress pool.

3. The computer-implemented method of claim 1 , wherein the request includes a threshold indicator and wherein a subset is identified based on the threshold indicator.

4. The computer-implemented method of claim 3 , wherein the threshold indicator is received from the requester.

5. The computer-implemented method of claim 1 , wherein the inputs include tokens to be locked for security.

6. The computer-implemented method of claim 1 , wherein the information providing systems include, in the blockchain transaction, a hash based on a public key, a solution to the request and salt.

7. The computer-implemented method of claim 6 , wherein the data received from the plurality of information providing systems includes the public key, the solution to the request and the salt, the method further comprising:

generating a hash based on the public key, the solution to the request and the salt; and

comparing the generated hash with the hash included in the blockchain transaction.

8. The computer-implemented method of claim 1 , wherein confiscating comprises transferring to an unspendable account.

9. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed, configure a processor to at least:

broadcast a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes;

after the congress has accepted a request from a requester to activate a script, prepare, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress pool, the blockchain transaction configured to permit a plurality of information providing systems to add inputs to the blockchain transaction, wherein the inputs include respective proof of solution data;

generate, after the inputs have been added to the blockchain transaction and by the node in cooperating with other nodes of the group, a valid cryptographic signature for the blockchain transaction to unlock the blockchain transaction;

receive, after the transaction has been unlocked, data from the plurality of information providing systems;

determine whether the data received from at least one of the information providing systems corresponds with a committed solution based on the proof of solution data; wherein

in response to determining that the data received from the at least one of the information providing systems does correspond with a committed solution based on the respective proof of solution data, the method further comprises:

determine a centre point for the data received from the plurality of information providing systems; and

activate, by the node in cooperation with other nodes of the congress, the script based on the centre point;

identify, by the node and based on the centre point, a subset of the information providing systems that provided data proximate the centre point;

authorize, by the node in cooperation with other nodes of the group, a transfer of a token to each information providing system in the subset;

in response to determining that the data received from the at least one of the information providing systems does not correspond with a committed solution based on the proof of solution data, discarding the data;

detect malicious activity by a malicious party, wherein the malicious party is one of a plurality of nodes of the congress; and

use a private key share to confiscate at least a portion of tokens previously transferred to the congress pool by the malicious party.

10. An electronic device comprising:

an interface device;

a hardware processor coupled to the interface device; and

a memory coupled to the processor, the memory storing computer executable instructions which, when executed, cause the processor to at least:

broadcast a transaction, by a node in a blockchain network, to a congress pool to join a congress formed of a group of nodes;

prepare, after the congress has accepted a request from a requester to activate a, by the node, a blockchain transaction cryptographically locked with a public key associated with the congress pool, the blockchain transaction configured to permit a plurality of information providing systems to add inputs to the blockchain transaction, wherein the inputs include respective proof of solution data;

generate, after the inputs have been added to the blockchain transaction and by the node in cooperating with other nodes of the group, a valid cryptographic signature for the blockchain transaction to unlock the blockchain transaction;

receive, after the transaction has been unlocked, data from the plurality of information providing systems;

determine whether the data received from at least one of the information providing systems corresponds with a committed solution based on the respective proof of solution data; wherein

in response to determining that the data received from the at least one of the information providing systems does correspond with a committed solution based on the proof of solution data, the method further comprises:

determine a centre point for the data received from the plurality of information providing systems; and

activate, by the node in cooperation with other nodes of the congress, the script based on the centre point;

identify, by the node and based on the centre point, a subset of the information providing systems that provided data proximate the centre point;

authorize, by the node in cooperation with other nodes of the group, a transfer of a token to each information providing system in the subset;

in response to determining that the data received from the at least one of the information providing systems does not correspond with a committed solution based on the proof of solution data, discarding the data;

detect malicious activity by a malicious party, wherein the malicious party is one of a plurality of nodes of the congress; and

use a private key share to confiscate at least a portion of tokens previously transferred to the congress pool by the malicious party.

11. The electronic device of claim 10 , wherein the hardware processor includes a trusted execution environment and wherein the computer executable instructions are executed within the trusted execution environment.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: JIMENEZ-DELGADO, PEDRO
To: NCHAIN HOLDINGS LTD.
Reel/Frame 064728/0142 →
CHANGE OF NAME Recorded Apr 25, 2023
From: NCHAIN HOLDINGS LTD
To: NCHAIN LICENSING AG
Reel/Frame 063443/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2023
From: JIMENEZ-DELGADO, PEDRO
To: NCHAIN HOLDINGS LTD.
Reel/Frame 063144/0075 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2022
From: JIMENEZ-DELGADO, PEDRO
To: NCHAIN HOLDINGS LTD.
Reel/Frame 061055/0923 →
Priority Claims (1)
GB 1706132 · Apr 18, 2017 · national
Continuity (1)
Related Publication 20200137082A1 · Apr 30, 2020
Cited By (4)
US 12,244,688 US 12,368,652 US 12,395,318 US 12,695,598