Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FAST RECORD ATTACHMENT TO A DIRECTED ACYCLIC GRAPH BASED DISTRIBUTED LEDGER SYSTEM
Document Type and Number:
WIPO Patent Application WO/2023/155992
Kind Code:
A1
Abstract:
This disclosure relates to a Distributed Ledger System (DLS) based on a directed acyclic graph (DAG). The DLS comprises distributed storage nodes maintaining a record history of the DLS. The disclosure provides a device and constrained node for supporting the DLS, for instance, for faster attachment of new records to the DLS. The device and node can each obtain at least part of an existing topology of the DAG. The device can estimate a probability distribution that an evolved topology of the DAG is reached from the existing topology, including a selection probability for at least one vertex of the DAG. The device can generate selection information indicating this selection probability, and can provide the selection information to the node. The node can use the selection probability indicated by the selection information to store at least one received record in the existing topology of the DAG.

Inventors:
XIAO XUN (DE)
GUO FENGYANG (DE)
HECKER ARTUR (DE)
Application Number:
PCT/EP2022/053971
Publication Date:
August 24, 2023
Filing Date:
February 17, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
XIAO XUN (DE)
International Classes:
H04L9/00; G06F16/901
Domestic Patent References:
WO2020178452A12020-09-10
Foreign References:
US20210335025A12021-10-28
Other References:
CULLEN ANDREW ET AL: "On the Resilience of DAG-Based Distributed Ledgers in IoT Applications", ARXIV.ORG, 10 November 2020 (2020-11-10), pages 1 - 11, XP055864711, Retrieved from the Internet
Attorney, Agent or Firm:
KREUZ, Georg M. (DE)
Download PDF:
Claims:
Claims

1. A device (200) for supporting a Distributed Ledger System, DLS, the DLS comprising a plurality of distributed storage nodes (300, 400) maintaining a record history of the DLS, the device (200) being configured to: obtain at least part of an existing topology of a directed acyclic graph, DAG (201), built on the record history of the DLS, wherein the existing topology of the DAG (201) comprises a plurality of vertices (202); estimate a probability distribution (TT*) that an evolved topology of the DAG (201) is reached from the existing topology of the DAG (201), wherein the evolved topology of the DAG (201) has one or more additional vertices (202) added to the existing topology of the DAG (201), wherein the one or more additional vertices (202) are indicative of one or more new records of the DLS, and wherein the estimated probability distribution (TT*) indicates, when performing a random walk process, a selection probability for at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201); and generate selection information (203) indicating the selection probability of the at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201).

2. The device (200) according to claim 1, wherein the selection probability of each vertex (202) is a probability that the vertex (202) will be selected for adding an additional vertex (202) to the existing topology of the DAG (201).

3. The device (200) according to claims 1 or 2, the device (200) comprising a storage configured to: store the at least part of the existing topology of the DAG (201); and/or store the selection information (203) in association to the at least part of the existing topology of the DAG (201).

4. The device (200) according to one of the claims 1 to 3, wherein each vertex (202) is related to a record (301) that is stored in the existing topology of the DAG (201), and wherein the device (200) is further configured to: receive one or more incoming records (301); and store at least one of the received records (301) in the existing topology of the DAG

(201) according to the selection probability of the at least one vertex (202) in the selection information (203).

5. The device (200) according to claim 4, wherein the at least one received record (301) contains a value transaction or a data payload, and storing the at least one received record (301) in the existing topology of the DAG (201) comprises: selecting, based on the selection information (203), a vertex (202) of the existing topology of the DAG (201); and adding the value transaction or the data payload of the at least one received record (301) as an additional vertex (202) to the selected vertex (202) of the existing topology of the DAG (201).

6. The device (200) according to one of the claims 1 to 5, wherein adding an additional vertex (202) to the existing topology of the DAG (201) comprises referring a pointer of the additional vertex (202) to a selected vertex (202) of the existing topology of the DAG (201).

7. The device (200) according to one of the claims 1 to 6, wherein each storage node (300, 400) from the plurality of distributed storage nodes (300, 400) of the DLS is configured to store at least part of the existing topology of the DAG (201), and wherein the device (200) is further configured to: provide the selection information (203) to at least one storage node (300, 400) of the DLS, in particular, to a constrained node (300) of the plurality of storage nodes of the DLS.

8. The device (200) according to one of the claims 1 to 7, further configured to: determine a vertex weight (v0) for each of the at least one vertex (202) which are connected directly or indirectly to the at least one vertex (202).

9. The device (200) according to claim 8, further configured to: determine, for each vertex (202) of the at least one vertex (202) that is directly connected to an adjacent vertex (202), a vertex transition probability (p01) from the vertex

(202) to the adjacent vertex (202) based on the vertex weight (v0) of the vertex (202) and based on a vertex weight (1 ) of the adjacent vertex (202).

10. The device (200) according to claim 9, further configured to: determine a transition probability matrix (P) for the existing topology of the DAG (201), based on one or more of: a topology information of the existing topology of the DAG (201); a genesis record stored in the existing topology of the DAG (201); the vertex transition probability (p01) °f each vertex (202) that is directly connected to an adjacent vertex (202).

11. The device (200) according to one of the claims 1 to 10, further configured to: estimate the probability distribution (TT*) of the evolved topology of the DAG (201) based on an initial topology ( TT0 ) of the DAG (201) and the determined transition probability matrix (P) of the existing topology of the DAG (201).

12. The device (200) according to one of the claims 1 to 11, further configured to: determine a change in topology of the existing topology of the DAG (201); and update the selection information (203) based on the change in topology of the existing topology of the DAG (201).

