IP Library Granted Patent US 10,795,857
Granted Patent B2
US 10,795,857 · App. 16/135,739 · Granted Oct 6, 2020

Blockchain system and method thereof

Inventor: Chia-Hui Lin (Taoyuan, TW)
Assignee: Industrial Technology Research Institute
G06F16/16G06F16/1734G06F16/1834G06F16/27H04L9/0643H04L2209/38
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 10,795,857
App. No.
16/135,739
Granted
Oct 6, 2020
Kind
B2
Abstract

A method includes the steps of: monitoring status information of a blockchain system; determining whether the status information meets a blockchain branch condition; when the status information matches the blockchain branch condition, writing a branch instruction to a selected block of the blockchain, wherein the branch instruction is configured to enable the blockchain to form a plurality of branches, and divide a plurality of blockchain devices in the blockchain system into a plurality of groups to verify the branches in parallel; and obtaining a maximum transmission delay time in the group, and deciding a new one to generate blocks of the first branch according to the maximum transmission delay time.

Claims (59)

1. A method implemented in a blockchain system, the blockchain system comprising a plurality of blockchain devices that participate in a verification of a blockchain to generate a plurality of blocks in the blockchain, wherein the method comprises:

monitoring a status information of the blockchain system by a first blockchain device of the blockchain devices;

determining whether the status information complies with a blockchain branch condition by the first blockchain device;

when the first blockchain device determines that the status information complies with the blockchain branch condition, the first blockchain device writes a branch instruction to a selected block in the blockchain, wherein the branch instruction is configured for enabling the blockchain to form a plurality of branches, and the blockchain devices are divided into a plurality of groups in response to the branch instruction for verifying the branches in parallel, wherein the first blockchain device joins a first group of the groups, and the first group is responsible for verifying a first branch of the branches; and

obtaining an in-group maximum transmission delay time of the first group by the first blockchain device, and determining a time interval of generation of new block to generate a plurality of blocks in the first branch according to the in-group maximum transmission delay time;

wherein the first blockchain device comprises a processor;

wherein the blockchain branch condition comprises at least one of a condition (1) and a condition (2), wherein

the condition (1) is: a computing power of verifying the blockchain or one of the branches is greater than a first computing power threshold value, and an amount of transactions to be processed is great than a first transaction amount threshold value; and

the condition (2) is: a number of the blockchain devices for verifying the blockchain or one of the branches is greater than a first device number threshold value, and the amount of transactions to be processed is great than a second transaction amount threshold value.

2. The method of claim 1 , wherein the blocks in the blockchain comprise a classification function, respectively, and a classification condition is substituted into the classification function to obtain a plurality of classification function values corresponding to the branches, respectively.

3. The method of claim 2 , wherein the classification condition is a transaction sender ID, a smart contract type, a smart contract content, or a transaction attribute parameter.

4. The method of claim 3 , wherein the classification condition is the transaction sender ID, and the classification function is to calculate a remainder of the transaction sender ID divided by a value.

5. The method of claim 1 , further comprising:

measuring a plurality of transmission delay times between the first blockchain device and other blockchain devices in the blockchain system by the first blockchain device; and

storing a correspondence table by the first blockchain device, wherein the correspondence table records the transmission delay times and group/groups to which the other blockchain devices in the blockchain system belong.

6. The method of claim 1 , further comprising:

after writing the branch instruction, determining whether the branches all have a seed device to generate a corresponding root block by the first blockchain device;

if the determination is yes and the first blockchain device is not the seed device, the first blockchain device preferentially chooses to join a group to which a second blockchain device belongs, wherein the first blockchain device has the lowest transmission delay time with respect to the second blockchain device; and

if the determination is no and the first blockchain device is not the seed device, the first blockchain device becomes the seed device of a specific branch that does not yet generate the corresponding root block in the branches by a competition or a predetermined rule.

7. The method of claim 6 , further comprising:

when a number of the blockchain devices in the group to which the second blockchain device belongs reaches an upper limit, the first blockchain device instead chooses to join a group which a third blockchain device belongs, wherein the first blockchain device has the second lowest transmission delay time with respect to the third blockchain device.

8. The method of claim 1 , further comprising:

determining whether the status information complies with a blockchain mergence condition;

when the first blockchain device determines that the status information complies with the blockchain mergence condition, the first blockchain device searches for a second branch and writes a mergence instruction to the block in the first branch, wherein the second branch is verified by a second group of the groups;

responding to a mergence confirmation instruction from the second group, wherein the first blockchain device controls the first branch and the second branch to be merged into a new blockchain after a specific number of the block in the first branch is calculated, the new blockchain is verified by a merged group, the merged group comprises the first group and the second group; and

