IP Library Granted Patent US 12,283,974
Granted Patent B2
US 12,283,974 · App. 18/397,612 · Granted Apr 22, 2025

System and method for distribution storage of blockchain transaction data based on erasure code

Inventors: Sohyun Park (Daejeon, KR); Myungcheol Lee (Daejeon, KR); Beongjun Choi (Daejeon, KR)
Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
H03M13/1515H03M13/293H04L67/1097
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,283,974
App. No.
18/397,612
Granted
Apr 22, 2025
Kind
B2
Abstract

Provided is a method performed by a system for distribution storage of blockchain transaction data based on an erasure code. The method includes performing RS encoding on a predetermined number of blockchain transaction original data; and after the RS encoding is performed, applying LRC encoding technique to blockchain transaction original data (LRC-encoded original data), which needs to be accessed high speed, among the RS-encoded transaction original data to encode and store the LRC-encoded original data, and repairing the LRC-encoded original data through decoding.

Claims (42)

1. A method performed by a system for distribution storage of blockchain transaction data based on an erasure code, the method comprising:

performing RS encoding on a predetermined number of blockchain transaction original data; and

after the RS encoding is performed, applying LRC encoding technique to blockchain transaction original data (LRC-encoded original data), which needs to be accessed at high speed, among the RS-encoded transaction original data to encode and store the LRC-encoded original data, and repairing the LRC-encoded original data through decoding.

2. The method of claim 1 , further comprising:

redundantly storing latest data, which satisfies a predetermined recent time condition and a predetermined number of access frequency conditions, in all nodes,

wherein the performing of the RS encoding on the predetermined number of blockchain transaction original data includes setting past data that does not satisfy the recent time condition and access frequency conditions as the blockchain transaction original data to be the RS encoded.

3. The method of claim 2 , wherein the performing of the RS encoding on the predetermined number of blockchain transaction original data includes:

generating an RS-encoded chunk based on the blockchain transaction original data and a predetermined number of parities; and

distributing and storing the RS-encoded chunk to each corresponding node.

4. The method of claim 1 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding includes:

selecting an LRC management node for one of the nodes that do not store the LRC-encoded original data;

receiving, by the LRC management node, the LRC-encoded original data required to perform LRC encoding from a node holding the LRC-encoded original data; and

performing the LRC encoding on the received LRC-encoded original data.

5. The method of claim 4 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding includes:

storing an LRC encoding chunk generated as a result of performing the LRC encoding in the LRC management node; and

deleting the LRC-encoded original data received from the LRC management node.

6. The method of claim 4 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding includes:

receiving, by a node storing the LRC-encoded original data, other LRC-encoded original data different from the stored LRC-encoded original data from other nodes;

generating an LRC-encoded chunk based on the LRC-encoded original data and the other LRC-encoded original data at the node;

calculating a hash value based on the generated LRC-encoded chunk; and

storing the hash value and deleting the other LRC-encoded original data and the LRC-encoded chunk.

7. The method of claim 4 , wherein the applying of the LRC encoding technique to repair the LRC-encoded original data includes re-selecting the LRC management node based on at least one of resource information of the LRC management node, whether there is a Byzantine node, and whether the LRC-encoded original data is stored.

8. The method of claim 1 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding includes:

performing the LRC encoding on the LRC-encoded original data to generate an LRC parity; and

generating an LRC repair set including the LRC-encoded original data and the LRC parity.

9. The method of claim 8 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding includes redundantly storing the generated LRC parity in any of the nodes storing the RS-encoded chunk generated as a result of performing the RS encoding.

10. The method of claim 8 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding further includes, when access to any one of the LRC-encoded original data becomes impossible, LRC decoding is performed on the remaining data excluding the inaccessible LRC-encoded original data in the LRC repair set to repair the inaccessible LRC-encoded original data.

11. The method of claim 8 , wherein the applying of the LRC encoding technique to encode and store the LRC-encoded original data and repairing the LRC-encoded original data through the decoding further includes generating an LRC index table including information on the generated LRC repair set and LRC management node at each coding round in which the RS encoding and LRC encoding are performed.