13. A constrained node (300) for supporting a Distributed Ledger System, DLS, the DLS comprising a plurality of distributed storage nodes (300, 400) maintaining a record history of the DLS, the constrained node (300) being configured to: obtain at least part of an existing topology of a directed acyclic graph, DAG (201), based on the record history of the DLS, wherein the existing topology of the DAG (201) comprises a plurality of vertices (202); receive selection information (203) from a device (200), the selection information (203) indicating a selection probability of at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201); receive one or more incoming records (301); and store at least one of the received records (301) in the existing topology of the DAG (201) according to the selection probability of the at least one vertex (202) in the selection information (203).

14. A method (1000) for supporting a Distributed Ledger System, DLS, the DLS comprising a plurality of distributed storage nodes (300, 400) maintaining a record history of the DLS, the method (1000) comprising: obtaining (1001) at least part of an existing topology of a directed acyclic graph, DAG, (201) based on the record history of the DLS, wherein the existing topology of the DAG (201) comprises a plurality of vertices (202); estimating (1002) a probability distribution (TT*) that an evolved topology of the DAG (201) is reached from the existing topology of the DAG (201), wherein the evolved topology of the DAG (201) has one or more additional vertices (202) added to the existing topology of the DAG (201), wherein the one or more additional vertices (202) are indicative of one or more new records (301) of the DLS, and wherein the estimated probability distribution (TT*) indicates, when performing a random walk process, a selection probability for at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201); and generating (1003) selection information (203) indicating the selection probability of the at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201).

15. A method (1100) for a constrained node (300) for supporting a Distributed Ledger System, DLS, the DLS comprising a plurality of distributed storage nodes (300, 400) maintaining a record history of the DLS, the method (1100) comprising: obtaining (1101) at least part of an existing topology of a directed acyclic graph, DAG, (201) based on the record history of the DLS, wherein the existing topology of the DAG (201) comprises a plurality of vertices (202); receiving (1102) selection information (203) from a device (200), the selection information (203) indicating a selection probability of at least one vertex (202) from the plurality of vertices (202) of the existing topology of the DAG (201); receiving (1103) one or more incoming records (301); and storing (1104) at least one of the received records (301) in the existing topology of the DAG (201) according to the selection probability of the at least one vertex (202) in the selection information (203).

16. A computer program product comprising instructions, which, when the program is executed by a computer, cause the computer to carry out the steps of the method (1000, 1100) of claim 14 or 15 to be performed.

Description:
FAST RECORD ATTACHMENT TO A DIRECTED ACYCLIC GRAPH BASED DISTRIBUTED LEDGER SYSTEM

TECHNICAL FIELD

The present disclosure relates to a Distributed Ledger System (DLS) based on a directed acyclic graph (DAG) structure. The DLS comprises distributed storage nodes that maintain a record history of the DLS. The disclosure provides a device and a constrained node for supporting the DLS, for instance, for a faster attachment of new records to the DLS.

BACKGROUND

With rapid developments, the Distributed Ledger Technology (DLT) is nowadays adopted by many areas, such as finance, insurance, and cross-domain cooperation in business domains. A DLS is a decentralized network system, which comprises distributed participating storage nodes that together maintain the ledger record history. In a DLS each node has conventionally a full copy of the whole ledger data, and any ledger update is appended only based on a distributed consensus mechanism. By doing so, a DLS is auditable and tamper-resistant. Therefore, the DLT is seen as a core enabling technology for building trustworthiness in a zero-trust environment.

There are two main kinds of data structures that are used to organize the ledger data on the nodes of a DLS. The first kind is a chain structure. In this case, when a new data block (consisting of one or multiple records) is generated, it is always attached to the rear of the longest chain of the chain structure. The second kind is the DAG structure, which was first observed in the IOTA network - the first DAG-based blockchain. When a new record (also referred to as message in this disclosure) is created, which could be either a value transaction or pure data payload, there are multiple candidate vertices available for record attachment to the DAG. In the DAG-based DLS, multiple records can be attached to different locations thanks to the multiple candidate vertices. As a result, the high efficiency of the DAG-based DLS yields more research and application interest. In a DAG-based DLS, a key step is to commit incoming new records into the local DAG ledger. Equivalently, the key step is to decide on the attachment points (i.e., the vertices) in the DAG. For example, the protocol of the IOTA network asks for attaching new records to the so-called ‘tips’ (tip vertices) of the DAG, which are vertices that have zero in-degree values. This decision-making process is difficult and time consuming, as it is not fully arbitrary without any rule. Instead, such tip vertex selection often associates to distributed consensus, wherein the most trustworthy vertices or branches are identified based on a complicated evaluation and judgment procedure.

The most common way is to construct a weighted DAG based on current ledger records. Usually, an edge weight is defined by a specific distributed protocol. The edge weight is modeled as a function of the properties (such as validness and opinions of participants) of its linked vertices (records) in the ledger. For example, whether or not the linked vertices conflict with other existing vertices, or how much confidence the vertex owns, or how many approvers (directly or indirectly) approved this vertex so far.

Given a weighted DAG, existing solutions try to select vertices (e.g., tip vertices) by walking on the reversed and weighted directed paths. Due to the weight values on edges and paths, the tip vertices will be reached with different probability values. This is visualized in FIG. 1. The heterogeneous selection probabilities among the vertices in the DAG characterize the branches that accumulate the most of beliefs and votes by the distributed nodes in the DES. Over time, more trustworthy branches will be selected more often, and will thus grow with more numbers of new records coming later (see FIG., 1 “Branch a”). Oppositely, those branches guided from reversed directed paths with smaller probability values will be gradually forgotten (see FIG. 1 “Branch b”).

