Patent ID: 11874820
Assignee: ALIPAY (HANGZHOU) INFORMATION TECHNOLOGY CO., LTD.
Field: Digital communication (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 3:
4. A system for a consortium blockchain based on a Byzantine fault tolerance algorithm, the system comprising:
a first electronic device operating as a first consensus node of the consortium blockchain and comprising:
a first processor; and
a first memory storing instructions that, when executed by the first processor, cause the first processor to perform operations of:
determining a first last block hash comprising one or more hash values of one or more blocks previous and closest to a latest block in a distributed ledger maintained by the first consensus node;
generating a first proposal digest based on the first last block hash and a first transaction hash of a transaction set needing to be proposed by the first consensus node;
initiating a consensus proposal comprising the transaction set needing to be proposed and the first proposal digest; and
transmitting the consensus proposal to a second consensus node of the consortium blockchain;

a second electronic device operating as the second consensus node of the consortium blockchain and comprising:
a second processor; and
a second memory storing instructions that, when executed by the second processor, cause the second processor to perform operations of:
in response to receiving the consensus proposal from the first consensus node of the consortium blockchain:
determining a second last block hash comprising one or more hash values of one or more blocks previous and closest to a latest block in a distributed ledger maintained by the second consensus node;
generating a second proposal digest based on the second last block hash by:
determining, in the consensus proposal from the first consensus node, the transaction set needing to be proposed; and
generating the second proposal digest based on a second transaction hash of the transaction set determined in the consensus proposal and the second last block hash;

determining whether one of the first consensus node or the second consensus node is forked, by detecting whether there is a mismatch between the first proposal digest and the second proposal digest; and
participating in a consensus on the consensus proposal if it is determined that the first consensus node and the second consensus node are not forked by detecting that the first proposal digest matches the second proposal digest, and not participating in the consensus on the consensus proposal if it is determined that one of the first consensus node or the second consensus node is forked by detecting that the first proposal digest does not match the second proposal digest.