CONSOLIDATED BLOCKCHAIN-BASED DATA TRANSFER CONTROL METHOD AND SYSTEM
The invention relates to blockchain technologies such as, for example, the Bitcoin blockchain. It provides a method (and corresponding system) of generating public keys for a linked structure of entities, wherein a function is applied to a deterministic key to generate the public key, the deterministic key being generated by applying a hash function to either a parent entity identifier to generate a parent deterministic key, or to a sum of the parent deterministic key and a child entity identifier to generate a child deterministic key. There is also provided a computer-implemented method for accounting on transactions with entities, the transaction being recorded in a peer-to-peer distributed ledger (blockchain), the method comprising: associating public addresses of the entities with one or more identifiers of a first classification type to classify the public addresses based on the first classification type; receiving, from a communication network, a first identifier of the one or more identifiers of the first classification type; determining a first set of public addresses associated with the first identifier, wherein the first set of public address is a subset of the public addresses; and determining a first set of transactions in the peer-to-peer distributed ledger based on the first set of public addresses associated with the first identifier, wherein the first set of transactions is a subset of the transactions.
1 . A computer-implemented method comprising:
associating public addresses of a plurality of entities with one or more identifiers of a first classification type to classify the public addresses based on the first classification type;
receiving, from a communication network, a first identifier of the one or more identifiers of the first classification type;
determining a first set of public addresses associated with the first identifier, wherein the first set of public address is a subset of the public addresses; and
identifying a first set of transactions in a blockchain based on the first set of public addresses associated with the first identifier.
2 . The computer-implemented method of claim 1 , further comprising:
receiving, from the communication network, a first data item associated with the first identifier; and
generating a first data output based on the first data item and the first set of transactions.
3 . The computer-implemented method of claim 2 , further comprising:
receiving, from a communication network, a second data item associated with a second identifier of the one or more identifiers of the first classification type;
determining a second set of public addresses associated with the second identifier, wherein the second set of public addresses is a subset of the public addresses;
determining a second set of transactions in the blockchain based on the second set of public addresses associated with the second identifier, wherein the second set of transactions is a subset of the transactions;
generating a second data output based on the second data item and the second set of transactions;
performing a first hash operation on the first data output to generate a first output hash representation for the first data output;
performing a second hash operation on the second data output to generate a second output hash representation for the second data output;
combining the first output hash representation and the second output hash representation; and
perform a third hash operation on the combined first output hash representation and second output hash representation to generate a third hash output representation for the combined first output hash representation and second output hash representation.
4 . The computer-implemented method of claim 3 , further comprising storing the third output hash representation in a storage device.
5 . The computer-implemented method of claim 3 , further comprising:
combining the first data output and the second data output; and
performing a hash operation on the combined first data output and second data output to generate a hash representation for the combined first data output and second data output.
6 . The computer-implemented method of claim 1 , further comprising:
associating the public addresses of the entities with one or more identifiers of a second classification type to classify the public addresses based on the second classification type;
receiving, from the communication network, a third identifier of one or more classification identifiers of the second classification type;
determining a third set of public addresses associated with the third identifier and the first identifier, wherein the third set of public addresses is a subset of the public addresses; and
determining a third set of transactions in the blockchain based on the third set of public addresses associated with the third identifier and the first identifier, wherein the third set of transactions is a subset of the transactions.
7 . The computer-implemented method of claim 1 , wherein the first classification type represents a classification of the public addresses by identity of the entities.
8 . The computer-implemented method of claim 1 , wherein the one or more identifiers of the first classification type includes one or more of the following:
names of the entities;
hexadecimal codes of the names;
Australian Business Numbers of the entities;
Network address; or
Australian Company Numbers of the entities.
9 . The computer-implemented method of claim 6 , wherein the second classification type represents a classification of the public addresses by account type of the entities.
10 . The computer-implemented method of claim 9 , and the one or more identifiers of the second classification type comprise any one or more of the following accounts:
credit account;
debit account;
accounts receivable;
accounts receivable;
salary account; and/or
interest account.
11 . The computer-implemented method of claim 1 , wherein associating the public addresses of the entities with the one or more identifiers of the first classification type comprises:
storing, in entries of a look-up table, the one or more identifiers of the first classification type in association with the public addresses of the entities, each entry of the look-up table including one of the one or more identifiers of the first classification type and one of the public addresses.
12 . The computer-implemented method of claim 1 , wherein associating the public addresses of the entities with the one or more identifiers of the first classification type comprises:
using a script to associate the one or more identifiers of the first classification type with the public addresses in the blockchain.
13 . The computer-implemented method of claim 1 , wherein the first classification type represents a classification of the public addresses by a tree structure that links the entities.
14 . The computer-implemented method of claim 13 , wherein the one or more identifiers of the first classification type comprise deterministic keys associated with the entities, wherein the deterministic keys are generated based on the tree structure.
15 . The computer-implemented method of claim 13 , wherein the entities include a parent entity and a child entity associated with the parent entity in the tree structure, wherein
the parent entity is associated with a first deterministic key of the deterministic keys, and the child entity is associated with a second deterministic key of the deterministic keys, and
the first deterministic key is determined based on a parent indication associated with the parent entity, and the second deterministic key is determined based on the first deterministic key and a child indication associated with the child entity.
16 . The computer-implemented method of claim 15 , further comprising:
receiving the parent indication from the communication network;
determining the first deterministic key based on the parent indication;
determining the second deterministic key based on the first deterministic key and the child indication;
determining a fourth set of public addresses associated with the second deterministic key, wherein the fourth set of public addresses is a subset of the public addresses;
determining a fourth set of transactions in the blockchain based on the fourth set of public addresses associated with the second deterministic key, wherein the fourth set of transactions is a subset of the transactions; and
generating a third data output based on the fourth set of transactions.
17 . The computer-implemented method of claim 16 , wherein determining the fourth set of public addresses further comprises determining the fourth set of public addresses based on the second deterministic key.
18 . The computer-implemented method of claim 1 , wherein the public addresses comprise public keys of asymmetric cryptography pairs, each of the asymmetric cryptography pairs including one of the public keys and a private key corresponding to the one of the public keys.
19 . The computer-implemented method of claim 1 , wherein the blockchain is generated in accordance with a Bitcoin protocol.
20 . The computer-implemented method of claim 19 , wherein the public addresses comprise Bitcoin addresses of the entities used in the Bitcoin protocol.
21 . A computer system comprising at least one processor configured to:
associate public addresses of a plurality of entities with one or more identifiers of a first classification type to classify the public addresses based on the first classification type;
receive, from a communication network, a first identifier of the one or more identifiers of the first classification type;
determine a first set of public addresses associated with the first identifier, wherein the first set of public addresses is a subset of the public addresses; and
determine a first set of transactions in a blockchain based on the first set of public addresses associated with the first identifier.
22 . A method of generating public keys for a linked or associated structure of entities, comprising the step of:
applying a function to a deterministic key to generate a public key, the deterministic key being generated by applying a hash function to either a parent entity identifier to generate a parent deterministic key, or to a sum of the parent deterministic key and a child entity identifier to generate a child deterministic key.
23 . A method according to claim 22 and further comprising the steps of any of claim 1 .