Computationally, on a node, the vertex selection is usually done by a random walk on the weighted DAG, starting from a certain vertex of the DAG. The choice of the starting point can be flexible, for instance, it can be always the first vertex of the DAG, or can be any vertex that every node can agree on, or can be specified by the protocol’s configuration. Every node simulates the random walk based on the constructed weighted DAG, until a required number of vertices are identified. Clearly, as shown in FIG. 1, the “Path a” will be traversed more frequently than the “Path b”, because the vertex 3 acts as a hub of the DAG, and accumulates many approvals (attachments) in the DAG, thus representing a high confidence vertex and branch.

However, problems of simulating the random walk(s) are as follows. First of all, when a new record comes to a node, and the node performs the random walk, the random walk may stop at a ‘bad’ tip vertex, which most other nodes may not arrive at. In this case the new record would have less chance to be approved later (like “Branch b” in FIG. 1). Secondly, the random walk is very costly. For example, for a DAG having more than 10k vertices, when 20 new records come to the node, and the node selects 2 tip vertices for each record, then the node needs to perform 40 times random walks on a 10k vertices of the DAG, at least if each random walk can select a legal tip vertex. Thirdly, the requirement of hardware for performing a random walk is high, and accordingly the node should have enough computational power. That means, resource-constrained nodes, e.g. internet of things (loT) devices, may not afford simulating random walks, and thus cannot process new records.

SUMMARY

In summary of the above, a more efficient way is therefore needed. Accordingly, this disclosure has the objective to propose a fast and efficient vertex selection solution for a D AG-based DLS. For instance, the disclosure aims to solve the bottleneck issue of the slow conventional decision-making process of deciding on record attachment locations. A faster record attachment solution is desired, which should directly accelerate the vertex selection process on any node. The solution should also be feasible for constrained nodes e.g. for loT devices, which should be enabled to utilize the fast message attachment result from other nodes, so as to speed up their local vertex selection process.

The objective is achieved by the solutions of this disclosure described in the independent claims. Advantageous implementations are further defined in the dependent claims.

A first aspect of this disclosure provides a device for supporting a DLS, the DLS comprising a plurality of distributed storage nodes maintaining a record history of the DLS, the device being configured to: obtain at least part of an existing topology of a DAG, built on the record history of the DLS, wherein the existing topology of the DAG comprises a plurality of vertices; estimate a probability distribution that an evolved topology of the DAG is reached from the existing topology of the DAG, wherein the evolved topology has one or more additional vertices added to the existing topology of the DAG, wherein the one or more additional vertices are indicative of one or more new records of the DLS, and wherein the estimated probability distribution indicates, when performing a random walk process, a selection probability for at least one vertex from the plurality of vertices of the existing topology of the DAG; and generate selection information indicating the selection probability of the at least one vertex from the plurality of vertices of the existing topology of the DAG.

The selection information can be a selection table. The selection information may enable the device to perform a vertex selection procedure without performing a random walk. The selection information may also be sent to one or more nodes of the DLS, for example constrained nodes, to allow those nodes to perform a vertex selection process as well. Thus, a fast and efficient vertex selection solution for a DAG-based DLS is provided.

The device may be a (full) node, or may be installed in a node of the DLS. The device may also be a supportive device connected to one or more nodes.

In an implementation form of the first aspect, the selection probability of each vertex is a probability that the vertex will be selected, for adding an additional vertex to the existing topology of the DAG.

Thus, the selection information provides the necessary information to perform a fast record attachment, which creates the additional vertex.

In an implementation form of the first aspect, each vertex is associated with an identifier, and the generated selection information further indicates the identifier of each of the at least one vertex.

In an implementation form of the first aspect, the device comprises a storage configured to: store the at least part of the existing topology of the DAG; and/or store the selection information in association to the at least part of the existing topology of the DAG. In an implementation form of the first aspect, the selection information is stored in a first part of the storage and the at least part of the existing state of the DAG is stored in a second part of the storage that is different from the first part of the storage.

In an implementation form of the first aspect, each vertex is related to a record that is stored in the existing topology of the DAG, and wherein the device is further configured to: receive one or more incoming records; and store at least one of the received records in the existing topology of the DAG according to the selection probability of the at least one vertex in the selection information.

Thus, the device is enabled to store new records into the DAG. The device may, for instance, be a full node configured to generate the selection information and to store new records into the DAG using this selection information.

In an implementation form of the first aspect, the at least one received record contains a value transaction or a data payload, and storing the at least one received record in the existing topology of the DAG comprises: selecting, based on the selection information, a vertex of the existing topology of the DAG; and adding the value transaction or the data payload of the at least one received record as an additional vertex to the selected vertex of the existing topology of the DAG.

In an implementation form of the first aspect, adding an additional vertex to the existing topology of the DAG comprises referring a pointer of the additional vertex to a selected vertex of the existing topology of the DAG.

It is also possible that one or more pointers of the additional vertex are referred to multiple selected vertices of the existing topology of the DAG. A pointer could be the above- mentioned identifier of the selected vertex, or could be an address of the selected vertex.

In an implementation form of the first aspect, each storage node from the plurality of distributed storage nodes of the DLS is configured to store at least part of the existing topology of the DAG, and wherein the device is further configured to provide the selection information to at least one storage node of the DLS, in particular, to a constrained node of the plurality of storage nodes of the DLS. Thus, the node, particularly the constrained node, can use the selection information to perform a vertex selection process on its own, without being required to perform a random walk or a calculation of the selection information.

In an implementation form of the first aspect, the device is further configured to determine a vertex weight for each of the at least one vertex which are connected directly or indirectly to the at least one vertex.

In an implementation form of the first aspect, the device is further configured to determine, for each vertex of the at least one vertex that is directly connected to an adjacent vertex, a vertex transition probability from the vertex to the adjacent vertex based on the vertex weight of the vertex and based on a vertex weight of the adjacent vertex.