12. The method of claim 11 , wherein the generating of the LRC index table includes deleting an LRC repair set having a usage frequency less than a preset threshold from among a plurality of LRC repair sets stored in the LRC index table.

13. The method of claim 8 , further comprising:

performing, by an LRC management node, the LRC decoding on the blockchain transaction original data included in the LRC repair set with any node attempting to access the blockchain transaction original data; and

transmitting, by the LRC management node, the repaired blockchain transaction original data as the LRC decoding is performed to the node attempting the access.

14. The method of claim 13 , wherein when the LRC repair set does not include the blockchain transaction original data, any node attempting to access the blockchain transaction original data performs RS decoding to obtain the blockchain transaction original data and ends a repair process.

15. The method of claim 13 , wherein when the blockchain transaction original data is stored in its own local storage, any node attempting to access the blockchain transaction original data obtains the blockchain transaction original data through the local storage and ends a repair process.

16. The method of claim 13 , wherein when the blockchain transaction original data is stored in other nodes, any node attempting to access the blockchain transaction original data requests and receives the blockchain transaction original data from the other nodes and then ends the repair process.

17. The method of claim 1 , further comprising:

calculating a hash value for the blockchain transaction original data;

storing the hash value for the blockchain transaction original data in all nodes; and

verifying integrity of the repaired LRC-encoded original data by comparing the hash value for the blockchain transaction original data with the repaired LRC-encoded original data.

18. A system for distribution storage of blockchain transaction data based on an erasure code, the system comprising:

an RS encoding device configured to perform RS encoding on a predetermined number of blockchain transaction original data; and

an LRC encoding device configured to, after the RS encoding is performed, apply LRC encoding technique to blockchain transaction original data (LRC-encoded original data), which needs to be accessed at high speed, among the RS-encoded transaction original data to encode and store the LRC-encoded original data, and repair the LRC-encoded original data through decoding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2023
From: PARK, SOHYUN; LEE, MYUNGCHEOL; CHOI, BEONGJUN
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 065974/0148 →
Priority Claims (1)
KR 10-2023-0022080 · Feb 20, 2023 · national
Continuity (1)
Related Publication 20240283466A1 · Aug 22, 2024
References Cited (17)
US 10911220B1 · Zhuo · 2021 [cited by examiner]
US 11023314B2 · Lu · 2021 [cited by examiner]
US 20150142863A1 · Yuen · 2015 [cited by examiner]
US 20180181471A1 · Panta · 2018 [cited by examiner]
US 20190286521A1 · Okpotse · 2019 [cited by examiner]
US 20190286531A1 · Lin · 2019 [cited by examiner]
US 20190347165A1 · Kim · 2019 [cited by applicant]
US 20200310652A1 · Youn et al. · 2020 [cited by applicant]
US 20210044422A1 · Lu · 2021 [cited by examiner]
US 20210208782A1 · Zhu · 2021 [cited by examiner]
US 20210271557A1 · Hao · 2021 [cited by examiner]
KR 101934204B1 · 2018 [cited by applicant]
KR 1020210058746A · 2021 [cited by applicant]
KR 1020220086677A · 2022 [cited by applicant]
W. Bao, L. Wang and J. Chen, “A Lightweight Locally Repairable Code-based Storage Architecture for Blockchains, ” 2022 IEEE Smartworld, Ubiquitous Intelligence & Computing, Scalable Computing & Communications, Haikou, C… [cited by examiner]
M. Schnjakin, T. Metzke and C. Meinel, “Applying Erasure Codes for Fault Tolerance in Cloud-RAID,” 2013 IEEE 16th International Conference on Computational Science and Engineering, Sydney, NSW, Australia, 2013, pp. 66-7… [cited by examiner]
Mi-Yeong Nam, et al., “Partial access recovery code for distributed storage systems”, Information and Communications Magazine, May 29, 2015, pp. 3-8, vol. 32 Issue 6. [cited by applicant]