WO2023155992A1 - Fast record attachment to a directed acyclic graph based distributed ledger system - Google Patents

Fast record attachment to a directed acyclic graph based distributed ledger system Download PDF

Info

Publication number
WO2023155992A1
WO2023155992A1 PCT/EP2022/053971 EP2022053971W WO2023155992A1 WO 2023155992 A1 WO2023155992 A1 WO 2023155992A1 EP 2022053971 W EP2022053971 W EP 2022053971W WO 2023155992 A1 WO2023155992 A1 WO 2023155992A1
Authority
WO
WIPO (PCT)
Prior art keywords
dag
vertex
topology
dls
existing topology
Prior art date
Application number
PCT/EP2022/053971
Other languages
French (fr)
Inventor
Xun XIAO
Fengyang GUO
Artur Hecker
Original Assignee
Huawei Technologies Co., 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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2022/053971 priority Critical patent/WO2023155992A1/en
Publication of WO2023155992A1 publication Critical patent/WO2023155992A1/en

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Definitions

  • 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.
  • DLT Distributed Ledger Technology
  • a DLS is a decentralized network system, which comprises distributed participating storage nodes that together maintain the ledger record history.
  • 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.
  • 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.
  • 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.
  • a new record also referred to as message in this disclosure
  • multiple records can be attached to different locations thanks to the multiple candidate vertices.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • resource-constrained nodes e.g. internet of things (loT) devices, may not afford simulating random walks, and thus cannot process new records.
  • LoT internet of things
  • this disclosure has the objective to propose a fast and efficient vertex selection solution for a D AG-based DLS.
  • 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.
  • 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.
  • 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.
  • 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.
  • the selection information provides the necessary information to perform a fast record attachment, which creates the additional vertex.
  • each vertex is associated with an identifier
  • the generated selection information further indicates the identifier of each of the at least one vertex.
  • 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.
  • 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.
  • 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.
  • 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.
  • the at least one received record contains a value transaction or a data payload
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 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.
  • 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.
  • the at least one received record contains a value transaction or a data payload
  • 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
  • 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.
  • each vertex is associated with an identifier
  • the generated selection information further indicates the identifier of each of the at least one vertex.
  • 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.
  • 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.
  • the at least one received record contains a value transaction or a data payload
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the at least one received record contains a value transaction or a data payload
  • 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.
  • 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.
  • 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.
  • 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.
  • a topology of the DAG 201 refers to a state of the DAG 201 determined by a plurality of vertices 202 and edges.
  • any topology of the DAG 201 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • the device 200 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 4 illustrates a solution of this disclosure.
  • 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.
  • 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.
  • this new vertex creation may comprise referring a pointer of the new vertex
  • 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.
  • 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.
  • 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.
  • the node z and node j are full nodes 400 (not constrained nodes 300), and may have a powerful computation ability.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the transition probability to a tip vertex 202 itself is always equal to 1.
  • 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
  • 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.
  • edge weight and the transition probability of the edge 302 are 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 stationary state of the AMC can be calculated with the following formula.
  • n* TT 0 x P L
  • L is the longest path from an initial vertex 202 to the farthest tip vertex 202.
  • L 4 is the longest path length from Vertex 0 if it is assumed that Vertex 0 is the starting point.
  • the initial vertex 202 is n 0 and the probability at Vertex 0 is 1.
  • 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
  • TT 3 shows that the probabilities of arriving at Vertex 4 or Vertex 5 may be 0.4875 and 0.5125.
  • the probability distribution TT 4 of the vertex 202 is the same as TT 3 , and one can call it the stationary state TT* .
  • the selection table 203 may be derived as shown in Table 1.
  • the vertex selection can be accelerated.
  • 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.
  • 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.
  • FIG. 8 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).
  • 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;
  • the full node B 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the AMC-based method 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.
  • the solution(s) of this disclosure described above can be performed by the device 200, node(s) 300, or node(s) 400.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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.

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:
Figure imgf000020_0001
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:
Figure imgf000021_0001
Alternatively expressed (referring to rows and columns of the matrix P):
Figure imgf000021_0002
The stationary state of the AMC can be calculated with the following formula. n* = TT0 x PL 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.
Figure imgf000022_0001
0 0 0 0.25 0.375 0.375
= [0 0.5 0.5 0 0 0] x
Figure imgf000023_0001
Figure imgf000023_0008
0.5 0.5 0 0 0 - 0 0 0.25 0.375 0.375
Figure imgf000023_0002
0.6
= [0 0 0 0.325 0.487
1
1
Figure imgf000023_0003
1
Figure imgf000023_0004
Figure imgf000023_0005
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
Figure imgf000023_0006
1
Figure imgf000023_0007
= [0 0 0 0 0.4875 0.5125]
The initial vertex 202 is n0 and the probability at Vertex 0 is 1. Hence, the initial distribution is a vector with only one element equal to 1. n1 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 TT3 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 TT4, the probability distribution TT4 of the vertex 202 is the same as TT3 , and one can call it the stationary state TT* . Correspondingly, the selection table 203 may be derived as shown in Table 1.
Figure imgf000024_0001
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.
Figure imgf000026_0001
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.

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.
PCT/EP2022/053971 2022-02-17 2022-02-17 Fast record attachment to a directed acyclic graph based distributed ledger system WO2023155992A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/053971 WO2023155992A1 (en) 2022-02-17 2022-02-17 Fast record attachment to a directed acyclic graph based distributed ledger system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/053971 WO2023155992A1 (en) 2022-02-17 2022-02-17 Fast record attachment to a directed acyclic graph based distributed ledger system

Publications (1)

Publication Number Publication Date
WO2023155992A1 true WO2023155992A1 (en) 2023-08-24

Family

ID=80623535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/053971 WO2023155992A1 (en) 2022-02-17 2022-02-17 Fast record attachment to a directed acyclic graph based distributed ledger system

Country Status (1)

Country Link
WO (1) WO2023155992A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020178452A1 (en) * 2019-03-07 2020-09-10 Uvue Limited System and method for implementing consensus in distributed ledger arrangement
US20210335025A1 (en) * 2019-04-08 2021-10-28 Tencent Technology (Shenzhen) Company Limited Data processing method and apparatus, electronic device, and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020178452A1 (en) * 2019-03-07 2020-09-10 Uvue Limited System and method for implementing consensus in distributed ledger arrangement
US20210335025A1 (en) * 2019-04-08 2021-10-28 Tencent Technology (Shenzhen) Company Limited Data processing method and apparatus, electronic device, and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
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 <URL:https://arxiv.org/pdf/1904.00996v2.pdf> *

Similar Documents

Publication Publication Date Title
Qi et al. Finding all you need: web APIs recommendation in web of things through keywords search
CN111027736B (en) Micro-service combined deployment and scheduling method under multi-objective optimization
Chen et al. Deadline constrained cloud computing resources scheduling for cost optimization based on dynamic objective genetic algorithm
CN108986872B (en) Multi-granularity attribute weight Spark method for big data electronic medical record reduction
JP2005327299A (en) Method and system for determining similarity of object based on heterogeneous relation
US20160378765A1 (en) Concept expansion using tables
CN114595396A (en) Sequence recommendation method and system based on federal learning
Niu et al. Towards the optimality of QoS-aware web service composition with uncertainty
Yaghoobi et al. A review of modeling techniques for genetic regulatory networks
CN117061365B (en) Node selection method, device, equipment and readable storage medium
CN117785490A (en) Training architecture, method, system and server of graph neural network model
CN114330229A (en) Method, device, equipment and medium for delay modeling of memory
WO2023155992A1 (en) Fast record attachment to a directed acyclic graph based distributed ledger system
CN114691630B (en) Smart supply chain big data sharing method and system
EP4202676A1 (en) Method and apparatus for multi-task scheduling, device and storage medium
JP2020087455A (en) Recommendation generation method and recommendation generation device
CN110113765A (en) A kind of information source location algorithm based on cellular Automation Model
Ho et al. Adaptive communication for distributed deep learning on commodity GPU cluster
Couturier et al. Best effort strategy and virtual load for asynchronous iterative load balancing
Wang et al. Multipopulation genetic algorithm based on GPU for solving TSP problem
Wang et al. Trusted dynamic scheduling for large-scale parallel distributed systems
Luo et al. Processing graphs with barrierless asynchronous parallel model on shared-memory systems
Sun Service clustering based on profile and process similarity
Cui et al. DMGA: A distributed shortest path algorithm for multistage graph
Lan et al. Semi-asynchronous federated learning algorithm based on clustering and training efficiency

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22707078

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022707078

Country of ref document: EP

Effective date: 20240827