In an implementation form of the first aspect, the device is further configured to: determine a transition probability matrix for the existing topology of the DAG, based on one or more of: a topology information of the existing topology of the DAG; a genesis record stored in the existing topology of the DAG; the vertex transition probability of each vertex that is directly connected to an adjacent vertex.

In an implementation form of the first aspect, the device is further configured to estimate the probability distribution of the evolved topology of the DAG based on an initial topology of the DAG and the determined transition probability matrix of the existing topology of the DAG.

The above implementation forms describe an efficient way to obtain the probability distribution and thus the selection information.

In an implementation form of the first aspect, the device is further configured to determine a change in topology of the existing topology of the DAG; and update the selection information based on the change in topology of the existing topology of the DAG.

A second aspect of this disclosure provides a constrained node for supporting a DLS, the DLS comprising a plurality of distributed storage nodes maintaining a record history of the DLS, the constrained node being configured to: obtain at least part of an existing topology of a directed acyclic graph, DAG, based on the record history of the DLS, wherein the existing topology of the DAG comprises a plurality of vertices; receive selection information from a device, the selection information indicating a selection probability of at least one vertex from the plurality of vertices of the existing topology of the DAG; receive one or more incoming records; and store at least one of the received records in the existing topology of the DAG according to the selection probability of the at least one vertex in the selection information.

The constrained node may use the selection information to perform the vertex selecting and to store new records into the DAG. Thus, the solution of this disclosure is feasible for constrained nodes, e.g. for loT devices with lower computational power, which can utilize the fast record attachment result from other nodes (or the device), so as to speed up their local vertex selection process.

In an implementation form of the second aspect, the at least one received record contains a value transaction or a data payload, and storing the at least one received record in the existing topology of the DAG by the constrained node comprises: selecting, based on the selection information received from the device, a vertex of the existing topology of the DAG; and adding the value transaction or the data payload of the at least one received record as an additional vertex to the selected vertex of the existing topology of the DAG.

A third aspect of this disclosure provides a method for supporting a DLS, the DLS comprising a plurality of distributed storage nodes maintaining a record history of the DLS, the method comprising: obtaining at least part of an existing topology of a directed acyclic graph, DAG, based on the record history of the DLS, wherein the existing topology of the DAG comprises a plurality of vertices; estimating a probability distribution that an evolved topology of the DAG is reached from the existing topology of the DAG, wherein the estimated probability distribution indicates, when performing a random walk process, a selection probability for at least one vertex from the plurality of vertices of the existing topology of the DAG; generating a selection information indicating the selection probability of the at least one vertex from the plurality of vertices of the existing topology of the DAG; and determining the evolved topology of the DAG by adding one or more additional vertices to the existing topology of the DAG, wherein the one or more additional vertices are indicating of one or more new records of the DLS.

In an implementation form of the third aspect, the selection probability of each vertex is a probability that the vertex will be selected, for adding an additional vertex to the existing topology of the DAG.

In an implementation form of the third aspect, each vertex is associated with an identifier, and the generated selection information further indicates the identifier of each of the at least one vertex.

In an implementation form of the third aspect, the method comprises: storing the at least part of the existing topology of the DAG; and/or storing the selection information in association to the at least part of the existing topology of the DAG.

In an implementation form of the third aspect, each vertex is related to a record that is stored in the existing topology of the DAG, and wherein the method comprises: receiving one or more incoming records; and storing at least one of the received records in the existing topology of the DAG according to the selection probability of the at least one vertex in the selection information.

In an implementation form of the third aspect, the at least one received record contains a value transaction or a data payload, and storing the at least one received record in the existing topology of the DAG comprises: selecting, based on the selection information, a vertex of the existing topology of the DAG; and adding the value transaction or the data payload of the at least one received record as an additional vertex to the selected vertex of the existing topology of the DAG.

In an implementation form of the third aspect, adding an additional vertex to the existing topology of the DAG comprises referring a pointer of the additional vertex to a selected vertex of the existing topology of the DAG.

In an implementation form of the third aspect, each storage node from the plurality of distributed storage nodes of the DLS is configured to store at least part of the existing topology of the DAG, and wherein the method comprises providing the selection information to at least one storage node of the DLS, in particular, to a constrained node of the plurality of storage nodes of the DLS.

In an implementation form of the third aspect, the method further comprises determining a vertex weight for each of the at least one vertex which are connected directly or indirectly to the at least one vertex.

In an implementation form of the third aspect, the method comprises determining, for each vertex of the at least one vertex that is directly connected to an adjacent vertex, a vertex transition probability from the vertex to the adjacent vertex based on the vertex weight of the vertex and based on a vertex weight of the adjacent vertex.

In an implementation form of the third aspect, the method comprises: determining a transition probability matrix for the existing topology of the DAG, based on one or more of: a topology information of the existing topology of the DAG; a genesis record stored in the existing topology of the DAG; the vertex transition probability of each vertex that is directly connected to an adjacent vertex.

In an implementation form of the third aspect, the method comprises estimating the probability distribution of the evolved topology of the DAG based on an initial topology of the DAG and the determined transition probability matrix of the existing topology of the DAG.

In an implementation form of the first aspect, the method comprises determining a change in topology of the existing topology of the DAG; and update the selection information based on the change in topology of the existing topology of the DAG.

The method of the third aspect and its implementation forms achieve the same advantages and effects as described for the device of the first aspect and its implementation forms.

A fourth aspect of this disclosure provides a method of a constrained node for supporting a DLS, the DLS comprising a plurality of distributed storage nodes maintaining a record history of the DLS, the method comprising: obtaining at least part of an existing topology of a directed acyclic graph, DAG, based on the record history of the DLS, wherein the existing topology of the DAG comprises a plurality of vertices; receiving selection information from a device, the selection information indicating a selection probability of at least one vertex from the plurality of vertices of the existing topology of the DAG; receiving one or more incoming records; and storing at least one of the received records in the existing topology of the DAG according to the selection probability of the at least one vertex in the selection information.

