[0001] The present invention relates to a method and a system for optimizing blockchain
complexity. In particular, a method and system for optimizing blockchain complexity
by eliminating the dispersion of context-related transactions.
[0002] It is known that blockchain networks use a special mechanism for broadcasting transactions
to the network. The aim of this mechanism is that every node should keep in the mempool
the transactions which are submitted to the network by the clients. This happens so
that all the nodes will compete to mine the same transactions like in the Proof of
Work (PoW) consensus mechanism.
[0003] Still, in private blockchain networks where other consensus schemes can be deployed,
like the Proof of Authority (PoA) algorithm, it should not always be necessary that
all the nodes mine the same transactions. For example, in case there is a blockchain
network where each node is, for example, a Public Safety Answering Point (PSAP) element,
and each emergency incident corresponds to a blockchain transaction, the PSAP node
which is responsible to handle an emergency call should be also the blockchain node
that will mine a relevant block that contains this transaction. In this case the routing
mechanism offers the way to send the transactions to the nodes which are responsible
to mine them. So, there is no special reason to broadcast all the emergency incidents
to all the other PSAP elements, even though this can also work in the case of the
emergency architectures. For example, when a PSAP node answers a call, it should serve
the call based on the fact that this is the responsible PSAP that handles emergency
calls for this jurisdiction. So, there is no special reason to broadcast the transactions
to the network so as to have other PSAPs that will try to mine these specific transactions
(i. e., emergency incident-based transactions). Taking into account all the above,
it seems that it would be far better to group relevant transactions, in terms of the
emergency context (i.e., they refer to the same emergency incident) in a specific
or adjacent, or neighbor blocks, rather than dispersing them in different blocks which
may have a big distance between them. Moreover, the examples of misrouted calls and
antenna overload issues (especially in large scale emergency incidents, or in those
cases where the deployed infrastructure has not been selected to cover the needs of
the subscribers in all seasons of the year, e. g., in the mountains etc.) indicate
that context-related transactions can be dispersed among different blocks, something
that ends up creating an overhead to the traversing operations in the blockchain ledger,
especially for the nodes that need to search the blocks in order to find similar transactions.
In the context of the emergency ecosystem, it also means to search for information
for similar incidents.
[0004] Therefore, the present invention is based on the object to provide a method and a
corresponding system for optimizing blockchain complexity, especially by eliminating
the dispersion of context-related transactions. One other object of the present invention
is to build by design a chain in which each context-related transaction, e. g. emergency
incident will be included in the same, or in adjacent blocks.
[0005] This object is solved by a method having the features according to claim 1 and a
system having the features of claim 15. Preferred embodiments of the invention are
defined in the respective dependent claims.
[0006] According to the invention, a method for optimizing blockchain complexity is provided,
the method comprising the steps of assigning, by a monitoring node of a blockchain
network, to a node of the blockchain network the leadership role to be a leader node
for an upcoming mining round; clustering, by the leader node, one or more transaction
related to one single incident in one or more of k blocks to be mined; beginning,
by the leader node, to mine the one or more k block and sending, by the leader node,
each mined block of the one or more k block to one or more other non-leader node in
the blockchain network to validate the one or more transaction in the one or more
of the k blocks; checking, by the one or more other non-leader node, if they comprise
one or more transaction related to one or more incidents that correspond to one or
more of the k blocks; ending the method if the one or more other non-leader node does
not comprise one or more transaction related to one or more incidents that correspond
to one or more of the k blocks.
[0007] According to a preferred embodiment, wherein, if the one or more other non-leader
node comprises one or more transaction related to one or more incident that corresponds
to one or more of the k blocks, the method further comprises: communicating, by the
one or more other non-leader node, to the leader node the one or more transaction
related to one or more of the incidents that correspond to one or more of the k blocks
and conveying, by the one or more other non-leading node the information about the
one or more transaction related to one or more incident; re-forming or re-shaping,
by the leader node, the one or more block of the k blocks by including the one or
more transaction related to the one or more incident which was conveyed by the one
or more other node and initiating the mining process for the one or more block.
[0008] According to another preferred embodiment, wherein, if after the re-forming or re-shaping,
by the leader node, further other one or more transaction related to one or more of
the incident that corresponds to one or more of the k blocks is conveyed by the one
or more other non-leading node to the leader node, the method further comprises: canceling,
by the leader node, the beginning of the mining of the one or more k block which comprises
the further other one or more transaction related to the one or more incident that
corresponds to one or more of the k blocks conveyed by the one or more other non-leading
node and sending, by the leader node, to the one non-leader node that will become
the next leader node after s seconds the further other one or more transaction related
to the one or more incident that corresponds to one or more of the k blocks conveyed
by the one or more other non-leading node together with the further other one or more
transaction related to the aforementioned transactions of the leader node.
[0009] According to still another preferred embodiment, wherein the method further comprises
ending the method, if the one or more other non-leader node does not comprise further
other one or more transaction related to one or more incidents that correspond to
one or more of the k blocks.
[0010] Further, according to a preferred embodiment, wherein if the one or more other non-leader
node comprises one or more transaction related to one or more incidents that correspond
to one or more of the k blocks, the method further comprising: communicating, by the
one or more other non-leader node, to the leader node the one or more transaction
related to one or more of the incidents that correspond to one or more of the k blocks
and conveying, by the one or more other non-leading node, the information about the
one or more transaction related to one or more incident; canceling, by the leader
node, the beginning of the mining of the block which should comprise the one or more
transaction related to one or more of the incidents that correspond to one or more
of the k blocks conveyed by the one or more other non-leader node and sending, by
the leader node, to the one non-leader node that will become the next leader node
after s seconds the one or more transaction related to one or more of the incidents
that correspond to one or more of the k blocks conveyed by the one or more other non-leading
node together with the one or more transaction related to the aforementioned transaction
of the leader node.
[0011] According to yet another preferred embodiment, wherein after s seconds have passed,
the method further comprises mining, by the next leader node, the one or more block
that comprises the one or more transaction or the further other one or more transaction
related to one or more of the incidents that correspond to one or more of the k blocks
conveyed by the previous leader node or conveyed by the one or more other non-leader
node.
[0012] According to yet another preferred embodiment, wherein the s seconds are set to a
maximum time period and are selected in this way so that the rest of the non-leading
nodes will manage to communicate the similar related one or more transaction to the
non-leading node that will become the next leader node after the s seconds.
[0013] According to yet another preferred embodiment, wherein the method further comprises
clustering, by the leader node, one or more transaction related to two or more different
single incidents in one or more blocks of the k blocks to be mined.
[0014] According to yet another preferred embodiment, wherein the leader node and/or the
one or more non-leader node of the blockchain network is one of a Public Safety Answering
Point, PSAP, or an Emergency Service Routing Proxy, ESRP, or a Session Border Controller
(SBC) element.
[0015] According to yet another preferred embodiment, wherein the blockchain network is
part of one of an emergency network, a governmental network, a military network, a
private network, a broadcasting network or a trading or banking network and the one
or more incident is one of a topic specific for the aforementioned networks.
[0016] According to yet another preferred embodiment, wherein the leader node is assigned
for a time frame of m seconds to mine the k blocks. Ideally, all transactions of the
currently responsible leader node should be created in a single block. However, since
this is difficult a default of at most k blocks is specified, but never up to n blocks.
This is due to the fact that the emergency calls which are received by the current
node may be received slightly after the current node has finished holding the leadership
token for this mining round. This has as a consequence that the leader node will mine
the related transactions in the next round and thus there will be at least 2 blocks
in the chain holding context-related transactions, dispersed in the chain, non-adjacent
blocks. More specifically, there will be a distance of at least (c-1 *k) other blocks
between the context-related blocks, where c is the number of nodes in the blockchain
network and k is the number of blocks that could be mined by each node in a single
mining round. Through this, and the fact that other non-leader nodes may also hold
similar context-related transactions to the current leader node, say due to misrouted
calls and so on, the searching complexity O will always diverge to a linear value
O(c), proportional to the number of blockchain nodes equal to c. Where k is always
something that based on the proposed method converges to a constant value, say for
example, k = 10, preferably k = 8 and especially preferably k = 5.
[0017] According to yet another preferred embodiment, wherein the monitoring node is an
Emergency Service Routing Proxy, ESRP, of an emergency network, or a Session Border
Controller (SBC).
[0018] According to yet another preferred embodiment, wherein the method further comprises
monitoring, by the monitoring node, the one or more other node of the network regarding
present and future leadership role and/or regarding one or more transaction to be
mined by the respective leader node in each mining round.
[0019] According to yet another preferred embodiment, wherein upon detecting, by the monitoring
node, that two or more other nodes of the network comprise one or more transaction
related to one or more incident; taking over the leadership role, by the monitoring
node order to mine one or more common block comprising the one or more transaction
related to the one or more incident; sending, by the monitoring node, to the two or
more other node which comprises the one or more transaction related to the one or
more incident a notification to prevent the two or more other node from mining the
one or more transaction related to the one or more incident; querying, by the monitoring
node, from the two or more other node the one or more transaction related to the one
or more incident; receiving, by the monitoring node, from the two or more other node
the one or more transaction and all information related to the one or more incident;
mining, by the monitoring node, the one or more transaction related to the one or
more incident in one or more common block; sending, by the monitoring node, an acknowledgement
to the other nodes that the one or more of the k blocks was mined successfully; and
passing, by the monitoring node, the leadership role to the next node who will be
the next leader node in s seconds.
[0020] According to the invention, a system for optimizing blockchain complexity is provided,
wherein the system is adapted to perform the steps of the method according to any
of the claims 1 to 14.
[0021] It has also to be noted that aspects of the invention have been described with reference
to different subject-matters. In particular, some aspects or embodiments have been
described with reference to apparatus type claims whereas other aspects have been
described with reference to method type claims. However, a person skilled in the art
will gather from the above and the following description that, unless otherwise notified,
in addition to any combination between features belonging to one type of the subject-matter
also any combination between features relating to different types of subject-matters
is considered to be disclosed with this text. In particular, combinations between
features relating to the apparatus type claims and features relating to the method
type claims are considered to be disclosed. The invention and embodiments thereof
will be described below in further detail in connection with the drawing(s).
- Fig. 1
- shows a schematic illustration of the method according to an embodiment of the invention.
- Fig. 2
- shows a flowchart of the method according to another embodiment of the invention.
- Fig. 3
- shows a schematic illustration of the method according to another embodiment of the
invention.
- Fig. 4
- shows a schematic illustration of the method according to another embodiment of the
invention.
- Fig. 5
- shows a schematic illustration of the method according to another embodiment of the
invention.
[0022] Fig. 1 presents in a schematically illustration an overview of the underlying architecture
of the method according to an embodiment of the invention. In this overview, the architecture
is illustrated by means of an example from the field of emergency networks. Here each
PSAP element PSAP1, PSAP2, PSAPn receives several emergency calls, also referred to
as emergency incidents or simply incidents, based on the standard routing mechanism
of the Emergency Services IP Network (ESInet). In the sense of the invention the ESInet
is a managed IP network that is used for emergency services communications, and which
can be shared by all public safety agencies (PSAPs). It provides the IP transport
infrastructure upon which independent application platforms and core services can
be deployed, including, but not restricted to, those necessary for providing Next
Generation 9-1-1 or 1-1-2 (NG 9-1-1 or NG 1-1-2) services. NG 9-1-1 or NG 1-1-2 are
IP-based systems comprised of hardware, software, data, and operational policies and
procedures that: provide standardized interfaces from emergency call and message services
to support emergency communications; process all types of emergency calls, including
voice, data, and multimedia information; acquire and integrate additional emergency
call data useful to call routing and handling; deliver the emergency calls, messages,
and data to the appropriate PSAP and other appropriate emergency entities; support
data or video communications needs for coordinated incident response and management.
ESInets may be constructed from a mix of dedicated and shared facilities. ESInets
may be interconnected at local, regional, state, federal, national and international
levels to form an IP-based inter-network (network of networks). The term ESInet designates
the network, not the services that ride on the network. Each node of such an ESInet
mines the transactions which correspond to the emergency calls/incidents every time
it is assigned a leader node, in specific time frames, say, t1, t2, t3. For example,
in Fig. 1 each PSAP element (PSAP1, PSAP2 and PSAPn) contributes a block in the blockchain
with relevant transactions which corresponds to the emergency incidents/calls Incident1-1,
Incident2-1, Incident3-1 that the PSAP elements PSAP1, PSAP2 and PSAPn have received
and have the responsibility to answer. In detail, a first caller, referred to as Caller
1 in Fig. 1, reports an emergency Incident1-1 from geolocation A to the emergency
call network. The same happens in a similar way for further emergency calls, in this
case Incident2-1 from Caller 2 from geolocation B and for Incident3-1 from Caller
3 from geolocation C. All incidents are forwarded via a gateway (GW) to the Emergency
Service Routing Proxy (ESRP) which forwards the emergency calls or incidents to the
corresponding responsible PSAPs. Now the PSAP selected as the leader node for time
frame t1, in this case PSAP1, which is responsible for Incident1-1, begins to cluster
the transactions related to this incident and then mines a first block, here Block1.
In the next time frame t2, PSAP2 becomes the leading node and adds a second block,
Block2, with the relevant transactions of Incident2-1 to the blockchain. In the third
time frame t3, another PSAP, referred to here as PSAPn, adds another block, Block3,
to the blockchain.
[0023] In Fig. 2, a flowchart of an overview of the steps of the method according to another
embodiment of the invention is shown. In a first step S210, a node is assigned the
leader role for this mining round by a monitoring node. This means that only this
node can mine and add new transactions to the blockchain. In step S220, the leader
node packs or clusters the transactions that correspond to the same incident in the
same block. This happens with the aim to group and reduce the dispersion of the similar
transactions in different blocks. This will help to create blocks that comprise transactions
for the same incident, e. g. an emergency incident. Using this inventive approach,
the search and grouping operations will be far more efficient. Say, for example, that
a PSAP which in this case pertains to a blockchain node, handles three different incidents
in the time range between the last time this node was a leader node and the current
time in which this node will become again the leader node. In other words, the time
period between the two-time frames in which this node is not the leader node. This
means that in the current mining round the leader node can add either a unique block
with all these transactions, or mine sequentially k different blocks, each one containing
the transactions which correspond to the calls of each incident. The second approach
is much more efficient, because at the end all the transactions of an incident will
be grouped inside a unique block, and they will not be dispersed in different blocks.
So, following this logic, a blockchain with condensed pieces of information inside
the different blocks is created and thereby non-obviously creating a list that will
reduce the search operations always to a complexity very close to O (log log c), like
in the case of interpolation search in the prior art, where c is the number of nodes
in the blockchain network, related to a specific incident and O is a measure for the
searching complexity. In step S230, the leader node starts mining sequentially the
k blocks, where the transactions of each incident are packed in a different block.
If that is not possible, the node packs or clusters the transactions in a way that
it is logically closer to this approach, for example, the transactions of two different
incidents are packed in a unique block. The leader node sends each mined block to
the remaining non-leader nodes to validate the transactions. In step S240, the other
nodes in the network which are not assigned the leader node, correlate their incidents
(e. g. emergency calls) and try to find out if there are any incidents which should
be assigned to the leader node and concern the blocks which have been mined. For example,
in the field of emergency handling, this is the case for misrouted calls, or calls
which are initiated from the same geolocation but have been routed to different PSAPs
due to Policy Routing Function (PRF) rules etc. In Step S250, the other nodes which
hold similar transactions communicate the information to the leader node. This instructs
the leader node either to change the mining order of one of the k blocks or to revoke
the mining of a block. Obviously, the mining order depends on the severity of the
incident, in case this can be identified. But the best solution would be to revoke
the mining process of this block and put it in the last position between the k different
blocks that need to be mined by the leader node. This is done so that other nodes
that may also hold similar transactions will have the time to communicate the information
to the leader node. In case the leader node revokes the mining of the block, this
happens either because the correlated transactions belong to a block which have already
been mined between the k blocks, or because the severity of the incidents indicates
that there is a high chance that similar incidents may have been directed to other
nodes (e. g. misrouted calls, antenna overload issues etc., in case of emergency calls
to other PSAP elements). If the leader node does not select to re-form or re-shape
one of the existing k blocks which will be mined in this time frame, it will directly
go to step S270. In this step, the leader node sends the transactions to one of the
possible other nodes which hold similar transactions (e. g. emergency call incidents).
The leader node selects to send the transactions to the node which will become the
leader node after s seconds. It is expected that s should correspond to the maximum
time period in which another node will become the leader. This indicates that the
current leader node selects the maximum time range so that other nodes may also send
transactions which are similar to this incident. In step S280, the node which will
become the leader node after s seconds mines these transactions when it will become
the leader node. However, if the leader node does select to re-form or re-shape one
of the existing k blocks, then after step S250, in step S260, the leader node re-shapes
and initiates the mining process for one or more of the existing k blocks. And, after
mining, the leader node sends the mined transactions to the other nodes in the network
for validation. If one of the other nodes sends additional transactions to the leader
node, the leader node will then handle these transactions according to step S270.
If no transactions are transmitted to the leader node after step S260, the leader
node finishes the mining process by passing the leader role to the next foreseen leader
node and the method ends.
[0024] Fig. 3 shows in a schematical illustration a scenario of the method according to
another embodiment of the invention. In the scenario of this embodiment, four different
callers, namely as Caller 1, Caller 2, Caller 3 and Caller 4 which are located in
the same geolocation A, initiate emergency calls to the ESInet. Based on the standard
routing rules, the calls or incidents should be routed to PSAP1 via the gateway (GW)
and the ESRP, because PSAP1 is according to the routing rules the appropriate PSAP
for geolocation A. In step S310 of this embodiment of the method, the node which corresponds
to PSAP1 is assigned the leader role for the time frame t1. In the step S320, this
leader node corresponding to PSAP1 clusters the transactions relating to Incident1-1,
Incident1-2 and Incident2-1 in two blocks. Then, in step S330, the leader node corresponding
to PSAP1 starts the mining process. Subsequently, in step S340, the node corresponding
to PSAPn identifies that Incident2-2 belongs to PSAP1. Then, in step S350, PSAPn communicates
the correlated transaction by informing and conveying the information about Incident2-2
to PSAP1. The node corresponding to PSAP1, then, in step S360, re-forms or re-shapes
the second block in a way that it also comprises Incident2-2. Due to antenna congestion
problems or other circumstances, the call/incident (i. e., Incident2-2) triggered
by Caller 4 was forwarded to PSAPn. If this call/incident was handled by PSAPn, it
means that it would also have been handled later by PSAPn in another block. However,
if this had been the case, it would have cost more to traverse the blockchain than
a simple linear search, since two transactions related to the same incident would
have been included in different blocks. To avoid that, in Step S350, PSAPn sends back
to the PSAP1 the information of Incident2-2. At this point PSAP1 mines Block1, so
it is possible to amend Block2, so that to also include the new transaction. In step
S360, PSAP1 re-forms Block2 and mines also the second block. At the end the two new
blocks mined in t1 are included in the blockchain ledger. In another case, if there
is not enough time in time frame t1, the transaction relating to Incident2-2 should
be communicated to PSAP1, and PSAP1 should plan to include it in a block the next
time it becomes the leading node in a later time frame tn.
[0025] Fig. 4 shows in a schematic illustration another embodiment of the method according
to the present invention. The scenario of this embodiment is the same as shown for
the previous embodiment depicted in Fig. 3. However, after the step S450 in which
the leader node has been informed for the emergency calls (i. e., transactions) which
are relevant for an emergency incident that is handled by itself, there is no time
in the time frame t1 to re-pack a block. So, in step S470, PSAP1 communicates to PSAPn
the correlated transaction Incident2-1 and cancels the mining of Block2. This happens
so that PSAPn will mine all the transactions which are relevant to a specific emergency
incident in this case Incident2. By transferring the transactions to this node, it
is achieved that the specific block will include all the transactions of the incident
by avoiding the dispersion in different blocks. In case this is a large-scale incident
which is maybe a strong indication for more misrouted calls, PSAP1 forwards the information
of PSAPn to other nodes, e. g. PSAPn+1 which may communicate the correlated emergency
incidents later. In any case, if PSAP1 has many different options to pick among different
PSAP elements which handle similar transactions, then it should start with the one
that will become the leader node after s seconds (i. e., the maximum time period).
This maximum time period is selected in this way so that the rest of the PSAP elements
will manage to communicate the similar transactions to PSAPn+1. In step S480, PSAPn
mines the block (here Block2) that contains both Incident2-1, Incident2-2, and a further
block (Block n) in time frame tn.
[0026] Another embodiment of the invention is depicted in a schematical illustration in
Fig. 5. In this embodiment, the case of correlated transactions between different
nodes, in this case the PSAP elements PSAP1 and PSAP2, which present only a small
difference with regards to the leadership round is considered. That is, for example,
that PSAP1 is leader in timeslot t1 and PSAP2 is leader in timeslot t5. In such a
case, it may be difficult to generate and convey notifications between the nodes in
order to cancel the mining process etc. as described in the previous embodiments.
In such a case, assuming that a monitoring node, in this case the ESRP element, has
knowledge of the round where each PSAP element is considered a leader, it may get
the leadership-right token, in order to mine a common block with the related information.
[0027] Fig. 5 exemplifies the above-described case. Two callers from adjacent geolocations,
namely Geolocation A and Geolocation B, have Line of Sight (LoS) with an emergency
incident, say, in Geolocation C. Both of them call the NG 9-1-1 or NG 1-1-2 service
(Call1, Call2), but they are routed in different PSAP elements (PSAP1, PSAP2). Still,
this is the general scenario, also covered in previous embodiments, in the case that
two PSAPs handle similar calls, or calls related to the same incident (Incident1,
Incident2). The ESRP element detects that these calls concern the same or similar
incident, say, for example, using an Interactive Voice Response (IVR) that receives
and compares the incident details from the callers, or by comparing video streams
of the two callers. The ESRP element in this case will forward the calls to the corresponding
PSAP elements (PSAP1, PSAP2, respectively) but it will send them also a notification
to prevent them from mining the specific transactions (Incident1, Incident2) which
are related to the correlated calls (Call1, Call2). The PSAP elements (PSAP1, PSAP2)
will send back to the ESRP element the details of the calls (Call1, Call2) which need
to be included in the mined block and the ESRP element will mine the respective block.
Using this approach, it is achieved the same effect of condensing the transactions
in the same and/or adjacent blocks. The ESRP element will send back to the PSAP elements
(PSAP1, PSAP2) an acknowledgement that the block was mined successfully. PSAP1 and
PSAP2 will preserve their right to be leaders in the next distinct time frames, because
they may have to mine other transactions, irrelevant to this emergency-case. Still,
the corresponding calls-transactions which concern the emergency incident between
two or more PSAP elements will be mined by the ESRP as shown in Fig. 5.
[0028] It should be noted that the term "comprising" does not exclude other elements or
steps and the "a" or "an" does not exclude a plurality. Further, elements described
in association with different embodiments may be combined.
[0029] It should also be noted that reference signs in the claims shall not be construed
as limiting the scope of the claims.
Reference numerals
[0030]
- GW
- Gateway
- PSAP
- Public Safety Answering Point
- ESRP
- Emergency Service Routing Proxy
- t1 - tn
- time frames t1 to tn
- LoS
- Line of Sight
- S210 - S290
- method steps S210 to S290
1. A method for optimizing blockchain complexity, wherein the method comprising the steps
of:
- S210 assigning, by a monitoring node of a blockchain network, to a node of the blockchain
network the leadership role to be a leader node for an upcoming mining round;
- S220 clustering, by the leader node, one or more transaction related to one single
incident in one or more of k blocks to be mined;
- S230 beginning, by the leader node, to mine the one or more k block and sending,
by the leader node, each mined block of the one or more k block to one or more other
non-leader node in the blockchain network to validate the one or more transaction
in the one or more of the k blocks;
- S240 checking, by the one or more other non-leader node, if they comprise one or
more transaction related to one or more incidents that correspond to one or more of
the k blocks;
- S290 ending the method if the one or more other non-leader node does not comprise
one or more transaction related to one or more incidents that correspond to one or
more of the k blocks.
2. The method according to claim 1, wherein, if the one or more other non-leader node
comprises one or more transaction related to one or more incident that corresponds
to one or more of the k blocks, the method further comprises:
- S250 communicating, by the one or more other non-leader node, to the leader node
the one or more transaction related to one or more of the incidents that correspond
to one or more of the k blocks and conveying, by the one or more other non-leading
node, the information about the one or more transaction related to one or more incident;
- S260 re-forming or re-shaping, by the leader node, the one or more block of the
k blocks by including the one or more transaction related to the one or more incident
which was conveyed by the one or more other node and initiating the mining process
for the one or more block.
3. The method according to claim 2, wherein, if after the re-forming or re-shaping, by
the leader node, further other one or more transaction related to one or more of the
incident that corresponds to one or more of the k blocks is conveyed by the one or
more other non-leading node to the leader node, the method further comprises:
- S270 canceling, by the leader node, the beginning of the mining of the one or more
k block which comprises the further other one or more transaction related to the one
or more incident that corresponds to one or more of the k blocks conveyed by the one
or more other non-leading node and
- sending, by the leader node, to the one non-leader node that will become the next
leader node after s seconds the further other one or more transaction related to the
one or more incident that corresponds to one or more of the k blocks conveyed by the
one or more other non-leading node together with the further other one or more transaction
related to the aforementioned transactions of the leader node.
4. The method according to any of the preceding claims, wherein the method further comprises:
- S290 ending the method, if the one or more other non-leader node does not comprise
further other one or more transaction related to one or more incidents that correspond
to one or more of the k blocks.
5. The method according to any of the preceding claims, wherein, if the one or more other
non-leader node comprises one or more transaction related to one or more incidents
that correspond to one or more of the k blocks, the method further comprising:
- S250 communicating, by the one or more other non-leader node, to the leader node
the one or more transaction related to one or more of the incidents that correspond
to one or more of the k blocks and conveying, by the one or more other non-leading
node, the information about the one or more transaction related to one or more incident;
- S270 canceling, by the leader node, the beginning of the mining of the block which
should comprise the one or more transaction related to one or more of the incidents
that correspond to one or more of the k blocks conveyed by the one or more other non-leader
node and
- sending, by the leader node, to the one non-leader node that will become the next
leader node after s seconds the one or more transaction related to one or more of
the incidents that correspond to one or more of the k blocks conveyed by the one or
more other non-leading node together with the one or more transaction related to the
aforementioned transaction of the leader node.
6. The method according to claim 5, wherein after s seconds have passed, the method further
comprises:
- S280 mining, by the next leader node, the one or more block that comprises the one
or more transaction or the further other one or more transaction related to one or
more of the incidents that correspond to one or more of the k blocks conveyed by the
previous leader node or conveyed by the one or more other non-leader node.
7. The method according to claim 5 or 6, wherein the s seconds are set to a maximum time
period and are selected in this way so that the rest of the non-leading nodes will
manage to communicate the similar related one or more transaction to the non-leading
node that will become the next leader node after the s seconds.
8. The method according to any of the preceding claims, wherein the method further comprises
clustering, by the leader node, one or more transaction related to two or more different
single incidents in one or more blocks of the k blocks to be mined.
9. The method according to any of the preceding claims, wherein the leader node and/or
the one or more non-leader node of the blockchain network is one of a Public Safety
Answering Point, PSAP, an Emergency Service Routing Proxy, ESRP, or a Session Border
Controller, SBC, element.
10. The method according to any of the preceding claims, wherein the blockchain network
is part of one of an emergency network, a governmental network, a military network,
a private network, a broadcasting network or a trading or banking network and the
one or more incident is one of a topic specific for the aforementioned networks.
11. The method according to any of the preceding claims, wherein the leader node is assigned
for a time frame of m seconds to mine the k blocks.
12. The method according to any of the preceding claims, wherein the monitoring node is
an Emergency Service Routing Proxy, ESRP, of an emergency network, or a Session Border
Controller, SBC.
13. The method according to any of the preceding claims, wherein the method further comprises:
- Monitoring, by the monitoring node, the one or more other node of the network regarding
present and future leadership role and/or regarding one or more transaction to be
mined by the respective leader node in each mining round.
14. The method according to claim 13, wherein upon detecting, by the monitoring node,
that two or more other nodes of the network comprise one or more transaction related
to one or more incident;
- taking over the leadership role, by the monitoring node order to mine one or more
common block comprising the one or more transaction related to the one or more incident;
- sending, by the monitoring node, to the two or more other node which comprises the
one or more transaction related to the one or more incident a notification to prevent
the two or more other node from mining the one or more transaction related to the
one or more incident;
- querying, by the monitoring node, from the two or more other node the one or more
transaction related to the one or more incident;
- receiving, by the monitoring node, from the two or more other node the one or more
transaction and all information related to the one or more incident;
- mining, by the monitoring node, the one or more transaction related to the one or
more incident in one or more common block;
- sending, by the monitoring node, an acknowledgement to the other nodes that the
one or more of the k blocks was mined successfully; and
- passing, by the monitoring node, the leadership role to the next node who will be
the next leader node in s seconds.
15. A system for optimizing blockchain complexity adapted/configured to perform the steps
of the method according to any of the claims 1 to 14.