# US 2021/0240733 A1 · Partitioning a blockchain network

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

- Number: US 2021/0240733 A1
- Document ID: US20210240733A1
- Status: Published application
- Kind: A1
- Application number: 17/050,836
- Filed: 2019-04-24
- Published: 2021-08-05
- Earliest claimed: 2018-04-27
- Assignees: nChain Holdings Limited
- Applicants: nChain Holdings Limited
- Inventors: Dean KRAMER; Martin SEWELL; Bassem AMMAR
- Web page: https://patentgrep.com/patent/US20210240733A1

## CPC

- H04L 9/32: including means for verifying the identity or authority of a user of the system {or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials}
- G06F 9/3836: {Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution}
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 16/2379: {Updates performed during online database operations; commit processing}
- G06F 16/278: {Data partitioning, e.g. horizontal or vertical partitioning}
- G06F 16/9027: {Trees}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06Q 20/065: {using e-cash}
- G06Q 20/0658: {e-cash managed locally}
- G06Q 20/223: {based on the use of peer-to-peer networks}
- G06Q 20/3674: {involving authentication}
- G06Q 20/3678: {e-cash details, e.g. blinded, divisible or detecting double spending}
- G06Q 20/3827: {Use of message hashing}
- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- 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/3297: {involving time stamps, e.g. generation of time stamps}
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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 computer-implemented method of partitioning a blockchain network into shards is disclosed. The method comprises the steps of identifying a transaction id of a blockchain transaction and allocating the transaction to a shard based on the transaction id.

## Claims

### Claim 1

A computer-implemented method of partitioning a blockchain network into shards, the method comprising:
identifying a transaction id of a blockchain transaction; and
allocating the transaction to a shard based on the transaction id.

### Claim 2 (depends on 1)

The method of claim 1, further comprising the step of performing an operation using the transaction id, and wherein the step of allocating the transaction to a shard is based on a result of the operation.

### Claim 3 (depends on 2)

The method of claim 2, wherein the operation comprises a modulo operation.

### Claim 4 (depends on 1)

The method of claim 1, further comprising the step of communicating a request for shard membership information of a node to another node.

### Claim 5 (depends on 1)

The method of claim 1, further comprising the step of communicating shard membership information of a node to another node.

### Claim 6 (depends on 4)

The method of claim 4, wherein the step of communicating is performed using a modified addr message.

### Claim 7 (depends on 1)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 1.

### Claim 8 (depends on 1)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 1.

### Claim 9 (depends on 2)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 2.

### Claim 10 (depends on 3)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 3.

### Claim 11 (depends on 4)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 4.

### Claim 12 (depends on 5)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 5.

### Claim 13 (depends on 6)

A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method of claim 6.

### Claim 14 (depends on 2)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 2.

### Claim 15 (depends on 3)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 3.

### Claim 16 (depends on 4)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 4.

### Claim 17 (depends on 5)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 5.

### Claim 18 (depends on 6)

A system, comprising:
a processor; and
memory including executable instructions that, as a result of execution by the processor, causes the system to perform the computer-implemented method of claim 6.

### Claim 19 (depends on 1)

The method of claim 1, further comprising:
identifying a second transaction id of a second blockchain transaction; and
allocating the second transaction to another shard based on the transaction id of the second blockchain transaction.

### Claim 20 (depends on 1)

The method of claim 1, wherein allocation of the blockchain transaction to the shard is to perform a unspent transaction output check to validate the blockchain transaction.