In an implementation form of the fourth aspect, the at least one received record contains a value transaction or a data payload, and storing the at least one received record in the existing topology of the DAG by the constrained node comprises: selecting, based on the selection information received from the device, a vertex of the existing topology of the DAG; and adding the value transaction or the data payload of the at least one received record as an additional vertex to the selected vertex of the existing topology of the DAG.

The method of the fourth aspect and its implementation form achieve the same advantages and effects as described for the device of the first aspect and its implementation form.

A fifth aspect of this disclosure provides a computer program product comprising instructions, which, when the program is executed by a computer, cause the computer to carry out the steps of the method of the third aspect or the fourth aspect or any of its implementation forms to be performed.

A sixth aspect of this disclosure provides a non-transitory storage medium storing executable program code which, when executed by a processor, causes the method according to the third aspect or the fourth aspect or any of its implementation forms to be performed.

It has to be noted that all devices, elements, units and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof.

BRIEF DESCRIPTION OF DRAWINGS

The above described aspects and implementation forms will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which

FIG. 1 shows an exemplary record attachment with vertex selection.

FIG. 2 shows a device according to an embodiment of this disclosure.

FIG. 3 shows a constrained node according to an embodiment of this disclosure.

FIG. 4 shows a node added with a vertex tip selection probability distribution table (a table comprising the selection information).

FIG. 5 illustrates a concept of this disclosure.

FIG. 6 shows a node extension for selection table calculation.

FIG. 7 shows an example of DAG-ledger with vertex weight and transition probability.

FIG. 8 shows a node interaction for sharing the selection table.

FIG. 9 shows a performance comparison of RW and AMC.

FIG. 10 shows a method according to an embodiment of this disclosure.

FIG. 11 shows a method according to an embodiment of this disclosure. DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 2 shows a device 200 according to an embodiment of this disclosure. The device 200 is adapted to support a DLS. The DLS comprises a plurality of distributed storage nodes (see, e.g., the storage nodes 300, 400 shown in FIGs. 3 and 4) maintaining a record history of the DLS. The device 200 may be one of these storage nodes 300, 400. The device 200 may also be a computing or processing device, for instance of a storage node 400.

The device 200 is configured to obtain at least a part of an existing topology of a DAG 201, which is built on the record history of the DLS. As illustrated in FIG. 2, the existing topology of the DAG 201 comprises a plurality of vertices 202. Each vertex 202 may be related to a record, which is stored in the existing topology of the DAG 201. The concept of a DAG is generally known to the skilled person in this fields. A DAG 201 is a directed graph with no directed cycles. In other words, a DAG 201 comprises the vertices 202 and edges 302 (see FIG. 3) connecting pairs of vertices 202. The edges 302 are accordingly directed from one vertex 202 to the other, in particular, such that following those edges 302 from one vertex 202 to the other and so on does not form a closed loop. A topology of the DAG 201 refers to a state of the DAG 201 determined by a plurality of vertices 202 and edges. For instance, any topology of the DAG 201 (existing or evolved) may be defined by the number of vertices 202, the number of edges, and how the vertices 202 are arranged and connected to one another by the edges. The topology is also determined by the number of vertices 202 that are tips of the DAG 201, i.e., vertices 202 which are connected only to one adjacent vertex 202, and can be used to attach further vertices 202. The DAG 201 may be stored in a memory of one or more storage nodes, and may be obtained and stored locally by the device 200.

The device 200 is further configured to estimate a probability distribution that an evolved topology of the DAG 201 is reached from the existing topology of the DAG 201. The evolved topology has one or more additional vertices 202, which are added to the existing topology of the DAG 201 (in particular, to tip vertices 202 of the existing topology). That is, the evolved topology may be reached by adding the one or more additional vertices 202 to the existing topology of the DAG 201. The device 200 may determine the evolved topology. The one or more additional vertices 202 are indicative of one or more new records of the DLS (records added to the DLS). Notably, adding an additional vertex 202 to the existing topology of the DAG 201 may comprise referring one or more pointers of the additional vertex 202 to one or more selected vertices 202 of the existing topology of the DAG 201. Adding the additional vertex 202 to the DAG 201 adds the new record to the DLS.

Further, the estimated probability distribution indicates, when performing a random walk process, a selection probability for at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201. The selection probability of each vertex 202 may be a probability that this vertex 202 will be selected for adding an additional vertex 202 (of the one or more additional vertices 202) to the existing topology of the DAG 201, in order to reach the evolved topology of the DAG 201.

The device 200 is further configured to generate selection information 203. For example, the device 200 may generate a selection information 203 including the selection table 203. The selection information 203 indicates the selection probability of the at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201. The device 200 may then output the selection information 203, for example, to a storage node of the system, for instance, a constrained node 300 as shown in FIG. 3. Alternatively, the device 200 may use the selection information 203 to store at least one new record in the existing topology of the DAG 201, by adding a new vertex 202 according to the selection probability of the at least one vertex 202 in the selection information 203 to the DAG 201.

In the DAG 201, each vertex 202 may be associated with an identifier, and the generated selection information 203 may further indicate the identifier of each of the at least one vertex 202. The above-mentioned pointer could in this case be the identifier or an address of the selected vertex 202.

FIG. 3 shows, in addition to the device 200, a constrained node 300 according to an embodiment of this disclosure. The node 300 is adapted to support the DLS. The DLS comprises a plurality of distributed storage nodes (may include one or more constrained nodes 300 and/or one or more full nodes 400 as in FIG. 4) maintaining a record history of the DLS. The constrained node 300 may be one of the storage nodes. The constrained node 300 may be constrained. For example, an loT device may be a constrained node 300 in this disclosure. The constrained node 300 may have less computing and/or memory resources than a full node 400.

