IP Library Granted Patent US 12,200,054
Granted Patent B2
US 12,200,054 · App. 18/394,594 · Granted Jan 14, 2025

Blockchain sharding method, system, and server based on locally repairable system codes

Inventors: Sheng Cao (Chengdu, CN); Butian Huang (Chengdu, CN); Xiaosong Zhang (Chengdu, CN)
Assignees: University of Electronic Science and Technology of China; Sichuan Digital Economy Research Institute (Yibin); Hangzhou Yunphant Network Technology Co. Ltd.
H04L67/1097G06F16/27
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 12,200,054
App. No.
18/394,594
Granted
Jan 14, 2025
Kind
B2
Abstract

The present disclosure provides a blockchain sharding method, system, and server based on locally repairable system codes. The blockchain sharding system includes k original shards and n−k encoding shards. In each round of consensus, each original shard and m corresponding encoding shards form a local verification group (m<<n−k), and each encoding shard and t original shards participating in generation of the encoding shard form local recovery groups (t<<k). The local verification group is responsible for verifying whether a to-be-verified transaction is legitimate. When a single shard in the verification group is corrupted, the remaining m shards can reach a consistent verification result. According to the principle that the minority is subordinate to the majority, the verification group can still correctly verify the legitimacy of the transaction.

Claims (9)

1. A blockchain sharding method, comprising:

at beginning of each round of consensus, generating, by each encoding shard, a verifiable random function (VRF) random number, signing and broadcasting the VRF random number to all other shards, wherein any shard is used for associating the encoding shard with original shards based on random number sequences of all the encoding shards in the round;

collecting, by a leader shard (LL), to-be-verified transaction information, and storing, based on a historical VRF random number sequence, the to-be-verified transaction information in message buffers corresponding to different shards on the LL; and when a total amount of the to-be-verified transaction information in the message buffers reaches a threshold, sending the to-be-verified transaction information in the corresponding buffer to each shard;

leading, by a leader node in each shard, nodes in the shard to verify the to-be-verified transaction, to reach a consensus on a verification result by using a Practical Byzantine Fault Tolerance (PBFT) consensus algorithm; and aggregating, by the leader node in each shard, signatures of the nodes in the shard on the verification result, and returning the consensus result and the aggregated signatures to the LL;

making, by the LL, statistics on the consensus results of the shards, and when a quantity of shards verifying the to-be-verified transaction to be legitimate exceeds the threshold, determining, by a blockchain, the transaction as a legitimate transaction, and wherein when no shard in the blockchain is corrupted, any legitimate transaction is verified as legitimate; or when a single shard in the blockchain is corrupted, other shards in a verification group are still capable of verifying a legitimate transaction as legitimate, and the blockchain is still secure and available;

after the blockchain accumulates sufficient valid transactions, packaging, by the LL, the valid transactions into k blocks, and sending the k blocks to the original shards with corresponding numbers; and distributing, by each original shard based on the VRF random number sequences generated in the round, the received blocks to the corresponding encoding shards with the original shard;

generating, by each encoding shard based on the received blocks in the round, an encoding block of the shard in the round of consensus; and

storing, by the original shard, the corresponding block and transaction information in the block; storing, by the encoding shard, corresponding unspent transaction outputs (UTXO) information in blocks received from the original shard, and storing the encoding block, and then deleting the received blocks.

2. The blockchain sharding method according to claim 1 , wherein the to-be-verified transaction information received in the collecting step comprises: a transaction head, a historical transaction used as a support and a height of a block in which the historical transaction is stored, and other information such as a signature of a transaction user of a newly generated transaction k that is used as an output; and wherein based on the historical transaction and information about the height of the block in which the historical transaction is stored, combined with the historical VRF random number sequence, the LL determines an original shard and a plurality of corresponding encoding shards that are capable of verifying the transaction.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 66534 FRAME: 805. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2024
From: CAO, SHENG; HUANG, BUTIAN; ZHANG, XIAOSONG
To: UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA; SICHUAN DIGITAL ECONOMY RESEARCH INSTITUTE (YIBIN); HANGZHOU YUNPHANT NETWORK TECHNOLOGY CO. LTD.
Reel/Frame 066878/0869 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2024
From: CAO, SHENG; HUANG, BUTIAN; ZHANG, XIAOSONG
To: UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA; SICHUAN DIGITAL ECONOMY RESEARCH INSTITUTE (YIBIN); HANGZHOU YUNPHANT NETWORK TECHNOLOGY CO. LTD.
Reel/Frame 066534/0805 →
Priority Claims (1)
CN 202310665982.5 · Jun 6, 2023 · national
Continuity (1)
Related Publication 20240414228A1 · Dec 12, 2024
References Cited (2)
US 11856100B2 · Kramer · 2023 [cited by examiner]
US 20230019637A1 · Sadoghi Hamedani · 2023 [cited by examiner]