Home Patent Forecast® Sectors Log In   Contact  
How it works Patent Forecast® Sectors Insights
Menu
Enjoy your FREE PREVIEW which shows only 2022 data and 25 documents. Contact Patent Forecast for full access.        

Z-ARCHIVE-Cryptocurrency

Search All Patents in Z-ARCHIVE-Cryptocurrency


Patent US10204341


Issued 2019-02-12

Method And System For An Efficient Consensus Mechanism For Permissioned Blockchains Using Bloom Filters And Audit Guarantees

A method for addition of a block to a permissioned blockchain using efficient consensus includes: generating a Merkle root for received transaction messages and hashing the header of the most recent block in a blockchain; hashing a new header consisting of the Merkle root and prior block hash; sending the new header to auditing nodes; receiving approval of the new header from a majority of auditing nodes; informing the auditing nodes of the approval of the new header; and providing the new header and a digital signature to each consensus node for writing of a new block to the blockchain that includes the new header and the received transaction messages.



Much More than Average Length Specification


View the Patent Matrix® Diagram to Explore the Claim Relationships

USPTO Full Text Publication >

2 Independent Claims

  • 1. A method for adding a block to a permissioned blockchain using an efficient consensus mechanism, comprising: storing, in a memory of a processing server, a blockchain comprising a plurality of blocks including a recently added block, the recently added blocking including at least a block header and one or more transaction values; receiving, by a receiving device of the processing server, a plurality of transaction messages from one or more consensus nodes associated with the blockchain, wherein each transaction message includes at least a transaction value; generating, by a hashing module of the processing server, a Merkle root for the plurality of transaction messages using a transaction reference associated with the transaction value included in each of the plurality of transaction messages; generating, by the hashing module of the processing server, a previous hash value via application of a hashing algorithm to the block header included in the recently added block; generating, by a generation module of the processing server, a proposed block header, wherein the proposed block header includes at least the previous hash value and the generated Merkle root; generating, by the hashing module of the processing server, a confirmation hash value via application of the hashing algorithm to the generated proposed block header; generating, by the generation module of the processing server, a proposal number, wherein the proposal number is a numeric value of a digital signature generated for the generated proposed block header; electronically transmitting, by a transmitting device of the processing server, a prepare message to a plurality of auditing nodes associated with the blockchain, wherein the prepare message includes at least the generated confirmation hash value and generated proposal number; receiving, by the receiving device of the processing server, a response message from at least a majority of the plurality of auditing nodes, wherein each prepare response message includes at least the generated confirmation hash value and an accepted proposal number; identifying, by a data identification module of the processing server, an agreed proposal number based on the numeric value of the generated proposal number and a numeric value of the accepted proposal number included in each response message and a predetermined criteria; electronically transmitting, by the transmitting device of the processing server, an accept message to the plurality of auditing nodes, wherein the accept message includes at least the generated confirmation hash value and the identified agreed proposal number; electronically transmitting, by the transmitting device of the processing server, a confirm message to a plurality of consensus nodes associated with the blockchain, wherein the confirm message includes at least the generated confirmation hash value and the identified agreed proposal number; and executing, by a querying module of the processing server, a query on the memory to add a new block to the blockchain, the new block including at least the transaction value included in each of the plurality of transaction messages, a new block header including at least the previous hash value, the generated Merkle root, and the agreed proposal number.

  • 13. A system for adding a block to a permissioned blockchain using an efficient consensus mechanism, comprising: a transmitting device of a processing server; a data identification module of the processing server; a querying module of the processing server; a memory of the processing server configured to store a blockchain comprising a plurality of blocks including a recently added block, the recently added blocking including at least a block header and one or more transaction values; a receiving device of the processing server configured to receive a plurality of transaction messages from one or more consensus nodes associated with the blockchain, wherein each transaction message includes at least a transaction value; a hashing module of the processing server configured to generate a Merkle root for the plurality of transaction messages using a transaction reference associated with the transaction value included in each of the plurality of transaction messages, and a previous hash value via application of a hashing algorithm to the block header included in the recently added block; and a generation module of the processing server configured to generate a proposed block header, wherein the proposed block header includes at least the previous hash value and the generated Merkle root, wherein the hashing module of the processing server is further configured to generate a confirmation hash value via application of the hashing algorithm to the generated proposed block header, the generation module of the processing server is further configured to generate a proposal number, wherein the proposal number is a numeric value of a digital signature generated for the generated proposed block header, the transmitting device of the processing server is configured to electronically transmit a prepare message to a plurality of auditing nodes associated with the blockchain, wherein the prepare message includes at least the generated confirmation hash value and generated proposal number, the receiving device of the processing server is further configured to receive a response message from at least a majority of the plurality of auditing nodes, wherein each prepare response message includes at least the generated confirmation hash value and an accepted proposal number, the data identification module of the processing server is configured to identify an agreed proposal number based on the numeric value of the generated proposal number and a numeric value of the accepted proposal number included in each response message and a predetermined criteria, the transmitting device of the processing server is further configured to electronically transmit an accept message to the plurality of auditing nodes, wherein the accept message includes at least the generated confirmation hash value and the identified agreed proposal number, and a confirm message to a plurality of consensus nodes associated with the blockchain, wherein the confirm message includes at least the generated confirmation hash value and the identified agreed proposal number, and the querying module of the processing server is further configured to execute a query on the memory to add a new block to the blockchain, the new block including at least the transaction value included in each of the plurality of transaction messages, a new block header including at least the previous hash value, the generated Merkle root, and the agreed proposal number.