The constrained node 300 is configured to obtain at least a part of an existing topology of a DAG 201, based on the record history of the DLS, wherein this step is similar to the description above regarding the device 200. As shown in FIG. 3, the existing topology of the DAG 201 comprises the plurality of vertices 202 (and edges) mentioned before.

The constrained node 300 is configured to receive the selection information 203, for example the selection table 203, from the device 200. The constrained node 300 may determine form the selection information 203 the selection probability of at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201.

The constrained node 300 is further configured to receive one or more incoming records 301, and to store at least one of the received records 301 in the existing topology of the DAG 201. The node 300 may store the at least one record 301 according to the selection probability of the at least one vertex 202 in the selection information 203 (particularly in the selection table 203). For example, the node 300 may be configured to select, based on the selection information 203, a vertex 202 of the existing topology of the DAG 201. Then, the node 300 may add a value transaction and/or a data payload of the at least one received record 301 as an additional vertex 202 to the selected vertex 202 of the existing topology of the DAG 201.

Notably, the constrained node 300 shown in FIG. 3 could be any other node 300, 400 in the DLS. That is, the node 300 shown in FIG. 3 does not have to be resource-constrained. The node 300 in FIG. 3 could be another node 400. That is, a full node 400 according to an embodiment of this disclosure can be configured to perform the same steps and actions as described for the constrained node 300. Further, since the device 200 can be a node 300, 400, also the device 200 may be further configured to perform the same steps and actions a described above for the constrained node 300.

The device 200 and/or the constrained node 300 may respectively comprise a processor or processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the device 200 and/or constrained node 300 described herein. The processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as applicationspecific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors. The device 200 and/or the constrained node 300 may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, in particular under control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the device 200 or respectively the constrained node 300 to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the device 200 or respectively the constrained node 300 to perform, conduct or initiate the operations or methods described herein.

According to the above description of FIG. 2 and FIG. 3, the device 200 and the constrained node 300 of this disclosure support a fast and efficient vertex 202 selection solution for a D AG-based DLS. In particular, a fast record 301 attachment solution is supported by the embodiments of this disclosure, since the vertex 202 selection process is accelerated, and may be performed on any node 300, 400 of the DLS.

Also FIG. 4 illustrates a solution of this disclosure. In particular, FIG. 4 shows that selection information 203 - here specifically a selection table 203 - may be maintained on a node 300 or 400 (node z), i.e., on any storage node of the DLS. The selection table 203 may indicate the selection probability distribution for the tip vertices 202 of the existing topology of the DAG 201 (note that the selection table 203 is thus labelled TipDist. Table in FIG. 4). The selection table 203 may be updated, when the existing topology of the DAG 201 changes. When a new record 301 comes to the node 300, 400, the node 300, 400 may be configured to directly select a vertex 202 based on the distribution indicated in the selection table 203, in order to attach the record 301 at this vertex 202, i.e., topologically speaking to create a new tip vertex 202 and connect it to the selected vertex 202 with an edge. In fact, this new vertex creation may comprise referring a pointer of the new vertex

202 to the selected vertex 202 of the existing topology of the DAG 201. The selection table

203 can be obtained by a constrained node 300 from a full node 400 or the device 200 (see FIG. 3), or may be calculated efficiently by a full node 400, as shown later in this disclosure.

FIG. 5 illustrates an implementation of the solution of this disclosure with a plurality of nodes 300, 400. In particular, FIG. 5 shows three nodes 300, 400 of the DSL, one constrained node 300 and two full nodes 300. The full nodes 400 may comprise the device 200, or may be configured like the device 200. The constrained node 300 may be configured as described above. The solution may be implemented by node extensions, by which any participating node 300, 400 may maintain the selection information 203 - e.g., the selection table 203 - which is indicative of the selection distribution of the vertices 202 (specifically the tip vertices 203) based on its current DAG-based tangle ledger. This solution enables a faster and energy-efficient vertex selection by the nodes 300, 400, and avoids traditional random walk based selection methods.

One beneficial aspect of this disclosure is that the constrained node(s) 300 can also enjoy the fast record attachment - although they may have less computing and/or memory resources than the full node(s) 400 - by requesting the selection table 203 from other nodes, wherein such a table 203 is maintained. Another beneficial aspect of this disclosure is that any node 300, 400 can also accelerate the overall processing rate, if such selection information 203 can be prepared and maintained by some trustworthy node(s) 400, which can act as delegates for the DLS.

As illustrated in FIG. 5, as an example, the node z and node j are full nodes 400 (not constrained nodes 300), and may have a powerful computation ability. Thus, these nodes 400 may generate, respectively, a selection table z and a selection table j (selection information 203). This selection information 203 can speed up local processing rates on their own (i.e., on the respective full node 400), because multiple vertex selections can be parallelized without doing any random walk. In addition, the node k is a constrained node 300 (also referred to as light node), and can firstly check whether its DAG 201 is the same or similar to the DAG ledger(S) on the full node(s) 400. Then, the constrained node 300 can then request the selection information 203, and can sample from the received selection information 203 for performing its local vertex selection. Another beneficial aspect of this disclosure is the method of deriving the selection information 203, particularly selection table 203, in the first place. According to this disclosure, the traditional random walk vertex selection may be converted based on the ledger’s DAG 201 as a Markov process containing absorbing states. An absorbing state is a state of an absorbing Markov chain that, once entered, cannot be left. Then, this absorbing Markov chain (AMC) problem may be solved, and the limiting distribution of such a Markov process can be derived. This obtains the selection probability distribution (included in the selection information 203) for the (tip) vertices 202. This is a favorable process of this disclosure, which is introduced in more detail below.

