# US 12,010,138 B2 · Secure blockchain-based consensus

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

- Number: US 12,010,138 B2
- Document ID: US12010138B2
- Status: Granted
- Kind: B2
- Application number: 17/972,436
- Filed: 2022-10-24
- Published: 2023-04-20
- Granted: 2024-06-11
- Earliest claimed: 2017-04-18
- Assignees: nChain Licensing AG
- Applicants: nChain Licensing AG
- Inventors: Pedro Jimenez-Delgado
- Web page: https://patentgrep.com/patent/US12010138B2

## CPC

- H04L 63/145: {the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3252: {using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes}
- H04L 9/3255: {using group based signatures, e.g. ring or threshold signatures}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L 63/1425: {Traffic logging, e.g. anomaly detection}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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, by the node in cooperation with other nodes of the group, a valid-cryptographic signature for the blockchain transaction to unlock the blockchain transaction, the cryptographic signature generated by the node cooperating with the other nodes of the congress using a plurality of private key shares, wherein each private key share of the plurality of private key shares is generated within a Trusted Execution Environment (TEE) of an individual node of the congress;
after the transaction has been unlocked, receiving data from the plurality of information providing systems;
determining, by the node, 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 respective 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 the other nodes of the congress, the script based on the centre point;
discarding, 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 respective proof of solution data, the data;
detecting a corrupted node within one of the plurality of nodes of the congress; and
setting a valid cryptographic signature to require greater than or equal to half of the plurality of private key shares when a corrupted node has been detected.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
based on the centre point, identifying, by the node, a subset of the information providing systems that provided data proximate to the centre point; and
authorizing, by the node in cooperation with the other nodes of the group, a transfer of a token to each information providing system in the subset.

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 2)

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

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 1)

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

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, 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 the 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.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising:
detecting malicious activity by a malicious party, wherein the malicious party is one of the 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.

### Claim 10 (depends on 9)

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

### Claim 11 (depends on 1)

A non-transitory computer-readable storage medium comprising computer-executable instructions that, when executed, configure a processor to perform the method of claim 1.

### Claim 12 (depends on 1)

An electronic device comprising:
an interface device;
a processor coupled to the interface device, the processor comprising a Trusted Execution Environment (TEE); and
a memory coupled to the processor, the memory having stored thereon computer executable instructions that, when executed, configure the processor to perform the method of claim 1, wherein the step of generating the private key share associated with the electronic device is performed within the TEE.

### Claim 13 (depends on 12)

The electronic device of claim 12, wherein the computer executable instructions are executed within the trusted execution environment.
