# US 11,121,880 B2 · Method for reaching consensus on public distributed ledgers and system using the same

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

- Number: US 11,121,880 B2
- Document ID: US11121880B2
- Status: Granted
- Kind: B2
- Application number: 16/133,757
- Filed: 2018-09-18
- Published: 2019-12-12
- Granted: 2021-09-14
- Earliest claimed: 2018-06-12
- Assignees: Chunghwa Telecom Co., Ltd.
- Applicants: Chunghwa Telecom Co., Ltd.
- Inventors: Ming-Che Chang; Pin-Jung Chiang; Keh-Hwa Shyu
- Web page: https://patentgrep.com/patent/US11121880B2

## CPC

- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q 20/0658: {e-cash managed locally}
- G06Q 20/4016: {involving fraud or risk level assessment in transaction processing}
- 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: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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 method for reaching consensus on public distributed ledgers and a system using the same are disclosed. The method includes: obtaining a random data of the last block of a blockchain; comparing the random data with an address of an account to obtain a degree of similarity; filtering accounts based on the degree of similarity; performing further filtering based on the account balance; performing ultimate filtering based on a combination of the account address and the random data; and determining an account that is entitled as the beneficiary to produce a new block to be attached to the last block of the blockchain. The present disclosure reaches consensus of generating a new block through multiple levels of filtering, thereby reducing the power consumption caused by large amounts of computations during the ordinary mining process, while significantly improving the efficiency of blockchain transactions and ensuring the fair distribution of mining rights.

## Claims

### Claim 1

A method for reaching consensus on public distributed ledgers, comprising:
obtaining a random data from a last block of a blockchain as a selection basis;
comparing the random data of the last block with an address of at least one account to obtain a degree of similarity;
allowing an account with a highest similarity to be entitled as a beneficiary to produce a new block to be attached to the last block of the blockchain; and
determining a single account entitled to produce the new block by filtering qualified accounts,
wherein comparing the random data of the last block with an address of at least one account to obtain a degree of similarity includes:
sequentially comparing a plurality of bytes of a hash value of the last block with a plurality of bytes of the address of the at least one account; and
accumulating a weighted score if a byte of the hash value of the last block matches a corresponding byte of the address of the at least one account, else not to accumulate the weighted score, thereby an account with a highest weighted score being defined as the account with the highest similarity.

### Claim 2 (depends on 1)

The method of claim 1, wherein comparing the random data of the last block with an address of at least one account to obtain a degree of similarity further includes: adjusting the weighted score based on a balance of the at least one account and an occurrence number of previous blocks including the last block of the blockchain produced with a beneficiary account that has a zero balance.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
if several accounts have the highest similarity, obtaining each balance of each of the accounts having the highest similarity; and
allowing an account with a highest balance being entitled as the beneficiary to produce a new block to be attached to the last block of the blockchain.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
if several accounts with the highest similarity have the same balance, calculating a characteristic value by each address of each of the accounts with the highest similarity having the same balance and the hash value of the last block; and
allowing an account with a lowest characteristic value to be entitled as the beneficiary to produce a new block to be attached to the last block of the blockchain.

### Claim 5 (depends on 1)

The method of claim 1, further comprising validating the address of the account.

### Claim 6 (depends on 1)

The method of claim 1, further comprising limiting a timestamp of the new block to be not earlier than an average timestamp of at least two previous blocks, or an interval between the timestamp of the new block and a system timestamp of the blockchain to be not greater than a predetermined time.

### Claim 7 (depends on 1)

The method of claim 1, further comprising making the random data of the last block to be in consistency in coding format with the address of the at least one account before comparing the random data of the last block with the address of the at least one account.

### Claim 8

A non-transitory computer readable medium, comprising instructions which, when executed by a computer, cause the computer to implement a method for reaching consensus on public distributed ledgers, the method comprising:
obtaining, by each of a plurality of blockchain nodes, a random data from a last block of a blockchain, and comparing the random data of the last block with an address of an account proposed by the blockchain nodes to obtain a degree of similarity; and
allowing an account with a highest similarity to be entitled as a beneficiary to produce a new block to be attached to the last block of the blockchain,
wherein each of the blockchain nodes comparing the random data of a last block with an address of an account proposed by the blockchain nodes to obtain a degree of similarity includes:
validating the address of the account;
sequentially comparing a plurality of bytes of a hash value of the last block with a plurality of bytes of the address of the account proposed by the blockchain nodes; and
accumulating a weighted score if a byte of the hash value of the last block matches a corresponding byte of the address of the account proposed by the blockchain nodes, else not to accumulate the weighted score, thereby an account with a highest weighted score being defined as the account with the highest similarity.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein each of blockchain nodes comparing the hash value of the last block with an address of an account proposed by the blockchain nodes to obtain a degree of similarity includes: adjusting the weighted score based on a balance of the account and an occurrence number of previous blocks preceding the last block of the blockchain produced with a beneficiary account that has a zero balance.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein before the hash value of the last block is compared with the address of the account, the hash value of the last block is made to be in consistency in coding format with the address of the account.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein:
if several accounts have the highest similarity, each balance of each of the accounts having the highest similarity is obtained; and
an account having a highest balance is entitled as the beneficiary to produce a new block to be attached to the last block of the blockchain.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein:
if several accounts with the highest similarity have the same balance, a characteristic value is calculated by each address of each of the accounts with the highest similarity having the same balance and the hash value of the last block; and
an account with a lowest characteristic value is entitled as the beneficiary to produce a new block to be attached to the last block of the blockchain.

### Claim 13

A method for reaching consensus on public distributed ledgers, comprising:
obtaining a random data from a last block of a blockchain;
comparing the random data of the last block with an address of at least one account to obtain a degree of similarity;
adjusting similarity score for zero-balance accounts; and
allowing an account with a highest similarity to be entitled to produce a new block to be attached to the last block of the blockchain.