FIG. 6 shows a node extension for selection information 203 calculation. In a (full) node 400 as shown in Fig. 6, a Message Booker module may be responsible for maintaining the DAG topology including weights of the vertices 202 and edges, according to the local ledger records 301 (note that record(s) 301 and message(s) are used as synonyms in this disclosure). Therefore, the Message Booker module may also maintain transition probability information between two adjacent vertices 202. All the transition probabilities form a transition matrix P of the current DAG topology represents the approval relationships among ledger records. The present disclosure utilizes the existing transition matrix P to calculate the selection information 203 (here a selection table 202 referred to as TipDist. Table).

An aspect of calculating the selection tables 203 is to reformulate the original random walk simulation problem to a stationary distribution analysis problem. In the original random walk simulation, a node simulates a walker traversing the DAG 201 by following the transition matrix P. Due to the transition probabilities of different edges, the walker may arrive at different destinations, i.e., different tip vertices, after one random walk is finished. Thus, a tip vertex is selected as a candidate for record/message attachment. A random walk on the DAG 201 can be formulated as a Markov process jumping from one vertex 202 to another vertex 202. The chance of arriving at a particular tip vertex 202 is determined by the transition matrix P. A key difference of this disclosure is that the Markov process for the tip vertex selection may contain absorbing states, where the walker never leaves these absorbing states (i.e., the tip vertices 202) once it goes in any of them. In other words, the transition probability to a tip vertex 202 itself is always equal to 1. As mentioned before, this random walk can be considered an absorbing Markov chain (AMC) process, with the transition matrix P, the stationary state/vertex distribution (topology) can be calculated. Note that this is equivalent to simulating random walk with sufficient number of times. However, calculating the stationary state/vertex distribution does not require simulating random walks.

FIG. 7 shows, as an example, a simple DAG-ledger with 6 vertices 202, wherein each vertex 202 represents a record 301 (or message). Vertex 0 is the genesis vertex 202 of the DAG-ledger, and Vertex 4 and Vertex 5 are tip vertices 202. The value shown at each vertex corner in FIG. 7 is the future cone size and the value on each edge 302 is the transition probability from a parent vertex 202 to its children vertices 202. The tip vertices are absorbing states, and it will jump to itself with a probability of 1.

First of all, one possible way to define the edge weight and the transition probability of the edge 302 is given. Note that the definition of transition probability is flexible, and may depend on specific requirements and different realizations of systems. Here it is assumed that there will be such a transition probability. The number of approved records 301 directly and indirectly attached to a vertex 202 can be counted and may be called vertex weight, wherein the vertex weight represents a weight of the record 301 corresponding to the vertex 202. This gives the number value at the right-down corner of each vertex 202 in FIG. 7. Then the difference of the vertex weights of two neighboring vertices 202 can be calculated and may be called edge weight. The edge weights of a vertex 202 may be normalized over all edges 302 associated with that vertex 202. This gives a transition probability distribution of the edges 302 from one vertex 202.

The following formulas illustrate the process described above for how the jumping probability from Vertex 0 to Vertex 1 and from Vertex 0 to Vertex 2 in FIG. 7 can be calculated: Based on the DAG topology shown in FIG. 7, and example of a DAG-ledged with vertex weight and transition probability, an example of a Transition Probability Matrix P of the DAG 201 can be shown. Note that for any DAG topology, the Transition Probability Matrix P always has a sparse form, which occupies small storage spaces. The example is:

Alternatively expressed (referring to rows and columns of the matrix P):

The stationary state of the AMC can be calculated with the following formula. n* = TT 0 x P L In the above formula, L is the longest path from an initial vertex 202 to the farthest tip vertex 202. In the example of FIG. 7, L = 4, which is the longest path length from Vertex 0 if it is assumed that Vertex 0 is the starting point.

0 0 0 0.25 0.375 0.375

= [0 0.5 0.5 0 0 0] x 0.5 0.5 0 0 0 - 0 0 0.25 0.375 0.375 0.6

