IP Library › Granted Patent US 12,316,769
Granted Patent B2
US 12,316,769 · App. 18/058,061 · Granted May 27, 2025

Method and apparatus for storing blockchain transaction data and distributed storage system using the same

Inventor: Myung-Cheol Lee (Daejeon, KR)
Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
H04L9/3236G06F16/27H04L9/3247H04L67/1097H04L2209/56
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,316,769
App. No.
18/058,061
Granted
May 27, 2025
Kind
B2
Abstract

Disclosed herein is a method for storing blockchain transaction data. The method includes selecting at least one block file storing blockchain transactions as an encoding block file target, generating encoded chunks including parity chunks using the encoding block file target, and making at least one of the encoded chunks correspond to at least one of blockchain nodes to store at least one of the encoded chunks.

Claims (34)

1. A method for storing blockchain transaction data, performed by an apparatus for storing blockchain transaction data, comprising:

selecting at least one block file storing blockchain transactions as an encoding block file target;

determining whether a number of blocks included in the encoding block file target is 2M+1 (M being a natural number):

when the number of blocks included in the encoding block file target is not equal to 2M+1, generating 2M+1 encoding target blocks using the blocks included in the encoding block file target and replicated blocks, the replicated blocks being part of the blocks included in the encoding block file target;

generating encoded chunks, including parity chunks, using the encoding target blocks; and

making at least one of the encoded chunks correspond to at least one of blockchain nodes to store at least one of the encoded chunks,

wherein a number of parity chunks is M, a number of blockchain nodes is 3M+1, a number of encoded chunks is 3M+1, and each of the encoded chunks is mapped to a respective one of the blockchain nodes, and

wherein each of the blockchain nodes stores a corresponding one of the encoded chunks and stores only hash values for at least part of remaining chunks excluding the corresponding one.

2. The method of claim 1 , wherein the replicated blocks are selected from among the blocks included in the encoding block file target based on an access frequency.

3. The method of claim 1 , wherein the encoding block file target includes 2M+1 or fewer blocks.

4. The method of claim 3 , wherein the 2M+1 or fewer blocks have different sizes, and padding is added thereto based on a maximum block size before the encoded chunks are generated.

5. The method of claim 1 , wherein the encoding block file target is selected from among block files storing the blockchain transactions in consideration of frequencies of access to the block files or blocks included in the block files.

6. The method of claim 1 , wherein the hash value is used to verify a block read from another node.

7. The method of claim 1 , wherein 2M+1 or more of the encoded chunks are used for decoding for restoring the encoding target blocks.

8. An apparatus for storing blockchain transaction data, comprising:

one or more processors; and

executable memory for storing at least one program executed by the one or more processors,

wherein the at least one program is configured to

select at least one block file storing blockchain transactions as an encoding block file target,

generate encoded chunks, including parity chunks, using the encoding block file target, and

make at least one of the encoded chunks correspond to at least one of blockchain nodes to store at least one of the encoded chunks,

wherein a number of parity chunks is M (M being a natural number), a number of blockchain nodes is 3M+1, a number of the encoded chunks is 3M+1, and each of the encoded chunks is mapped to a respective one of the blockchain nodes,

wherein each of the blockchain nodes stores a corresponding one of the encoded chunks and stores only hash values for at least part of remaining chunks excluding the corresponding one, and

wherein:

the at least one program determines whether a number of blocks included in the encoding block file target is 2M+1,

when the number of blocks included in the encoding block file target is not equal to 2M+1, the at least one program generates 2M+1 encoding target blocks using the blocks included in the encoding block file target and replicated blocks, the replicated blocks being part of the blocks included in the encoding block file target, and

the encoded chunks are generated by performing encoding using the encoding target blocks.

9. The apparatus of claim 8 , wherein the replicated blocks are selected from among the blocks included in the encoding block file target based on an access frequency.

10. The apparatus of claim 8 , wherein:

the encoding block file target includes blocks having different sizes, and

padding is added to the blocks having the different sizes based on a maximum block size before the encoded chunks are generated.

11. The apparatus of claim 8 , wherein the encoding block file target is selected from among block files storing the blockchain transactions in consideration of frequencies of access to the block files or blocks included in the block files.

12. The apparatus of claim 8 , wherein the hash value is used to verify a block read from another node.

13. The apparatus of claim 8 , wherein 2M+1 or more of the encoded chunks are used for decoding for restoring the encoding target blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2022
From: LEE, MYUNG-CHEOL
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 061859/0402 →
Priority Claims (2)
KR 10-2021-0172413 · Dec 3, 2021 · national
KR 10-2022-0145312 · Nov 3, 2022 · national
Continuity (1)
Related Publication 20230179423A1 · Jun 8, 2023
References Cited (15)
US 11233654B2 · Zhuo · 2022 [cited by applicant]
US 11372568B2 · Zhu · 2022 [cited by examiner]
US 20190146946A1 · Zhang · 2019 [cited by applicant]
US 20200412524A1 · Das · 2020 [cited by examiner]
US 20210263083A1 · Hwang · 2021 [cited by applicant]
US 20210382620A1 · Fang · 2021 [cited by applicant]
US 20210409224A1 · Heo · 2021 [cited by applicant]
US 20220191034A1 · Adams, III · 2022 [cited by examiner]
CN 111209262A · 2020 [cited by examiner]
CN 111837117A · 2020 [cited by examiner]
JP 2019532401A · 2019 [cited by applicant]
KR 1020210058744A · 2021 [cited by applicant]
KR 20210058744A · 2021 [cited by examiner]
Qi Xiaodong et al., “A Reliable Storage Partition for Permissioned Blockchain”, IEEE Transactions on Knowledge and Data Engineering, Jan. 1, 2021, vol. 33. [cited by applicant]
Xiaodong Qi et al., “BFT-Store: Storage Partition for Permissioned Blockchain via Erasure Coding,” 2020 IEEE 36th International Conference on Data Engineering (ICDE), Apr. 2020. [cited by applicant]