the first blockchain device extends the time interval of generation of new block to generate the block in the new blockchain.

9. The method of claim 8 , wherein the blockchain mergence condition comprises at least one of a condition (1) and a condition (2), wherein

the condition (1) is: a computing power of verifying the blockchain or one of the branches is less than a second computing power threshold value; and

the condition (2) is: a number of the blockchain devices for verifying the blockchain or one of the branches is less than a second device number threshold value.

10. A blockchain system, comprising:

a plurality of blockchain devices participating in a verification of a blockchain to generate a plurality of blocks in the blockchain, wherein the blockchain devices comprises a first blockchain device, the first blockchain device is configured for executing the following steps:

monitoring a status information of the blockchain system;

determining whether the status information complies with a blockchain branch condition;

when the status information complies with the blockchain branch condition, writing a branch instruction to a selected block in the blockchain, wherein the branch instruction is configured for enabling the blockchain to form a plurality of branches, and the blockchain devices are divided into a plurality of groups in response to the branch instruction for verifying the branches in parallel, wherein the first blockchain device joins a first group of the groups, and the first group is responsible for verifying a first branch of the branches; and

obtaining an in-group maximum transmission delay time of the first group, and determining a time interval of generation of new block to generate a plurality of blocks in the first branch according to the in-group maximum transmission delay time;

wherein the first blockchain device comprises a processor;

wherein the blockchain branch condition comprises at least one of a condition (1) and a condition (2), wherein

the condition (1) is: a computing power of verifying the blockchain or one of the branches is greater than a first computing power threshold value, and an amount of transactions to be processed is great than a first transaction amount threshold value; and

the condition (2) is: a number of the blockchain devices for verifying the blockchain or one of the branches is greater than a first device number threshold value, and the amount of transactions to be processed is great than a second transaction amount threshold value.

11. The blockchain system of claim 10 , wherein the blocks in the blockchain comprise a classification function, respectively, and a classification condition is substituted into the classification function to obtain a plurality of classification function values corresponding to the branches, respectively.

12. The blockchain system of claim 11 , wherein the classification condition is a transaction sender ID, a smart contract type, a smart contract content, or a transaction attribute parameter.

13. The blockchain system of claim 12 , wherein the classification condition is the transaction sender ID, and a classification function value is a remainder of the transaction sender ID divided by a value.

14. The blockchain system of claim 10 , wherein the first blockchain device is further configured for:

measuring a plurality of transmission delay times between the first blockchain device and other blockchain devices in the blockchain system; and

storing a correspondence table, wherein the correspondence table records the transmission delay times and group/groups to which the other blockchain devices in the blockchain system belong.

15. The blockchain system of claim 10 , wherein the first blockchain device is further configured for:

after writing the branch instruction, determining whether the branches all have a seed device to generate a corresponding root block;

if the determination is yes and the first blockchain device is not the seed device, the first blockchain device preferentially chooses to join a group to which a second blockchain device belongs, wherein the first blockchain device has the lowest transmission delay time with respect to the second blockchain device; and

if the determination is no and the first blockchain device is not the seed device, the first blockchain device becomes the seed device of a specific branch that does not yet generate the corresponding root block in the branches by a competition or a predetermined rule.

16. The blockchain system of claim 15 , wherein the first blockchain device is further configured for:

when a number of the blockchain devices in the group to which the second blockchain device belongs reaches an upper limit, instead choosing to join a group which a third blockchain device belongs, wherein the first blockchain device has the second lowest transmission delay time with respect to the third blockchain device.

17. The blockchain system of claim 10 , wherein the first blockchain device is further configured for:

determining whether the status information complies with a blockchain mergence condition;

when the status information complies with the blockchain mergence condition, searching for a second branch and writes a mergence instruction to the block in the first branch, wherein the second branch is verified by a second group of the groups;

responding to a mergence confirmation instruction from the second group, controlling the first branch and the second branch to be merged into a new blockchain after a specific number of the block in the first branch is calculated, the new blockchain is verified by a merged group, the merged group comprises the first group and the second group; and

extending the time interval of generation of new block to generate the block in the new blockchain.

18. The blockchain system of claim 17 , wherein the blockchain mergence condition comprises at least one of a condition (1) and a condition (2), wherein

the condition (1) is: a computing power of verifying the blockchain or one of the branches is less than a second computing power threshold value;

the condition (2) is: a number of the blockchain devices for verifying the blockchain or one of the branches is less than a second device number threshold value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2018
From: LIN, CHIA-HUI
To: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE
Reel/Frame 046962/0048 →
Priority Claims (1)
TW 107105498 A · Feb 14, 2018 · national
Continuity (1)
Related Publication 20190251187A1 · Aug 15, 2019
Cited By (1)
US 12,547,739