= [0 0 0 0.325 0.487

1

1 1 0.5 0.5 0 0 0 - 0 0 0.25 0.375 0.375

0.4 0.6

= [0 0 0 0 0.4875

1

1 1 = [0 0 0 0 0.4875 0.5125]

The initial vertex 202 is n 0 and the probability at Vertex 0 is 1. Hence, the initial distribution is a vector with only one element equal to 1. n 1 is the vertex probability distribution after one jump from the initial Vertex 0. This means that a random walker will reach either Vertex 1 with probability of 0.5 or reach Vertex 2 with probability Of 0.5 Similarly, after 3 jumps from the initial vertex 202, one gets TT 3 and this shows that the probabilities of arriving at Vertex 4 or Vertex 5 may be 0.4875 and 0.5125. After that, if the random walk jumps further one more step, and one gets TT 4 , the probability distribution TT 4 of the vertex 202 is the same as TT 3 , and one can call it the stationary state TT* . Correspondingly, the selection table 203 may be derived as shown in Table 1.

Table 1: Example of selection table

This directly tells how the chances of the two tip vertices 202 are to be selected in a statistical way. This directly helps any node 300, 400 (or the device 200) to draw samples from the distribution for new record 301 attachments without doing random walks or each of them.

Also at the constrained node 300, the vertex selection can be accelerated. In the DAG- based DLS, a constrained node 300 (or light node) is able to receive many incoming records 301. Due to the limitation of the local computational resource, it may be difficult for a light node 300 to either perform the random walks or even easily calculate its selection information 203. The solution of this disclosure allows two nodes 300, 400 to interact and share the selection information 203, for example selection table, so that light nodes 300 can benefit from the selection information 203 to perform faster record attachment. In particular, the light nodes 300 may be configured to sample from the selection information 203 directly without doing random walks or calculating the selection information 203 in the first place. Such an interaction procedure between a light node 300 and a full node 400 is depicted in FIG. 8. As shown in FIG. 8, a message attachment assistance procedure is realized at the constrained node 300 (node A) by the following procedure interacting with the full node 400 (node B).

1. The light node A calculates the hash of all records 301 in the DAG-ledger and sends the request LedgerS yncChkReq, which may include the DagHashVal_A to the full node B;

2. After the full node B receives the LedgerS yncChkReq from the light node A, the full node B calculates the hash of all records 301 on its own DAG-ledger, and then sends the response LedgerS yncChkRsp with its DagHashVal_B and SignB to the light node A.

3. The light node A receives the response from the full node B, and compares the DagHashVal_A and DagHashVal_B. If these two hashes are the same, it goes to the next step.

4. The light node A sends the request TipDistTbReq with the NodeA_ID to the full node B and requests the selection information 203 (TipDist Table) of the powerful node A, in order to avoid local random walks or even local computing of the selection information 203.

5. After the full node B receives the TipDistTbReq from the light node A, it responds TipDistTbRsp including the TipDist Table, NodeB_ID and SignB back to the light node A.

6. The light node A samples the tip vertices 202 with respect to the received TipDist Table for its own record attachment.

FIG. 9 shows a performance evaluation of the solution of this disclosure. The evaluation results show the acceleration performance of the solution of this disclosure, by comparing it with a traditional random walk based method for record attachment. The corresponding experiment configuration is provided Table 2.

Specifically, 3 groups of experiments where conducted, wherein the three group tests got 200, 300 and 400 incoming records 301 for attachment, respectively. The initial size of the DAG 201 was set to 200 vertices 202 for all three group tests. The total time of the two different methods was measured for attaching all incoming records 301.

It can be observed from FIG. 9 showing the measurement results, that the AMC-based method (present disclosure) consumes much less time than the random walk based method does. The method of this disclosure is able to parallelize record attachment, so that its time costs do not increase when handling an increasing number of records.

Notably, the solution(s) of this disclosure described above can be performed by the device 200, node(s) 300, or node(s) 400. In particular, the device 200 and/or node 400 are configured to perform the AMC-based method including the calculation of the selection information 203. The constrained node 300 may perform the AMC-based method supported by receiving the selection information 203 from the device 200 and/or full node 400.

Fig. 10 shows a method 1000 according to an embodiment of this disclosure. The method 1000 may be performed by the device 200 and/or by a full node 400. The method 1000 is used for supporting DLS. The DLS comprises a plurality of distributed storage nodes 300 and/or 400, which are maintaining a record history of the DLS.

The method 1000 comprises a step 1001 of obtaining at least part of an existing topology of a DAG 201 based on the record history of the DLS, wherein the existing topology of the DAG 201 comprises a plurality of vertices 202. The method 1000 further comprises a step 1002 of estimating a probability distribution TT* that an evolved topology of the DAG 201 is reached from the existing topology of the DAG 201. The evolved topology of the DAG 201 has one or more additional vertices 202 added to the existing topology of the DAG 201, wherein the one or more additional vertices 202 are indicative of one or more new records 301 of the DLS. The estimated probability distribution TT* indicates, when performing a random walk process, a selection probability for at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201. Notably, the random walk process is not actively performed by the method 1000. The method 1000 further comprises a step 1003 of generating selection information 203 indicating the selection probability of the at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201.

FIG. I l a method 1100 according to an embodiment of this disclosure. The method 1100 may be performed by a constrained node 300. The method 1100 may be used for supporting a DLS. The DLS comprises a plurality of distributed storage nodes 300 and/or 400 maintaining a record history of the DLS.

The method 1100 comprises a step 1101 of obtaining at least part of an existing topology of a DAG 201 based on the record history of the DLS, wherein the existing topology of the DAG 201 comprises a plurality of vertices 202. The method 1100 further comprises a step 1102 of receiving selection information 203 from a device 200 and/or node 400, the selection information 203 indicating a selection probability of at least one vertex 202 from the plurality of vertices 202 of the existing topology of the DAG 201. The method 1100 further comprises a step 1103 of receiving one or more incoming records 301. The method 1100 further comprises a step 1104 of storing at least one of the received records 301 in the existing topology of the DAG 201 according to the selection probability of the at least one vertex 202 in the selection information 203.

The solutions of this disclosure have the following advantages. A first benefit is that the solution allows avoiding repeating a random walk at all, by instead calculating the selection information 203. This can save the energy consumption of the node 300, 400 and can decrease the hardware requirement of the node 300, 400. A second benefit is that the risk of selecting a tip vertex 202 whose selection probability is small due to randomness of doing random walks is avoided. With the proposed solution, differently, the chances of all tip vertices 202 being selected may be known before their actual selection. If the tip vertices 202 with certain low probabilities are to be avoided, the solution of this disclosure provides the relevant information for reference. A third benefit is that this solution helps the DAG- based DLS to yield a faster record 301 processing rate. With the solution of this disclosure, a node 300, 400 can parallelize record attachment for multiple new records 301 by sampling multiple instances in terms of the selection information 203. A node 300, 400 can also quickly re-sample if any illegal vertex 202 is drawn. A fourth benefit is that a full node 400 can share the selection information 203 to a light node 300 whose resource capacity is low to facilitate their record 301 attachment. This can empower the ability of the light node 300, and can reduce the press of the full node 400. For example, some loT devices, which have a lower computational power, can request the selection table 203 from a neighbor full-node 400, add the new record 301 on the local DAG ledger, and then synchronize the DAG 201 with the full node 400. In this way, the solution can make full use of these light nodes 300 in the DAG-based DLT system, and can increase the new record 301 processing efficiency.

The present disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed matter, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.