Decentralized ledger system and method for enterprises
AssigneeArchitecture Technology Corporation
InventorMaher N Kaddoura
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for managing enterprise transactions includes creating an overlay to a physical communications network, adding one or more nodes to the overlay, designating one or more nodes of the overlay as super nodes, generating a distributed ledger to store the transactions, and replicating the distributed ledger to all nodes of the overlay. Generating the distributed ledger includes receiving, at the super nodes, transactions from the one or more nodes, assigning, by the super nodes, the transactions to a variable size block, validating, by the super nodes, the variable size block, and linking the validated variable size block to the distributed ledger.
Claims16
A computer-implemented method for managing enterprise transactions, comprising:
- creating, by a processor, a network overlay to a physical communications network;
- adding one or more nodes to the network overlay;
- designating a plurality nodes of the network overlay as super nodes, comprising:
- receiving an identification of a node and an identification of resource capabilities of a node, and
- determining the identified resource capabilities of the node are sufficient to allow the node to function as a super node, comprising, in a bandwidth-limited environment, using a link sensing mechanism to determine sufficient bandwidth is available at the node for transmission of information;
- generating a distributed ledger to store the transactions, comprising:
- receiving, at the super node, transactions from the one or more nodes,
- assigning, by the super node, the transactions to a variable size block,
- validating, by the super nodes, the variable size block, comprising each of a plurality of the super node executing a block validity voting process comprising:
- computing a hash based on the variable size block;
- comparing the hash to a target value;
- generating a block valid vote when the hash meets the target value and a block invalid vote when the hash does not meet the target value;
- accumulating block valid votes and block invalid votes from the super nodes;
- and
- designating the block valid when at least a majority of votes in the block validity voting process are block valid votes, and
- linking the validated variable size block to the distributed ledger;
- and
- replicating the distributed ledger to all nodes of the network overlay.
A non-transitory, computer-readable storage medium having encoded thereon a program comprising machine instructions implementing a distributed ledger to store and manage enterprise transactions, wherein one or more processors execute the machine instructions to:
- create an overlay to a physical communications network, comprising the processors:
- identifying physical nodes in the physical communications network,
- assigning an overlay node to a physical node, and
- connecting the overlay node to the physical node through an application layer of the physical communications network;
- designate a plurality of overlay nodes of the overlay as super nodes, wherein the processors:
- receive an identification of a node and an identification of resource capabilities of the node, and
- determine the identified resource capabilities of the node are sufficient to allow the node to function as a super node, comprising, in a bandwidth-limited environment, using a link sensing mechanism to determine sufficient bandwidth is available at the node for transmission of information;
- receive, at physical nodes corresponding to the super nodes, transactions from physical nodes corresponding to the one or more overlay nodes;
- assign, through the super nodes, the transactions to a variable size block;
- validate, through the super nodes, the variable size block, comprising the processors at a plurality of the super nodes, execute a block validity voting process in which the processors:
- compute a hash based on the variable size block;
- compare the hash to a target value;
- generate a block valid vote when the hash meets the target value and a block invalid vote when the hash does not meet the target value;
- accumulate block valid votes and block invalid votes from the super nodes;
- and
- designate the block valid when at least a majority of votes in the block validity voting process are block valid votes,
- link the validated variable size block to the distributed ledger;
- and
- replicate the distributed ledger at all overlay nodes of the overlay.
A computer-implemented method for storing and managing enterprise data using a distributed ledger, comprising:
- receiving by a processor, transactions from nodes in a communications network;
- through an application layer of the communications network, aggregating one or more of the transactions in a block, comprising:
- verifying each of the one or more transactions,
- creating a hash of the one or more transactions, and
- adding the one or more transactions to a block and adding the hash to a header of the block;
- through the application layer, validating the block, comprising:
- designating one or more of the nodes in the communications network as trusted nodes, comprising determining a node has sufficient computing resources for validating the block, comprising, in a bandwidth-limited environment, using a link sensing mechanism to determine sufficient bandwidth is available at a node for transmission of information,
- executing a consensus algorithm by at least a majority of the trusted nodes in the communications network, and
- generating a hash of the block;
- comprising:
- generating a hash of the block,
- comparing the hash to a target value,
- generating a block valid vote when the hash meets the target value and a block invalid vote when the hash does not meet the target value,
- accumulating block valid votes and block invalid votes from the trusted nodes, and
- designate the block valid when at least a majority of votes are block valid votes;
- linking the block to a predecessor block in the distributed ledger, comprising verifying the hash of the block is lower than a hash of a top block in the distributed ledger;
- and
- replicating the distributed ledger across the communications network, comprising multicasting the block to each node in the communications network.
Dependencies are inferred from the claim text.