GB2571927A - Resource management system and method of operation thereof - Google Patents

Resource management system and method of operation thereof Download PDF

Info

Publication number
GB2571927A
GB2571927A GB1803739.0A GB201803739A GB2571927A GB 2571927 A GB2571927 A GB 2571927A GB 201803739 A GB201803739 A GB 201803739A GB 2571927 A GB2571927 A GB 2571927A
Authority
GB
United Kingdom
Prior art keywords
management system
new entry
resource management
data processing
transactions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB1803739.0A
Other versions
GB201803739D0 (en
Inventor
Rønnow Troels
Ward Jonathan
William Simpson Toby
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uvue Ltd
Original Assignee
Uvue Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uvue Ltd filed Critical Uvue Ltd
Priority to GB1803739.0A priority Critical patent/GB2571927A/en
Publication of GB201803739D0 publication Critical patent/GB201803739D0/en
Priority to PCT/EP2019/055850 priority patent/WO2019170861A1/en
Priority to US16/978,844 priority patent/US12002045B2/en
Publication of GB2571927A publication Critical patent/GB2571927A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that: the one or more records are maintained in one or more corresponding chains 402, wherein each entry defines one or more corresponding transactions; when at least one new entry is to be made to a given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes 404; the system includes a filter arrangement for limiting communication regarding the at least one new entry to a subset of nodes 406; and the system records the at least one new entry when verified to its corresponding given chain 408.

Description

(57) A resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that: the one or more records are maintained in one or more corresponding chains 402, wherein each entry defines one or more corresponding transactions; when at least one new entry is to be made to a given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes 404; the system includes a filter arrangement for limiting communication regarding the at least one new entry to a subset of nodes 406; and the system records the at least one new entry when verified to its corresponding given chain 408.
400 z
FIG. 4 ί/4
FIG. 1
2/4
200 z
LIST OF PREVIOUS RECORDS
202
TRANSACTION HASH
204
RECORD HASH
206
PROOF
208
FIG. 2
3/4
300 z
P2P CONNECTION
302
RESOLUTION ARRANGEMENT 304
FORK MANAGEMENT
306
STORAGE
308
CHAIN
310
FILTER ARRANGEMENT
312
CLIENT LAYER
314
FIG. 3
4/4
400 z
FIG. 4
RESOURCE MANAGEMENT SYSTEM AND METHOD OF OPERATION THEREOF
TECHNICAL FIELD
The present disclosure relates generally to managing information related to exchange of assets. Furthermore, the present disclosure also relates to methods and systems for secure transactions and management of resources and records related thereto.
BACKGROUND
Recently, the activity in the field of cryptocurrencies, including its use in trading of traditional assets, has increased exponentially. Additionally, the increased exchange of such assets has led to a rush in transactions related to the exchanged assets. The amount of transaction logs and records related thereto needs to be validated and maintained in some form.
Furthermore, existing systems for managing transactions of resources comprise one or more assets to be transacted, related records and processing nodes that initiate, validate and perform such transactions. Specifically, the existing systems maintain records associated with a transaction at each of the processing nodes connected to network thereof. Additionally, each of the records includes information associated with transactions relating to each of the assets and owners thereof. Furthermore, at an instance of a transaction between two or more processing nodes, records related therewith needs to be verified and validated by each of the processing nodes connected to the network. Such verification and validation establishes authentication of the associated transaction. Furthermore, the records related with the transaction needs to be updated at each of the processing nodes connected with the network. Additionally, the existing systems for managing transactions of resources face several drawbacks associated with functioning and performance thereof.
At an instance of a transaction, the existing systems, requires updating records with each of the processing nodes that may require a lot of processing and time complexity. Moreover, in many cases such updating of records with each of the processing nodes may not be necessary. Furthermore, validating the information associated with the records associated with transactions may also require processing and time complexity. Additionally, such validation of the information may cause validation conflicts because of outdated information stored in one or more records. Moreover, the existing systems for managing transactions of resources may be time intensive. Furthermore, the existing systems may be unable to accommodate an unexpected increase in transactions and may not optimally execute the transactions. Moreover, the system may also face difficulty in executing the transactions in parallel as it may lack scalability and simultaneous requirement of validating and updating the associated records.
Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned drawbacks associated with the systems of managing resources and transactions thereof.
SUMMARY
The present disclosure seeks to provide a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources.
The present disclosure also seeks to provide a method of operating a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources.
In one aspect, an embodiment of the present disclosure provides a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that:
(i) the one or more records are maintained in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
(iii) the resource management system records the at least one new entry when verified to its corresponding given chain; and (iv) the resource management system includes a filter arrangement for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry.
The present disclosure seeks to provide a solution to the existing problem of requirement of high processing and time complexity for performing one or more transactions and validating one or more records related thereto. Furthermore, the present disclosure also seeks to provide a solution to resolve conflicting validations of information associated with the one or more transactions.
Optionally, in the system, the filter arrangement is configured to preselect the subset of the one or more data processing nodes depending upon at least one of:
(i) information relating to a plurality of earlier entries recorded in the given chain to which the at least new entry to be verified is to be recorded;
(ii) a group of resources that are mutually related for which the at least one new entry to be verified;
(Hi) a group of transactions that are mutually related for which the at least one new entry to be validated;
(iv) information relating to parties associated with one or more transactions associated with the at least one new entry to be verified;
(v) a group of chains that are mutually related, and that are related to the at least one new entry to be verified;
(vi) a manner in which one or more chains have been previously split into one or more daughter chains onto which the at least one new entry is to be recorded;
(vii) information relating to proof-of-work, proof-of-stake, election of the at least new entry to be verified relating to one or more resources associated with the at least one new entry to be verified;
(viii) management of responsibility across the one or more data processing nodes when data is distributed across one or more chains associated with the at least one new entry to be verified; and (ix) a grouping of resources that are frequently traded with one and another.
Optionally, in the system, the filter arrangement is configured to preselect the subset of the one or more data processing nodes for balancing data processing and/or data communication load associated with the one or more chains within the resource management system.
Optionally, the resource management system includes a resolution arrangement for resolving conflicting validations for the at least one new entry to be recorded against one or more chains.
Optionally, in the system, the resolution arrangement is controlled based upon a consensus from a plurality of proofs provided in response to the conflicting validation arising within the resource management system.
Optionally, in the system, the resolution arrangement is operable to function across a plurality of chains.
Optionally, in the system, the at least one new entry concerns a plurality of new entries to be recorded simultaneously, wherein the resource management system is operable to process the plurality of new entries in parallel.
Optionally, the resource management system is configured to function as a resource ledger.
Optionally, in the system, the data communication network is implemented as a distributed peer-to-peer (P2P) network of interconnected data processing nodes.
In another aspect, an embodiment of the present disclosure provides a method of operating a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that the method includes:
(i) maintaining the one or more records in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, communicating information concerning the at least one new entry to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
(iii) using the resource management system to record the at least one new entry when verified to its corresponding given chain; and (iv) using a filter arrangement of the resource management system includes for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry.
Optionally, the method includes configuring the filter arrangement to preselect the subset of the one or more data processing nodes depending upon at least one of:
(i) information relating to a plurality of earlier entries recorded in the given chain to which the at least new entry to be verified is to be recorded;
(ii) a group of resources that are mutually related for which the at least one new entry to be verified;
(iii) a group of transactions that are mutually related for which the at least one new entry to be verified;
(iv) information relating to parties associated with one or more transactions associated with the at least one new entry to be verified;
(v) a group of chains that are mutually related, and that are related to the at least one new entry to be verified;
(vi) a manner in which one or more chains have been previously split into one or more daughter chains onto which the at least one new entry is to be recorded;
(vii) information relating to proof-of-work, proof-of-stake, election of the at least new entry to be verified relating to one or more resources associated with the at least one new entry to be verified;
(viii) management of responsibility across the one or more data processing nodes when data is distributed across one or more chains associated with the at least one new entry to be verified; and (ix) a grouping of resources that are frequently traded with one and another.
Optionally, the method includes configuring the filter arrangement to preselect the subset of the one or more data processing nodes for balancing data processing and/or data communication load associated with the one or more chains within the resource management system.
Optionally, the method includes using a resolution arrangement of the resource management system for resolving conflicting validations for the at least one new entry to be recorded against one or more chains.
Optionally, the method includes controlling the resolution arrangement based upon a consensus from a plurality of proofs provided in response to a conflicting validation arising within the resource management system.
Optionally, the method includes operating the resolution arrangement to function across a plurality of chains.
In yet another aspect, an embodiment of the present disclosure provides a computer program product comprising a non-transitory computerreadable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being executable by a computerized device comprising data processing hardware to execute a method of operating the resource management system.
The present disclosure provides a resource management system and a method of operating the resource management system. The described system provides an optimal way of performing transactions relating one or more resources. Furthermore, the described system also provides a way of efficiently updating and maintaining one or more records (namely, information) associated with the transactions. As a result, the available information associated with the transactions is up to date and unambiguous. Moreover, the present disclosure provides a faster and optimal approach for validating records associated with a new transaction by applying a limit on validators (namely, data processing nodes) thereof.
Consequently, the described system substantially reduces the processing and time required for validating and performing the transaction. Additionally, the system disclosed herein is scalable and able to accommodate increase in number of parallel transactions. Furthermore, the present disclosure substantially reduces malicious transactions and double-spending of resources. Moreover, the described method is computationally simple and easy to implement and requires less processing capability to be implemented.
Additional aspects, advantages, features and objects of the present disclosure would be made apparent from the drawings and the detailed description of the illustrative embodiments construed in conjunction with the appended claims that follow.
It will be appreciated that features of the present disclosure are susceptible to being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
The summary above, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present disclosure, exemplary constructions of the disclosure are shown in the drawings. However, the present disclosure is not limited to specific methods and instrumentalities disclosed herein. Moreover, those in the art will understand that the drawings are not to scale. Wherever possible, like elements have been indicated by identical numbers.
Embodiments of the present disclosure will now be described, by way of example only, with reference to the following diagrams wherein:
FIG. 1 is a schematic illustration of a resource management system configured to maintain one or more records relating to one or more transactions associated with one or more resources in accordance with an embodiment of the present disclosure;
FIG. 2 is a block diagram of one or more records relating to one or more transactions associated with one or more resources in accordance with an embodiment of the present disclosure;
FIG. 3 is a block diagram of an exemplary implementation of one or more data processing nodes in accordance with an embodiment of the present disclosure; and
FIG. 4 is an illustration of steps of a method of operating the resource management system in accordance with an embodiment of the present disclosure.
In the accompanying drawings, an underlined number is employed to represent an item over which the underlined number is positioned or an item to which the underlined number is adjacent. A non-underlined number relates to an item identified by a line linking the non-underlined number to the item. When a number is non-underlined and accompanied by an associated arrow, the non-underlined number is used to identify a general item at which the arrow is pointing.
DETAILED DESCRIPTION OF EMBODIMENTS
The following detailed description illustrates embodiments of the present disclosure and ways in which they can be implemented. Although some modes of carrying out the present disclosure have been disclosed, those skilled in the art would recognize that other embodiments for carrying out or practicing the present disclosure are also possible.
In one aspect, a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that:
(i) the one or more records are maintained in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
(iii) the resource management system records the at least one new entry when verified to its corresponding given chain; and (iv) the resource management system includes a filter arrangement for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry.
In another aspect, a method of operating a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that the method includes:
(i) maintaining the one or more records in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, communicating information concerning the at least one new entry to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
(iii) using the resource management system to record the at least one new entry when verified to its corresponding given chain; and (iv) using a filter arrangement of the resource management system includes for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry.
In yet another aspect a computer program product comprising a nontransitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions being executable by a computerized device comprising data processing hardware to execute a method of operating a resource management system.
Throughout the present disclosure, the term resources refers to one or more digital assets that work as a medium of exchange during a transaction. Furthermore, the resources have a value associated therewith, such that, the resources can be exchanged in part (such as, for a partial value) or in full (such as, for a full value) during a transaction. Moreover, the resources may be transferred from one entity (such as an owner thereof) to another during transactions associated therewith.
Throughout the present disclosure, the term transactions refers to exchange of services, information and so forth between two or more entities. Such a transaction may involve remuneration of the one or more resources by one entity, for services offered by another entity. Furthermore, the entities of the one or more resources may be parties (such as owners) that hold control of the resources in the resource management system. Furthermore, one or more transactions have one or more records related thereto. Specifically, the records may be data, facts, logs and other details associated with the one or more transactions. For example, the records can contain information associated with one or more resources utilized during the transactions. Moreover, the records may be maintained in a list, a stack, a double-ended-queue, Merkle tree, a binary tree or any other data structure suitable for storing the records. Specifically, each record in the data structure is associated to any one of the one or more transactions.
Throughout the present disclosure, the term resource management system refers to a system for maintaining one or more records related to one or more transactions associated with one or more resources. The resource management system updates and manages the records related to the transactions associated with the resources in a way to reduce processing-complexity and time-requirement for performing a new transaction (such as, for validating a successful transaction, as explained in detail herein later). Specifically, the resource management system reduces processing-complexity of updating records related to the new transaction and the resources associated therewith.
Furthermore, the resource management system is implemented as a distributed data processing system. The term distributed data processing system refers to an arrangement wherein one or more data processing nodes (such as a processor, server and so forth) are spatially-separated from one another (such as, located at different locations). Furthermore, the distributed data processing system shares data processing capabilities of each of the spatially-separated data processing nodes. Moreover, the data processing nodes are capable of initiating and performing transactions associated with one or more resources and subsequently, updating one or more records related to the transactions. Additionally, the data processing nodes are capable of validating the transactions and the records related therewith.
Optionally, the data processing nodes are coupled with each other via a data communication network. In such an instance, each of the data processing nodes is capable of communicating with other data processing nodes via the data communication network, in order to perform the transactions and maintain the records associated therewith. Such a data communication network relates to an arrangement of interconnected, programmable and/or non-programmable components that are configured to facilitate data communication between one or more electronic devices and/or databases, whether available or known at the time of filing or as later developed. Furthermore, the data communication network may include, but is not limited to, a peer-to-peer (P2P) network, a hybrid peer-to-peer network, local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of a public network such as the global computer network known as the Internet, a private network, a cellular network and any other communication system or systems located at one or more locations. Additionally, the data communication network employs wired or wireless communication that can be carried out via any number of known protocols, including, but not limited to, Internet Protocol (IP), Wireless Access Protocol (WAP), Frame Relay, or Asynchronous Transfer Mode (ATM). Moreover, any other suitable protocols using voice, video, data, or combinations thereof, can also be employed. Moreover, although the system is frequently described herein as being implemented with TCP/IP communication protocols, the system may also be implemented using IPX, Appletalk, IP-6, NetBIOS, OSI, any tunneling protocol (e.g. IPsec, SSH), or any number of existing or future protocols.
In an embodiment, the data communication network is implemented as a distributed peer-to-peer (P2P) network of interconnected data processing nodes. Specifically, the distributed peer-to-peer network may be capable of performing transactions directly between entities (such as owners) corresponding to the one or more resources.
Optionally, the one or more data processing nodes may be implemented in a layered architecture. Such a layered architecture of the data processing nodes may include a P2P connectivity layer, a resolution layer, a fork management layer, a storage layer, a chain layer, a filter arrangement, and a client layer. The P2P connectivity layer enables management of connections of a data processing node with other data processing nodes. The resolution layer enables to resolve conflicts associated with various transactions within the resource management system (explained in detail herein later). Moreover, the fork management layer enables to resolve conflicting suggestions associated with state of the resource management system. The storage layer includes one or more storage components. Such storage components keep a record of an absolute state of the resource management system. Furthermore, the chain layer enables tracking of changes in the absolute state of the resource management system, in response to the transactions being performed. The filter arrangement enables evaluation of the transactions being performed (explained in detail herein later). The client layer may be responsible for providing an interface for wallets and/or programs to interact with the resource management system. In an embodiment of the invention, a multitude of the components, described above, exist within a data processing node with various degrees of connectivity to other data processing nodes.
Optionally, the P2P connectivity layer and the client layer are identical, to enable connection between external clients and the service provider. Optionally, the resource management system is configured to function as a resource ledger. For example, the resource management system is implemented as a distributed ledger. Such a distributed ledger can exist as a plurality of copies thereof on various computing devices that may be arranged at different geographical locations. Furthermore, the plurality of copies of the distributed ledger can communicate with each other, such as, to converge on a single consensus (such as the absolute state of the resource management system) without a centralized authority to supervise the communication. Such a resource ledger may be implemented using a public and non-permissioned ledger. However, it will be appreciated that the resource ledger can be implemented with any other architecture and access rights thereof, such as, a private and permissioned ledger.
Furthermore, the resource ledger comprises one or more chains (referred to as transaction chains or transaction lanes throughout the present disclosure). The term chains as used herein, refer to a group of the one or more records relating to one or more transactions associated with one or more resources. Each chain includes a temporally-defined sequence of verified entries (such as records), wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources. Furthermore, each record associated with each transaction maintained in the chain, contains information about the one or more resources associated with the transaction. For example, the information about the one or more resources may be explicitly recorded in the corresponding records, implicitly recorded in the corresponding records and/or may be included in a contract associated with each of the transactions. Optionally, such contract may be a smart contract.
Furthermore, each chain can be split into two or more further chains (referred to as daughter chains throughout the present disclosure), in order to scale the resource management system to accommodate one or more additional transactions. Moreover, splitting of the chain increases a transaction capacity of the resource management system with respect to time, such that with passage of time, more transactions can be accommodated by the resource management system. Such an increase in the transaction capacity of the resource management system increases parallelism and/or modularity of the transactions associated with the resources.
Optionally, the entries related to the one or more resources are verified in order to authenticate and validate information related to the one or more transaction associated with the one or more resources. In an example, entries may be verified by transaction validators, who may be accredited and trusted to validate one or more transactions. In another example, the one or more entries may be verified by a consensus mechanism involving communication between the one or more processing nodes. Additionally, the one or more records relating to one or more transactions include data associated with the one or more resources and previous transactions related thereto. Furthermore, each of the one or more resources is related to a resource identifier (namely, a byte array) representing a number, a string, or any other data that may be represented by bytes. The resource identifier contains specific information, such as the resource name, address of the resource, resource chunk, and so forth. Furthermore, the one or more resources are grouped into chains and within each of the chains, the one or more resources are defined in sequences based on a time of transaction associated therewith. Additionally, the one or more transactions associated to a temporally-defined sequence comprise parallel transactions.
Furthermore, each of the one or more records maintained in a chain are associated to the one or more transactions. Specifically, the one or more records maintained in a chain relates to an entry associated with one or more transactions. Moreover, at an instance when a new transaction is required to be performed, an entry relating to the one or more records associated to the new transaction is made to the given chain. Additionally, such an entry relating to the one or more records requires to be validated for authenticity thereof in order to prevent double-spending (namely, spending of a same resource twice).
Additionally, information about the one or more resources associated with the one or more transactions may be explicitly or implicitly recorded in the corresponding one or more records and/or may be implicit or explicit in a smart contract associated with the one or more transactions. Additionally, the one or more transactions may be associated with a plurality of one or more resources. Optionally, each record related to a transaction may refer to a number of previous transactions corresponding to the transaction (as explained in detail herein later).
As mentioned previously the one or more records are maintained in one or more corresponding chains. Notably, each chain includes a temporallydefined sequence of verified entries. Additionally, each entry defines one or more corresponding transactions relating to one or more corresponding resources. Furthermore, chains refer to a group of the one or more resources relating to one or more transactions associated with one or more records thereof. Specifically, the entries related to the one or more resources are verified in order to authenticate and validate related the one or more transaction associated with the one or more resources. In an example, entries may be verified by transaction validators, who may be accredited and trusted to validate one or more transactions. Additionally, the one or more records relating to one or more transactions include data associated to the one or more resources and previous transactions related thereto. Furthermore, each of the one or more resources is related to a resource identifier (namely, a byte array) representing a number, a string, or any other data that may be represented by bytes. The resource identifier contains specific information such as the resource name, address of the resource, resource chunk etc. Furthermore, the one or more resources are grouped into chains and within each of the chains the one or more resources are defined in sequences based on a time of transaction associated thereto. Additionally, the one or more transactions associated to one temporally-defined sequence are parallel transactions. Furthermore, each of the one or more records maintained in a chain are associated to the one or more transactions. Specifically, the one or more records maintained in a chain relates to an entry related to the one or more transactions associated thereto. Moreover, at an instance when a new transaction is required to be performed, an entry relating to the one or more records associated to the new transaction is made to the given chain. Additionally, such entry relating to the one or more records requires to be validated for authenticity thereof in order to prevent double-spending (namely, spending same resource twice).
Optionally, the one or more records associated with the one or more transactions may include information such as, a list of transaction resources, a transaction body, a transaction hash and a transaction signature.
Furthermore, when at least one new entry is to be made to the given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes of the resource management system, for verifying whether or not the at least one new entry is valid for recording to the given chain. The given chain for the at least one new entry relates to a transaction chain having groups of the one or more resources and the one or more records associated with the transaction related to the at least one new entry. Furthermore, the information concerning the at least one new entry is communicated to the one or more data processing nodes through the data communication network. The information concerning the at least one new entry includes transaction resources, transaction body, proof of work, proof of stake, voting, transaction identifier and so forth. Furthermore, the one or more data processing nodes analyze the information concerning the at least one new entry, for verifying the at least one new entry to be made to the given chain. Moreover, verifying the at least one new entry relates to validating the at least one new entry for establishing authentication and reliability thereof. Beneficially, verifying the at least one new entry prior to addition thereof to the given chain substantially reduces unauthenticated and forged transactions. Additionally, the at least one new entry is made to each of the chains related to the one or more resources associated with the transaction.
As mentioned previously, the resource management system includes the filter arrangement for limiting communication regarding the at least one new entry to be made only to the subset of the one or more data processing nodes of the resource management system, for verifying the at least one new entry, to reduce the amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry. Furthermore, the filter arrangement is operable to identify the subset of one or more data processing nodes from the one or more data processing nodes included in the distributed data processing system. The one or more data processing nodes included in the subset of the one or more data processing nodes have a capability of identifying and authenticating the one or more resources and the one or more records associated with the at least one new entry related to the one or more new transactions. Beneficially, preselection of the subset of the one or more data processing nodes of the resource management system, for verifying the at least one new entry reduces time and processing capacity required for verifying the new entry. Furthermore, such pre-selection of the subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry requires minimal data communication among the one or more data processing nodes included in the subset. In an example, more than one new entry may be verified simultaneously by pre-selecting more than one subset of the one or more processing nodes. It will be appreciated that verifying the at least one new entry is performed to determine a validity of the one or more transactions. Additionally, when the one or more transactions adheres to a predefined set of rules, (such as, it is formatted correctly, sufficient one or more resources are available for use in the one or more transactions and so forth) the one or more transactions are determined to be valid.
In an embodiment, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes for balancing data processing and/or data communication load associated with the one or more chains within the resource management system. Furthermore, the pre-selection of the subset of the one or more data processing nodes substantially eliminates requirement of verifying a new entry within each of the one or more chains. The pre-selected subset of the one or more data processing nodes verifies the new entry associated with the one or more resources, by communicating to chains having relevance and a direct or indirect association with the new entry. Furthermore, the one or more data processing nodes verify the new entry by authenticating the one or more records associated therewith, wherein the records are maintained in the one or more chains. Beneficially, verification of the new entry by the pre-selected subset of the one or more data processing nodes, substantially reduces the amount of data processing and data communication associated with the one or more new transactions.
Optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon information relating to a plurality of earlier entries recorded in the given chain to which the at least new entry to be verified is to be recorded. Furthermore, the one or more data processing nodes included in the pre-selected subsets for verifying the plurality of earlier entries recorded in the given chain, may be included in the subset of one or more data processing nodes for verifying the at least one new entry. Alternatively, the one or more data processing nodes related to the one or more transactions associated with the plurality of earlier entries recorded in the given chain, may be pre-selected as the subset of one or more data processing nodes for verifying the at least one new entry to be recorded to the given chain. In an example, the filter arrangement may access information, such as, a list of transaction resources, a transaction body, a transaction hash and a transaction signature, associated with the one or more records for verification thereof.
More optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon a group of resources that are mutually related, for which the at least one new entry is to be validated. Furthermore, the one or more data processing nodes associated with the one or more transactions relating to the group of mutually related resources may be pre-selected as the subset of one or more processing nodes. Specifically, the one or more processing nodes relating to the group of mutually related resources may be associated with one or more pre-selected subsets for verifying entries relating to the one or more transactions associated with the group of mutually related resources. Alternatively, the one or more processing nodes associated with the one or more transactions associated with the group of mutually related resources may be pre-selected as the subset of the one or more data processing nodes for verifying the at least one new entry.
Furthermore, optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon a group of transactions that are mutually related, for which the at least one new entry is to be validated. Furthermore, the subset of the one or more data processing nodes that are preselected for verifying entries associated with the group of mutually related transactions, may be pre-selected for verifying the at least one new entry related to the group of mutually related transactions. Additionally, the at least one new entry may be an operation related to a previous transaction or a new transaction related to the one or more resources associated with the group of mutually related transactions. Beneficially, the subset of the one or more processing nodes preselected for verifying entries associated with the group of mutually related transactions may have information associated with the group of mutually related transactions. Such information may be relevant in verifying the at least one new entry. Therefore, at such an instance the data processing and data communication for verifying the at least one new entry may get reduced substantially.
Optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon information relating to entities associated with one or more transactions associated with the at least one new entry to be validated. Furthermore, the subset of the one or more data processing nodes may be pre-selected based on information associated with earlier one or more transactions of the entities associated with one or more transactions associated with the at least one new entry to be validated. Additionally, the one or more data processing nodes that are pre-selected to verify entry of the earlier one or more transactions of the parties associated with one or more transactions associated with the at least one new entry to be validated, may be preselected as the subset of the one or more data processing nodes for verifying the new entry to the given chain.
More optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon a group of chains that are mutually related, and that are related to the at least one new entry to be validated. Furthermore, the group of chains that are mutually related may have common one or more resources. The one or more resources and the one or more records associated thereto used in the one or more transactions, may be associated to the group of chains that are mutually related. Furthermore, the subset of the data processing nodes used to verify corresponding entries of such one or more transactions and/or the data processing nodes used to perform the one or more transactions, may be associated to the group of chains that are mutually related. Subsequently, such one or more data processing nodes may be pre-selected as the subset of one or more data processing nodes, for verifying the at least one new entry to the given chain for which the at least one new entry is to be validated. Specifically, the given chain may belong to the group of chains that are mutually related. Alternatively, the given chain may have a direct or indirect association with the group of chains that are mutually related.
Furthermore, optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon a manner in which one or more chains have been previously split into one or more daughter chains onto which the at least one new entry is to be recorded. Specifically, the one or more daughter chains may be transaction chains formed by dividing the one or more existing chains into one or more chains. Additionally, the daughter chains may be formed in such a way that the one or more resources associated with the one or more existing chain may get divided therebetween. Moreover, the division of that the one or more resources, associated with the one or more existing chain, among daughter chains thereof may determine the manner in which the one or more chains have been split. In an example, at an instance when one or more chain is split into two daughter chains and first 50% one or more resources may be maintained in first daughter chain and remaining 50% one or more resources may be maintained in second daughter chain. At such an instance, one or more data processing nodes associated with the one or more transactions relating to the one or more resources maintained in the first daughter chain may be preselected as subset of one or more data processing nodes for verifying a new entry to given chain. Alternatively, first 50% of the one or more data processing nodes associated with the one or more resources in any of the daughter chains may be preselected as the subset of the one or more data processing nodes for verifying a new entry to given chain. Additionally, alternatively, first 50% of the one or more data processing nodes associated with the one or more resources in the one or more chains may be preselected as the subset of the one or more data processing nodes for verifying a new entry to given chain. It is to be understood that any other manner for splitting the one or more resources maintained in the one or more chains may also be used to pre-select the subset of the one or more data processing nodes for verifying the at least one new entry to the given chain.
Optionally, scalability of the resource management system can be expanded by introducing more chains. Furthermore, the resource management system may be scaled by splitting the chains into daughter chains. Additionally, the daughter chains may refer back to previous chains. In an embodiment, the splitting is done in multiples of two, but in other embodiments, any splitting factor may be used. In an example, hash values of identifiers associated with previous one or more transactions associated with previous chains, may be used by daughter chains in order to refer back to previous chains.
Optionally, splitting of chains into daughter chains may be performed by using hash functions such as SHA256 or the like, as these hash functions take any set of strings and map them into a set of uniformly distributed numbers. In an example, the splitting of chains may be performed using a hash function H and applying the hash function H to every resource identifier to obtain a resource location. Furthermore, if the hash function generates random distribution of hash value associated with the hash function H then, distribution of resource locations will be uniform and will provide a good mechanism for splitting the chains and distributing the one or more resources across groups. Optionally, at an instance when the resource management system uses four chains, the first 2 bits of each of the resource locations may be used to determine a chain to which a transaction belongs. At another instance, when the resource management system has 8 groups, the first 3 bits may be used to determine the resource location. Furthermore, if the resource management system has N groups, the resource location may be determined using the first log2(N) bits. Beneficially, this may distribute resources through resource grouping to the respective chains. Additionally, the resource management system is very flexible and enables to expand the number of chains to a point where each of the one or more resources has own chains thereof, or collapse to the point where all transactions are contained in a single chain.
Optionally, grouping of resources into separate chains increases parallelism of the resource management system. Furthermore, the resources may be randomly allocated to each chain using a hash function approach described above. Additionally, optionally, the one or more resources may remain permanently in the same chain, except after a splitting event when the one or more resources may be allocated to one of the daughter chains. Other embodiments could further exploit the resource management system's parallelism by grouping resources into chains, according to more specific criteria as the chains are created, or by dynamically re-grouping resources into different chains throughout a lifetime thereof. Examples of such grouping criteria includes grouping together resources that transact more frequently with each other, grouping resources according to verifiable geographic locations or according to communication rates with a trusted external oracle. Other criteria for selectively grouping resources may include balancing absolute transaction number or the value of transactions between chains to increase their security and/or the transaction processing rates. The transaction load balancing could allow the one or more data processing nodes to maintain partial copies of the resource management system, which would decrease the cost of participating in the network and improve its decentralization.
Optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon information relating to proof-of-work, proof-of-stake, election of the at least new entry to be verified relating to one or more resources associated with the at least one new entry to be validated. Furthermore, proof-of-work refers to validating the one or more transactions and a particular data processing node asserting the correctness of the one or more transactions. Specifically, the proof-of-work may be a mathematical puzzle that may be needed to be solved in order to assert the validity of the one or more transactions. Beneficially, the proof-of-work is used to establish authentication of the one or more records associated with the transactions and a consensus between data processing nodes related to the one or more transactions. Subsequently, the one or more data processing nodes having a proof-of-work may be pre-selected as the subset of one or more data processing nodes for verifying the at least one new entry to the given chain. Moreover, proof-of-stake refers to an alternative way that aims to verify and validate the one or more transactions. Specifically, a validator holds a stake in the one or more resources and provides proof relating to amount of the stake. The validator having a higher stake, age of the stake combined with various other factors, gets a higher chance of validating the one or more transactions. Additionally, the validator may be associated with the one or more data processing nodes. Subsequently, the one or more data processing nodes having a proof-of-stake may be pre-selected as the subset of one or more data processing nodes for verifying the at least one new entry to the given chain. Furthermore, the one or more data processing nodes may also establish validity of the at least one new entry associated with the one or more transactions, by voting in favor thereof. Additionally, such one or more data processing nodes that are capable of voting, may be pre-selected as the subset of the one or more data processing nodes for verifying the at least one new entry.
Furthermore, optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon management of responsibility across the one or more data processing nodes when data is distributed across one or more chains associated with the at least one new entry to be verified. Specifically, the management of responsibility of refers to distribution of responsibility, to maintain the one or more records and the related one or more resources associated with the one or more transactions among the one or more data processing nodes. In an example, the one or more data processing nodes having responsibility of maintaining one or more records and related to the one or more resources in the given chain may be pre-selected as subset of one or more data processing nodes for verifying the at least one new entry to the given chain.
Optionally, the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon a grouping of resources that are frequently traded with one and another. Furthermore, the grouping of resources that are frequently transacted may have one or more data processing nodes associated thereto. Such one or more data processing nodes may already have retrieved information related to the group of resources. At an instance when at least one new entry having an association with any of the one or more resources in the group of resources has to be verified, the one or more data processing nodes having retrieved information related to the group of resources may be pre-selected as the subset of the one or more data processing nodes for verifying the at least one new entry.
More optionally, the resource management system includes a resolution arrangement for resolving conflicting validations for the at least one new entry to be recorded against one or more chains. Furthermore, a conflicting validation may arise when one or more data processing nodes have different one or more records associated with a specific resource. Moreover, a conflicting validation may arise when a plurality of the one or more data processing nodes attempts to perform read as well as write operations simultaneously on a specific record associated with the one or more transactions. It is to be understood that there may be other instances for occurrence of conflicting validations. Subsequently, the resolution management may be operable to resolve the conflicting validations for the at least one new entry based on a plurality of proofs associated therewith.
Furthermore optionally, the resolution arrangement is controlled based upon a consensus from a plurality of proofs provided in response to the conflicting validation arising within the resource management system. Specifically, the resolution arrangement may work by computing total amount of the one or more transactions (in the case of proof-of-work) that has been added to the records across each of the chains. Subsequently, the version of the one or more records with the most transactions associated therewith becomes the globally agreed consensus. Specifically, consensus refers to a general agreement to be employed for verifying the one or more entries relating to the one or more resources associated with the one or more transactions. Additionally, the resolution arrangement may further employ voting, proof-of-stake, proof-of-elapsed time or any other consensus mechanism that is suitable for performing conflict resolution.
Optionally, the resolution arrangement may choose individual chains that have the most transactions associated therewith. At an instance when there is a very low probability of two transactions affecting a specific the same one or more transaction, choosing individual chains that have most transactions associated therewith may be a preferred solution to resolve conflicting validations.
More optionally, the resolution arrangement is operable to function across a plurality of chains. The resolution arrangement may perform conflict resolution by validating a new entry when the conflict arises between two or more records maintained in the plurality of chains. The resolution arrangement may analyze consensus for verifying the one or more entries relating to the one or more resources associated with the one or more transactions, having an association with the plurality of chains.
As mentioned previously, the resource management system records the at least one new entry when verified to its corresponding given chain.
Furthermore, the one or more records associated with the at least one new entry may be maintained in the given chain. Additionally, the one or more records associated with the at least one new entry may be updated. Furthermore, recording the at least one new entry in its corresponding given chain indicates success of the one or more transactions associated therewith.
Optionally, the at least one new entry concerns a plurality of new entries to be recorded simultaneously, wherein the resource management system is operable to process the plurality of new entries in parallel. Furthermore, the at least one new entry may use the one or more records maintained in one or more chains. Consequently, recording the at least one new entry may require recording the plurality of new entries to be recorded simultaneously in one or more chains. Beneficially, such recording of the plurality of new entries may enable the resource management system to maintain the one or more records in the chains in a non-redundant and updated state.
In an example, the resource management system is associated with are N chains, Q data processing nodes, P clients and M filter arrangements. This allows evaluation of M transactions in parallel, coming from P clients and Q nodes in such a way that N chains are used. The transactions themselves are then communicated to Q nodes. Additionally, N, Μ, P and Q are all parameters that the one or more data processing nodes may optimize, to achieve highest possible performance. Some parameters, in particular, N may be determined in consensus with other nodes on the network and remaining parameters may be determined by the external conditions that the one or more processing nodes are exposed to. Additionally, the filter arrangement determines, to which chains the one or more transaction belongs to and ensures that the one or more transactions are added to the system in parallel. Additionally, optionally, the filter arrangement and chain layer may have a locking mechanism that locks the one or more resources to avoid conflicting transactions being added at the same point in time. This may result in formation of a number of transaction blocks, one for each chain. Once the transaction blocks have been formed, a proof is then found by either an internal or external module. The block may be submitted to the one or more data processing nodes through the P2P layer, and in some embodiments, it may also be possible to submit blocks through the client layer. It is important to understand that M and N are variable parameters that will change throughout the resource management system's lifetime. The parameter N is typically agreed upon by consensus with the other nodes (Q), where M is a parameter that is selected by the data processing node to accommodate the P clients connecting thereto.
Optionally, the resource management system is resistant to faulty and malicious transactions in the network. The resource management system employs cryptographic techniques such as R.SA (Rivest-Shamir-Adleman) public key cryptosystems, ECDSA (Elliptic Curve Digital Signature Algorithm), public-private key cryptography, digital signatures, postquantum signatures (such as lattice based signatures, code based signatures, Merkle signatures and so forth), hash functions such as SHA256 or SHA-3 and hierarchical hash based schemes such as extendible hashing which treats a hash as a bit string, and uses a trie (namely, a digital tree) for bucket lookup. Furthermore, malicious data process nodes sending invalid (namely, spam) transactions may be identified by resolution arrangement of receiving data processing nodes. Additionally, the receiving data processing nodes may be operable to drop connections with such malicious data processing nodes.
Furthermore, optionally, transactions between chains may provide an ordering of transactions with respect to transactions in other chains and increase the difficulty of carrying out double-spending attacks.
The present description also relates to the method as described above. The various embodiments and variants disclosed above apply mutatis mutandis to the method.
Optionally, the method of operating the resource management system includes configuring the filter arrangement to pre-select the subset of the one or more data processing nodes depending upon at least one of:
(i) information relating to a plurality of earlier entries recorded in the given chain to which the at least new entry to be verified is to be recorded;
(ii) a group of resources that are mutually related for which the at least one new entry to be verified;
(iii) a group of transactions that are mutually related for which the at least one new entry to be verified;
(iv) information relating to parties associated with one or more transactions associated with the at least one new entry to be verified;
(v) a group of chains that are mutually related, and that are related to the at least one new entry to be verified;
(vi) a manner in which one or more chains have been previously split into one or more daughter chains onto which the at least one new entry is to be recorded;
(vii) information relating to proof-of-work, proof-of-stake, election of the at least new entry to be verified relating to one or more resources associated with the at least one new entry to be verified;
(viii) management of responsibility across the one or more data processing nodes when data is distributed across one or more chains associated with the at least one new entry to be verified; and (ix) a grouping of resources that are frequently traded with one and another.
Optionally, the method includes configuring the filter arrangement to preselect the subset of the one or more data processing nodes for balancing data processing and/or data communication load associated with the one or more chains within the resource management system.
Optionally, the method includes using a resolution arrangement of the resource management system for resolving conflicting validations for the at least one new entry to be recorded against one or more chains.
Optionally, the method includes controlling the resolution arrangement based upon a consensus from a plurality of proofs provided in response to a conflicting validation arising within the resource management system.
Optionally, the method includes operating the resolution arrangement to function across a plurality of chains.
Optionally, the method including using the resource management system to process the at least one new entry when concerning a plurality of new entries to be recorded simultaneously, wherein the resource management system is operable to process the plurality of new entries in parallel.
Optionally, the method includes configuring the resource management system to function as a resource ledger.
Optionally, the method includes implementing the data communication network as a distributed peer-to-peer (P2P) network of interconnected data processing nodes.
DETAILED DESCRIPTION OF THE DRAWINGS
Referring to FIG. 1, illustrated is a schematic diagram of a resource management system 100 configured to maintain one or more records relating to one or more transactions associated with one or more resources in accordance with an embodiment of the present disclosure. The system 100 comprises one or more data processing nodes such as 102, 104, 106 and 108 and a data communication network 110. Specifically, the one or more data processing nodes 102, 104, 106 and 108 are mutually coupled via the data communication network 110. Furthermore, the data communication network 110 comprises one or more chains of one or more resources shown by horizontal bars such as horizontal bars 1. Furthermore, the one or more records relating to one or more transactions shown by vertical bars such as vertical bars 2 are maintained in one or more corresponding chains such as chains 1. Additionally, the resource management system 100 is implemented as a distributed data processing system.
Referring to FIG. 2, illustrated is a block diagram of one or more records 200 relating to one or more transactions associated with one or more resources in accordance with an embodiment of the present disclosure. The one or more records 200 comprises a list of previous records 202 that is a hash of previous one or more transaction identifiers having an association with the one or more transactions related to the one or more records. Furthermore, the one or more records 200 comprise a transaction hash 204 that functions as a transaction identifier for uniquely identifying the one or more transactions relating to the one or more records 200. Moreover, the one or more records 200 comprise a record hash 206 containing a single hash that is computed by applying a hash function to the one or more records 200. Additionally, the one or more records 200 comprises a proof 208 such as proof-of-work, proof-ofstake and so forth for proving legitimacy of the one or more transaction relation to the one or more records 200.
Referring to FIG. 3, illustrated is a block diagram of an exemplary implementation of one or more data processing nodes (as shown in FIG 1) in accordance with an embodiment of the present disclosure. The one or more data processing nodes (as shown in FIG 1) in the exemplary implementation have a layered architecture. Furthermore, the one or more data processing nodes comprises a P2P (peer-to-peer) connection 302 layer. Specifically, the P2P connection 302 layer is responsible for managing connection to other the one or more data processing nodes. Furthermore, resolution arrangement 304 is responsible for resolving validation conflicts. Moreover, fork management 306 resolves conflicting suggestions to resource management system state. Furthermore, storage 308 keeps a record of absolute state of the resource management system. Additionally, chain 310 is responsible for tracking transactions (namely, differentials) taking place in the resource management system. Specifically, chain 310 is one or more chains related to one or more records associated with one or more transactions. Furthermore, filter arrangement 312 is responsible for pre-selecting a subset of the one or more processors for validating at least one new entry relating to a transaction. Moreover, client layer 314 is responsible for providing an interface wallets, carts and/or programs that interact with the resource management system. Optionally, the P2P connection 302 layer and the client layer 314 may be identical. Furthermore, the one or more data processing nodes may have connections with plurality of one or more data processing nodes having a similar or dissimilar architecture. Additionally, the one or more data processing nodes are connected to one or more clients that need to perform a transaction with the resource management system.
Referring to FIG. 4, illustrated are steps of a method 400 of operating the resource management system 100 (as shown in FIG 1) in accordance with an embodiment of the present disclosure. At a step 402, one or more records relating to one or more transactions associated with one or more resources are maintained in one or more chains. At a step 404, information concerning the at least one new entry is communicated to the one or more data processing nodes (as shown in FIG 1) of the resource management system for validating whether or not the at least one new entry is valid for recording to the given chain. At a step 406, a filter arrangement of the resource management system used for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for validating the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry. Furthermore, at a step 408 the resource management system is used to record the at least one new entry when validated to its corresponding given chain.
Modifications to embodiments of the present disclosure described in the foregoing are possible without departing from the scope of the present disclosure as defined by the accompanying claims. Expressions such as including, comprising, incorporating, have, is used to describe and claim the present disclosure are intended to be construed in a nonexclusive manner, namely allowing for items, components or elements not explicitly described also to be present. Reference to the singular is also to be construed to relate to the plural.

Claims (10)

1. A resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that:
(i) the one or more records are maintained in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, information concerning the at least one new entry is communicated to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
(iii) the resource management system records the at least one new entry when verified to its corresponding given chain; and (iv) the resource management system includes a filter arrangement for limiting communication regarding the at least one new entry to be made only to a subset of the one or more data processing nodes of the resource management system for verifying the at least one new entry to reduce an amount of computing effort and data communication occurring within the resource management system required for processing the at least one new entry.
2. A resource management system of claim 1, characterised in that the filter arrangement is configured to pre-select the subset of the one or more data processing nodes depending upon at least one of:
(i) information relating to a plurality of earlier entries recorded in the given chain to which the at least new entry to be verified is to be recorded;
(ii) a group of resources that are mutually related for which the at least one new entry to be verified;
(iii) a group of transactions that are mutually related for which the at least one new entry to be validated;
(iv) information relating to parties associated with one or more transactions associated with the at least one new entry to be verified;
(v) a group of chains that are mutually related, and that are related to the at least one new entry to be verified;
(vi) a manner in which one or more chains have been previously split into one or more daughter chains onto which the at least one new entry is to be recorded;
(vii) information relating to proof-of-work, proof-of-stake, election of the at least new entry to be verified relating to one or more resources associated with the at least one new entry to be verified;
(viii) management of responsibility across the one or more data processing nodes when data is distributed across one or more chains associated with the at least one new entry to be verified; and (ix) a grouping of resources that are frequently traded with one and another.
3. A resource management system of claim 1 or 2, characterised in that the filter arrangement is configured to pre-select the subset of the one or more data processing nodes for balancing data processing and/or data communication load associated with the one or more chains within the resource management system.
4. A resource management system of claim 1 or 2, characterised in that the resource management system includes a resolution arrangement for resolving conflicting validations for the at least one new entry to be recorded against one or more chains.
5. A resource management system of claim 4, characterised in that the resolution arrangement is controlled based upon a consensus from a plurality of proofs provided in response to the conflicting validation arising within the resource management system.
6. A resource management system of claim 4 or 5, characterised in that the resolution arrangement is operable to function across a plurality of chains.
7. A resource management system of any one of the preceding claims, characterised in that the at least one new entry concerns a plurality of new entries to be recorded simultaneously, wherein the resource management system is operable to process the plurality of new entries in parallel.
8. A resource management system of any one of the preceding claims, characterised in that the resource management system is configured to function as a resource ledger.
9. A resource management system of any one of the preceding claims, characterised in that the data communication network is implemented as a distributed peer-to-peer (P2P) network of interconnected data processing nodes.
10. A method of operating a resource management system that is configured to maintain one or more records relating to one or more transactions associated with one or more resources, wherein the resource management system is implemented as a distributed data processing system including one or more data processing nodes that are mutually coupled via a data communication network, characterised in that the method includes:
(i) maintaining the one or more records in one or more corresponding chains, wherein each chain includes a temporallydefined sequence of verified entries, wherein each entry defines one or more corresponding transactions relating to one or more corresponding resources;
(ii) when at least one new entry is to be made to a given chain, communicating information concerning the at least one new entry to the one or more data processing nodes of the resource management system for verifying whether or not the at least one new entry is valid for recording to the given chain;
GB1803739.0A 2018-03-08 2018-03-08 Resource management system and method of operation thereof Withdrawn GB2571927A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB1803739.0A GB2571927A (en) 2018-03-08 2018-03-08 Resource management system and method of operation thereof
PCT/EP2019/055850 WO2019170861A1 (en) 2018-03-08 2019-03-08 Resource management system and method of operation thereof
US16/978,844 US12002045B2 (en) 2018-03-08 2019-03-08 Resource management system and method of operation thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1803739.0A GB2571927A (en) 2018-03-08 2018-03-08 Resource management system and method of operation thereof

Publications (2)

Publication Number Publication Date
GB201803739D0 GB201803739D0 (en) 2018-04-25
GB2571927A true GB2571927A (en) 2019-09-18

Family

ID=61972683

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1803739.0A Withdrawn GB2571927A (en) 2018-03-08 2018-03-08 Resource management system and method of operation thereof

Country Status (1)

Country Link
GB (1) GB2571927A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022161646A1 (en) * 2021-01-29 2022-08-04 NEC Laboratories Europe GmbH Method and system for scaling blockchains via secure chain division

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170243212A1 (en) * 2016-02-22 2017-08-24 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
WO2017182601A1 (en) * 2016-04-22 2017-10-26 Bundesdruckerei Gmbh Electronic method for the cryptographically secure transmission of a cryptocurrency amount
US20170344987A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permssioned blockchains using bloom filters and audit guarantees
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
CN107766540A (en) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing partitioned storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170243212A1 (en) * 2016-02-22 2017-08-24 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
WO2017182601A1 (en) * 2016-04-22 2017-10-26 Bundesdruckerei Gmbh Electronic method for the cryptographically secure transmission of a cryptocurrency amount
US20170344987A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permssioned blockchains using bloom filters and audit guarantees
KR20180014534A (en) * 2016-08-01 2018-02-09 서강대학교산학협력단 Verification system and method for transaction based block chain
CN107766540A (en) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing partitioned storage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bitcoin Wiki, 14/02/2018, "Full Node", [online], available from https://en.bitcoin.it/w/index.php?title=Full_node&oldid=64978 [Accessed 05/09/2018] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022161646A1 (en) * 2021-01-29 2022-08-04 NEC Laboratories Europe GmbH Method and system for scaling blockchains via secure chain division

Also Published As

Publication number Publication date
GB201803739D0 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
CN109472572B (en) Contract system based on block chain main chain and parallel multiple sub-chains
CN109493050B (en) Transfer method based on block chain main chain and parallel multiple sub-chains
EP3609125B1 (en) Blockchain-assisted hash-based data signature system and method
US11475150B2 (en) Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
EP4002181A1 (en) A consensus method and framework for a blockchain system
CN108200208B (en) Logistics block chain consensus algorithm based on cloud computing
CN109493052B (en) Cross-chain contract system based on main chain and parallel multiple sub-chains
Hassanzadeh-Nazarabadi et al. LightChain: Scalable DHT-based blockchain
EP3869376B1 (en) System and method for blockchain based decentralized storage with dynamic data operations
EP4029218A1 (en) Blockchain sharding with adjustable quorums
Sohrabi et al. ZyConChain: A scalable blockchain for general applications
CN110597922A (en) Data processing method, device, terminal and storage medium
KR20220140775A (en) distributed database
CN115664682A (en) Consensus method for sharing medical data based on alliance chain master-slave multi-chain
GB2587541A (en) A consensus method and framework for a blockchain system
GB2571927A (en) Resource management system and method of operation thereof
Hassanzadeh-Nazarabadi et al. A consensus protocol with deterministic finality
CN118176694A (en) Method and system for distributed blockchain functionality
Junxiang et al. Dynamic provable data possession with batch-update verifiability
CN115632791B (en) Dynamic cross-chain data consistency decentration verification method
Boshrooyeh et al. Integrita: Protecting View-Consistency in Online Social Network with Federated Servers
Fidelman A generic sharding scheme for blockchain protocols
CN118216122A (en) Method and system for distributed blockchain functionality
CN118215919A (en) Method and system for distributed blockchain functionality
CN118216121A (en) Method and system for distributed blockchain functionality

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)