EP4046328A1 - Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method - Google Patents
Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the methodInfo
- Publication number
- EP4046328A1 EP4046328A1 EP20807112.6A EP20807112A EP4046328A1 EP 4046328 A1 EP4046328 A1 EP 4046328A1 EP 20807112 A EP20807112 A EP 20807112A EP 4046328 A1 EP4046328 A1 EP 4046328A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- stake
- overflow
- address
- node
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 230000008569 process Effects 0.000 claims description 53
- 238000005065 mining Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 7
- 230000000750 progressive effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000000605 extraction Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 235000020299 breve Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Definitions
- the present invention concerns a computer-implemented method for reaching a proof of stake based distributed consensus for a distributed ledgers, such as the blockchain technology.
- the invention is particularly suited, but not limited to, achieving higher level of distribution of a proof of stake based network in order to not have too much stake concentrated in too few nodes, thus increasing the robustness of the network and lowering its vulnerability to any one node being compromised.
- blockchain to include all forms of electronic, computer- based, distributed ledgers. These include, but are not limited to blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, consensus- based ledgers, shared ledgers and variations thereof.
- the most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed.
- a blockchain is a consensus-based, electronic ledger which is implemented as a computer-based decentralised, distributed system made up of blocks which in turn are made up of transactions and other information.
- Bitcoin is an example of a proof-of-work blockchain in which miners perform expensive computations in order to facilitate transactions on the blockchain.
- Proof-of-work based blockchains have been criticized due to the large computing resources required, which requires a large amount of power consumption to operate and also due to the fact that block-generation may be irregular and slow. Moreover, several blocks must be built on top of a given block before the given block is considered to be confirmed (i.e., sufficiently unlikely to be reverted).
- Proof-of-stake based blockchains have been proposed as an alternative to proof-of-work blockchains.
- the blockchain is secured by proof- of-stake rather than proof-of-work.
- miners hold a stake (deposit some tokens) in a special account.
- This stake may be referred to as a security deposit and the probability of being selected as the node to mine a block is proportional to the quantity of the digital assets provided as a security deposit.
- Proof-of-stake blockchain networks can be used to avoid the computational expense and energy required to mine on proof- of-work blockchains.
- proof-of-stake blockchains can allow for higher frequency and more regular block creation than proof-of-work blockchains. At least some proof-of- stake blockchains also have a low probability of forking and a block may be effectively confirmed as soon as it is added to the blockchain.
- One objective of the present invention is obtaining a computer-implemented method able to encourage the distribution of the network and efficiency of the miners, and at the same time optimizing blockchain scalability.
- a second objective of the present invention is obtaining a computer-implemented method able to improve robustness of the network.
- a further objective is to optimize the computer-implemented method in order to increase the global security of the blockchain network.
- a further objective of the present invention is to provide a the computer-implemented method that encourages the use of honest performing nodes to mine the subsequent block and discourage the use of nodes that do not perform well or that have intentionally bad or malicious behaviour.
- An objective of the present invention is also to keep low the energy consumption of the network and possibly increasing node computational power only when needed.
- a further objective of the present invention is to provide a system implementing the computer-implemented method easily to be designed, with an optimized energy and computational power consumption and extremely efficient.
- this invention relates to a computer-implemented method for reaching a proof of stake based distributed consensus for a blockchain network, thus allowing to achieve higher level of distribution of the network and to not have too much stake concentrated in too few nodes, said blockchain network comprising one or more MAIN addresses, for each MAIN addresses being associated in turn one or more OVERFLOW addresses/nodes, the last being able to act as potential mining nodes only if a predetermined minimum amount of stake is assigned to said one or more OVERFLOW address/node, comprising the following processes:
- this invention relates to a computer-implemented method wherein the redistribution process may further be configured in such a way that if there is any stake left it is distributed between the OVERFLOW nodes until as many nodes as possible have a stake equal to maximum stake value and any further stake is assigned to the first OVERFLOW node according a predetermined order It enables to optimize the redistribution of the total stake assigned to a pool of OVERFLOW nodes linked to a MAIN address and makes that only first OVERFLOW nodes according an univocal progressive predetermined numeration may be under penalty regime.
- this invention relates to a computer-implemented method further comprising an initializing process being configured to list all MAIN addresses of the blockchain network, for each MAIN address list its assigned OVERFLOW addresses/nodes, and then for each OVERFLOW addresses/node transfer the stake if it has any, to its assigned MAIN address.
- this invention relates to a computer-implemented method further comprising a maintenance process, comprising the following steps, being given a MAIN address and at least two or more OVERFLOW addresses and a node desired to be maintained: 110: sending a transaction including a first input providing a substitute
- OVERFLOW address using its private key thus meaning said substitute OVERFLOW address being a node substituting the node desired to be maintained 120: assigning said substitute OVERFLOW address to the corresponding MAIN address using private key of the MAIN address 130 deregistering the desired to be maintained using its private key.
- the MAIN address can UNASSIGN an overflow node previously assigned to it
- this invention relates to:
- node configured to implement a method for reaching a proof of stake based distributed consensus for a blockchain network, thus allowing to achieve higher level of distribution of the network and to not have too much stake concentrated in too few nodes
- said node comprising an interface device, a processor coupled to said interface device, a memory coupled to the processor, the memory having stored thereon computer executable instructions which, when executed, configure the processor to perform the corresponding steps of the computer implemented method disclosed.
- a completely decentralized scheme is proposed for determining the order of access to a shared resource.
- the basic idea is to order the nodes, e.g. OVERFLOW, enabled to access the shared resource according to their own identifier.
- Each enabled node is assigned a numerical interval whose size is proportional to the number of time slots in which the same node has the right to have access to the shared resource.
- a node is enabled for access when it has the right to access the shared resource for at least one time slot.
- the numerical intervals are consecutive and also ordered according to the same order of the unique identifiers of the nodes.
- This alignment of numerical intervals is shared and known by all nodes. Over time, this alignment may change in relation to the presence and breadth of individual numerical intervals.
- the nodes enabled to access the shared resource calculate or acquire a seed, that is a random or pseudorandom number.
- epoch it is meant, in summary according to the TDMA - “Time division multiple access” approach, a macro interval of subdivision of time, in which each epoch is divided into so-called time slots.
- the number of time slots assigned to each node sharing a shared resource is predetermined according to a predetermined distribution logic.
- Each node independently performs the following operations in succession for a number of cycles equal to the number of time slots at the time:
- the network can be formed by a greater number than the enabled nodes.
- the redistribution of time slots between nodes can depend on authoritative or random policies.
- the seed is a random or pseudo-causal number that can be extracted from a specific node that, for example, has the sole task of generating the seed.
- the shared resource consists of the task of undermining a block and the seed can be determined on the basis of a hash built on the basis of one or more blocks of a previous era.
- the hashes extracted in this way are concatenated. Their concatenation or the hash of their concatenation (hash of hash) defines the seed for calculating the order of access to the shared resource of the next epoch.
- each node since all nodes keep a copy of the blockchain, each node is able to calculate the order in which each enabled node has the right to access the shared resource.
- the essential elements that each node must know are the distribution of the time slots between the enabled nodes, the unique identifier of all the enabled nodes and the seed. According to the application of this construction variant to blockchains, these are of the Proof of Stake type, in which there is no competition to complete the construction or mining of the blocks.
- the slots are assigned to the nodes according to the method described above and each node has the task of completing a block within this time slot, inserting queued and pending transactions at the time the time slot begins.
- the present embodiment allows a blockchain to continue in its tasks even in the event of random and momentary disconnection of the nodes.
- the performance of a node can be appreciated in relation to the number of transactions that it can include in a block generated in the assigned time slot.
- the node assigning the time slot forwards it to the network of nodes, which accept or reject this block, if it is correct.
- the block is accepted by 50% + 1 of the nodes, the block is considered as definitively accepted and therefore, the blockchain can continue to grow by appending additional blocks to that block.
- the assignee node of the next time slot starts generating its own block, called “new block”, ignoring the missed or late reception of the late block.
- new block the assignee node of the next time slot starts generating its own block, called “new block”, ignoring the missed or late reception of the late block.
- the competition is won by the block that first receives 50% + 1 approval from the remaining nodes of the network. Therefore, the acceptance of the delayed block or the new one may depend on the extent of the delay.
- a further block is therefore appended to the block that wins the contest. It must be taken into account that, in blockchains, the block that is queued includes the hash of the block to which it is queued.
- Figure 1 illustrates a flow chart of the computer-implemented method according to the present invention
- Figure 2 illustrates an operative example of the registration process of the computer- implemented method according to the present invention
- Figure 3 illustrates an example scheme of the network including one MAIN address and three OVERFLOW nodes according to the present invention
- Figure 4 illustrates a flow chart of the initialization process of the computer-implemented method according to the present invention
- Figure 5 illustrates an operative flow chart of the initialization process of the computer- implemented method according to the present invention
- Figure 6 illustrates an operative example of the initialization process of the computer- implemented method according to the present invention
- Figure 7 illustrates a flow chart of the redistribution process of the computer- implemented method according to the present invention
- Figure 8 illustrates an operative flow chart of the redistribution process of the computer- implemented method according to the present invention
- Figure 8 illustrates an operative flow chart of the redistribution process of the computer- implemented method according to the present invention
- Figure 9 illustrates an operative example of the redistribution process of the computer- implemented method according to the present invention.
- Figure 10 illustrates a flow chart of the penalty process of the computer-implemented method according to the present invention.
- Figure 11 is an association table of entities necessary for the autonomous calculation of access to a shared resource;
- Figure 12 shows a numerical range;
- Figure 13 shows a scheme for accessing a shared resource according to a preferred embodiment of the present invention
- Figure 14 shows a flow chart of a method according to a preferred embodiment of the present invention.
- the term "second” component does not imply the presence of a "first” component. These terms are in fact used as labels to improve clarity and should not be understood in a limiting way.
- this disclosure describes a computer-implemented method, system for reaching a proof of stake based distributed consensus for a distributed ledgers, such as the blockchain technology.
- this invention relates to a proof of stake based blockchain technology where stakeholders cannot and do not have to communicate with mining nodes.
- the blockchain technology provides for two main actors: stakeholders i.e. who owns tokens allowing control of the chain, and miner i.e. who control mining nodes actively operating in the network and entrusted with a sufficient amount of stake in order to obtain assignment of a certain number of work slots where they mine a correspondent certain number of block thus lengthening the chain.
- the blockchain is considered a meta actor and it is the union of the nodes operating on the network. Sending a transaction to the blockchain leads that this transaction reaches each operating node which updates its internal status consistently.
- These update procedures are constructed in such a way as to ensure that the same initial conditions produce identical status updates in every node in a strictly deterministic way.
- This meta actor represents the massive update procedure on each node of the network.
- an epoch is intended a grouping of contiguous slots.
- Each epoch consists of an equal number of slots. Assignment and redistribution of slots and stakes are calculated once for each epoch and remain unchanged until the end of the same.
- a stake is a numerical representation of the right to vote of each stakeholder of the network.
- the stake may be delegated with specific rules and operations to the nodes involved in the block creation.
- this address is not associated with a physical object (a MAIN address in not associated to an active mining node) and acts as a placeholder indicating a physical resource group which the blockchain is desired to access, thus exposing its private key only during assignment transaction of OVERFLOW address to MAIN address and not during other operative transaction, increasing the global security of the chain;
- this MAIN address (for instance alice_main_address) is declared by its owner and its managed using its private key (for instance alice_key). Only the MAIN address may declare which OVERFLOW nodes are assigned to it;
- this address is associated with a physical object and acts as an active mining node; this OVERFLOW address (for instance node_l_overflow_address) is managed using its private key (for instance node_l_key); it is possible that the MAIN address manager and the OVERFLOW node manager are the same entity but they use different keys when impersonating Alice or Node_l; the owner of each MAIN address (for instance Alice) using a specific transaction associates each registered overflow node to its MAIN address. Only the MAIN address in the network may link an OVERFLOW address to itself, meaning that only the MAIN address may send an ASSIGN type transaction linking an OVERFLOW to a MAIN address.
- OVERFLOW address may not assign itself to a MAIN address.
- OVERFLOW address/node may not be shared between MAIN addresses, an OVERFLOW address may be assigned to only one MAIN address. Only an address previously declared as OVERFLOW may be associated with a MAIN address.
- An OVERFLOW node may also deregister and by doing so, removes itself from both the pool of available nodes and the MAIN address it was assigned to beforehand. This is to give both MAIN and OVERFLOW nodes the possibility to protect themselves from unwanted situations in which they get linked together, whether it’s the result of an honest mistake or malicious behaviour.
- the computer implemented method according to the present invention comprises, a redistribution process, a penalty process and may comprise a registration process, an initializing process and a maintenance process.
- the registration process is configured to register one or more MAIN address, to register one or more OVERFLOW address/node and to associate said one or more OVERFLOW address/node to a MAIN address and to register said association.
- the registration process (fig. 2, 3) implemented on each overflow node of the blockchain network comprises the following steps:
- the computer implemented method according to the present invention provides for setting a minimum amount of stake (S_min_VAL) assigned to an OVERFLOW node to be activated and considered as mining node and in order to avoid having all the stake concentrated on only a few nodes is settled a soft upper limit to the amount of stake that can be assigned to a node, beyond which mining node starts incurring in penalties. This should make concentration of stake beyond efficient ranges less appealing to nodes looking to reap the maximum possible rewards.
- the maximum amount of stake desirable (S_MAX_VAL) may be double the value of S_min_VAL.
- the algorithm is designed to maximise the number of active nodes by spreading the excess stake among as many overflow nodes as possible in order to expand the network thus increasing its resilience.
- the computer implemented method comprises an initializing process in order to recover the incorrectly pointed stake on an OVERFLOW node and to collect them to the corresponding MAIN address before performing a redistribution process according to computer implemented method of the invention.
- the initializing process is useful when stakes are incorrectly bet on one or more OVERFLOW nodes, thus making the distribution between OVERFLOW nodes reliable. Furthermore the initializing process is useful to ensure the OVERFLOW addresses have no stakes assigned before performing the redistribution process.
- the initializing process (fig. 4) is configured to list all MAIN addresses of the blockchain network, for each MAIN address list its assigned OVERFLOW addresses/nodes, and then for each OVERFLOW addresses/ node transfer the stake if it has any, to its assigned MAIN address.
- the initializing process (fig. 5, 6) implemented on each overflow node of the blockchain network in particular comprises the following steps:
- a blockchain network comprising one or more MAIN addresses, for each MAIN addresses are associated in turn one or more OVERFLOW addresses/nodes acting as potential mining nodes only if a predetermined minimum amount of stake is assigned to said one or more OVERFLOW address/node;
- the redistribution process may further be configured in such a way that if there is any stake left it is distributed between the OVERFLOW nodes until as many nodes as possible have a stake equal to maximum stake value and any further stake is assigned to the first OVERFLOW node according a predetermined order.
- the redistributing process (fig. 8, 9) comprises in turn a first iteration redistribution process where the algorithm assigns to every available OVERFLOW node assigned to each MAIN address the minimum required amount of stake to became an active mining node, and a second iteration redistributing process the algorithm distributes the stake trying to maximise the number of overflow nodes operating at full stake in view of S_MAX_VAL settled for any OVERFLOW node.
- the redistribution process comprises in particular the following steps:
- OVERFLOW addresses/nodes acting as potential mining nodes only if a predetermined minimum amount of stake is assigned to said one or more OVERFLOW address/node;
- the penalty process makes mining operations that do not respect settled rules disadvantageous, thus incentivising nodes to naturally expand the network thus increasing its resilience as already discussed.
- the computer implemented method includes a reward for miner for remunerating their calculation effort during their mining operation. If a miner is not able to write a block in the corresponding slot or he mines in a number of slots over a predetermined limit, he will not receive in the following epoch the corresponding reward for the block not written or for the block mined over the predetermined limit (in each slot only one block may be written), but this reward (for the blocks mined over the limit) is frozen and will be recovered very slowly a little at a time (for instance according to a number of parts equal to twice the number of slots mined under penalty regime) for each following slots will have been mined by the miner, in particular according to a number of parts proportional to the number of slots mined over said predetermined limit Slot_MAX, being one part assigned to each following slot the miner is delegable to mine, thus in order to naturally incentive the distribution of the blockchain network. As mentioned before a reward+2 corresponds to the reward for mining a block j+
- This reward+2 includes one coinbase (i.e. a new created coin) for the blocks +i mined, and a collected_fee j +i .
- This collected fee ⁇ +i in turn includes the collected fee paid by users wanting a transaction to be performed and written in the relevant block j +i of blockchain network.
- Penalty_slots +i number of slots mined over the limit in the epocd +i i.e. number of slots over Slot_MAX*2
- Frozen fee +i is the amount of reward not dispensed to the miners in the epoch +i for having mined a number of slots over the limit Slot_MAX, thus having been under penalty regime.
- the penalty process (fig. 10) implemented on each overflow node of the blockchain network comprises in particular the following steps:
- penalty_slots and frozen_fee are transferred from the first OVERFLOW node to its MAIN address.
- the penalty_slots and frozen_fee are transferred from the MAIN address to its first OVERFLOW node.
- This procedure is necessary to avoid malicious behaviour such as undue transfers of tokens from one pool to another.
- the computer- implemented invention may comprise a maintenance process comprising in turn the following steps, being given a MAIN address and at least two or more OVERFLOW addresses and a node desired to be maintained:
- the MAIN address can UNASSIGN an overflow node previously assigned to it.
- MAIN address private keys come into play only for the short period of time necessary to generate registration and assignment transaction but is no longer involved in any subsequent processing phase. This exempts it from being available online on an object that may be subject to malicious attack.
- presence constantly online of a physical servers and the corresponding keys necessary to operate on the network allows a malicious third party to steal private keys from them and to take over all the stake delegated to the MAIN address farm.
- the present invention further concerns a node (preferably an OVERFLOW node) configured to implement the computer implemented method disclosed, said node comprising an interface device, a processor coupled to said interface device, a memory coupled to the processor, the memory having stored thereon computer executable instructions which, when executed, configure the processor to perform the corresponding steps of the computer implemented method disclosed.
- a node preferably an OVERFLOW node
- the present invention further concerns a computer readable storage medium comprising computer-executable instructions which, when executed, configure a processor to perform the computer implemented method disclosed.
- the present invention further concerns a computer network for performing a blockchain- based transaction from a first user to a second user in an electronic transfer network of connected nodes, wherein the nodes includes at least a first node, a second node, as disclosed before, wherein each node share a same blockchain, and wherein each node stores a computer readable storage medium disclosed before.
- Alice At the beginning of epoch 15 Alice will have 10 active nodes (node al, ..., node alO) each with 60 slots assigned.
- Mallory will have active 5 nodes (node ml, ..., node m5) each with 120 slots assigned.
- the ten Alice nodes have assigned 60 slots, thus producing 60 blocks, in each block there will be a reward of 1 token. Being ten nodes (60
- Mallory Let's now pass to Mallory, the five nodes of Mallory have assigned 120 slots, thus producing 120 blocks, in each block there will be a reward of 1 token. Being five nodes (120 * 5 * 1) the expected reward will be 600 tokens.
- Mallory's balance should increase from 30,000 to 30,600 tokens. Only three of Mallory's nodes, node m3, node m4, node m5, have been modified to operate incorrectly. The causes of this behaviour can be various and now we will list some of them.
- the server on which the node is installed is malfunctioning and fails the mathematical operations by marking as invalid valid transactions eg. Carol, with a budget of 100 tokens, sends 25 to Bob.
- the server's network connection is unreliable and the block is not transmitted in time. Involuntary malevolent interaction.
- 22,800 blocks will be generated and therefore a reward of 22,800 tokens.
- the total stake of the network is 1,200,000, the stake assigned to non-Alice or Mallory nodes is 1,140,000.
- the reward for the aforementioned nodes will be 22,800 tokens, bringing their stake to 1,162,800 tokens.
- the following table compares the network control percentage in epoch 15 with the revaluation in epoch 16 (expected) and 16 (real)
- node alO each with 60 slots assigned.
- Mallory will have one node ml node active with 600 slots assigned.
- the slots of Alice and Mallory are the same because they have the same active stake. However, the distribution changes. Mallory has only one node while Alice has ten of them. Mallory is penalized.Alice's nodes are active with the minimum, the Mallory node is 480 slots beyond the limit and for this she will receive a penalty. Assuming a perfect execution of the protocol in epoch 15, we assume that an average of 5 tokens / block is the amount of collected fee for greater simplicity.
- an access to a shared resource is calculated autonomously by all nodes e.g. OVERFLOW nodes of the network.
- nodes e.g. OVERFLOW nodes of the network.
- mining construction tasks
- TDMA time division multiple access
- the TDMA approach involves dividing time into macro intervals called epochs, in which each epoch is divided into so-called time slots.
- the number of time slots assigned to each node sharing a shared resource is predetermined according to a predetermined distribution logic.
- each node Nl, N2, N4, etc., which accesses the shared resource has its own unique identifier ID1, ID2, ID4, etc .. generally numeric.
- the identifiers can be sorted according to a list, as shown in figure 11.
- Each identifier is associated with a number of time slots to which the node has the right of access at a predetermined time.
- An epoch is an ordered grouping over time, of time slots.
- Each node is also associated with a numerical interval of width proportional to the number of time slots associated with the same node.
- the relative numerical interval is for example 20, while if N2 has the right to access only one time slot, the relative numerical interval is 10.
- the range goes from 0 to 19.
- the range goes from 19 to 29.
- the range goes from 29 to 59.
- the other nodes N3 and N5 obviously, do not have the right to access the shared resource at the time under consideration.
- the seed can independently calculate the order of access to the shared resource according to the steps performed cyclically for a number of cycles equal to the number of time slots at the time: - i-th calculation of the seed hash,
- Hash of the previously calculated Hash is then calculated. This time, the remainder of the division leads to a value equal to 32 which falls in the interval R4 which belongs to N4. Therefore the second time slot belongs to N4.
- the aforementioned division can be achieved by carrying out any conversions of divisor or dividend notation so that they are compatible.
- FIG 14 shows an explanatory flow chart of the method object of the present invention, which includes the following preliminary steps in succession:
- Figure 13 shows a random allocation scheme of the time slots according to the present invention, now described assuming that the shared resource is a transmission medium.
- Holders can be access servers to a portion of a telematic network, for example the internet.
- Flow generator A is entitled to use three time slots
- flow generator B is entitled to five time slots
- flow generator C is entitled to seven time slots.
- each flow generator can forward a request for access to the transmission medium to a transmitting station.
- A wishes to request node Nl to transmit its data during the assigned time slots.
- B distributes two assignments to Nl, three in loads to N2 and two and N3.
- the calculation of the time slots to be accessed can be performed by the flow generators or by the transmitting stations. Furthermore, the identifiers ID can belong to the flow generators or to the transmission nodes.
- the time slots of the time (Epoch) of Figure 13 are assigned by the present invention to N2, Nl, N3, N2, N3, etc ..
- Figure 13 can also be interpreted as a situation in which in a proof of stake blockchain, the flow generators, indicated in the figure as "Holders" are servers that receive / collect transaction requests, while the nodes N1 - N4 correspond to the miners.
- Holders can choose the node to which to entrust their transactions (or their data flow), in relation to the reliability of the node itself. For example, by keeping track of the efficiency in the execution of tasks assigned in previous times.
- the present invention can be advantageously realized by means of a computer program which comprises coding means for carrying out one or more steps of the method, when this program is executed on a computer. Therefore it is intended that the scope of protection extends to said computer program and further to computer readable means comprising a recorded message, said computer readable means comprising program coding means for carrying out one or more steps of the method. , when said program is run on a computer.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102019000018935A IT201900018935A1 (en) | 2019-10-15 | 2019-10-15 | COMPUTER-IMPLEMENTED METHOD FOR REACHING A DISTRIBUTED CONSENSUS IN A BLOCKCHAIN NETWORK AND NODE IMPLEMENTING THE METHOD. |
IT102019000020218A IT201900020218A1 (en) | 2019-10-31 | 2019-10-31 | Distributed system for determining an order of access to a shared resource |
PCT/IB2020/059709 WO2021074848A1 (en) | 2019-10-15 | 2020-10-15 | Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4046328A1 true EP4046328A1 (en) | 2022-08-24 |
Family
ID=73401855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20807112.6A Withdrawn EP4046328A1 (en) | 2019-10-15 | 2020-10-15 | Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4046328A1 (en) |
WO (1) | WO2021074848A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113269645B (en) * | 2021-05-28 | 2024-05-17 | 中邮信息科技(北京)有限公司 | Transaction information scheduling method and device of blockchain, medium and electronic equipment |
CN114915556B (en) * | 2022-07-19 | 2022-10-21 | 北京航空航天大学 | Calculation task allocation method for industrial internet profit optimization |
-
2020
- 2020-10-15 WO PCT/IB2020/059709 patent/WO2021074848A1/en unknown
- 2020-10-15 EP EP20807112.6A patent/EP4046328A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2021074848A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhaskar et al. | Bitcoin mining technology | |
Poon et al. | Plasma: Scalable autonomous smart contracts | |
CN109039648B (en) | Block chain creating method and device and readable storage medium | |
Wan et al. | Recent advances in consensus protocols for blockchain: a survey | |
Wang et al. | Monoxide: Scale out blockchains with asynchronous consensus zones | |
Saad et al. | e-PoS: Making proof-of-stake decentralized and fair | |
Xu et al. | A survey of blockchain consensus protocols | |
KR102240939B1 (en) | Blockchain system with consensus algorithm based on proof-of -transaction and method there of | |
Bano et al. | Consensus in the age of blockchains | |
US20190370793A1 (en) | Hybrid consensus for blockchain using proof of work and proof of stake | |
WO2017082238A1 (en) | Block chain generation device, block chain generation method, block chain verification device, block chain verification method and program | |
KR101994455B1 (en) | distributed network system operating a group for the nodes included in the system | |
KR20210003234A (en) | Maintaining blocks of a blockchain in a segmented blockchain network | |
Liu et al. | On the strategy and behavior of bitcoin mining with n-attackers | |
JP2017091148A (en) | Block chain generator, block chain generation method, block chain verifier, block chain verification method, and program | |
CN115427995A (en) | Time-locked blockchain transactions and related blockchain techniques | |
US11475025B2 (en) | Blockchain system comprising consensus protocol using search for good approximate solutions to any optimization problem and its computor program | |
US11651335B2 (en) | Methods and devices for controlling a mining pool for multiple blockchain networks | |
CN111951108A (en) | Chain structure design method with intelligent contract block chain with complete picture | |
EP4046328A1 (en) | Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method | |
WO2021009496A1 (en) | Peer-to-peer network and method | |
Bashar et al. | Contextualizing consensus protocols in blockchain: A short survey | |
Xu et al. | Microchain: A hybrid consensus mechanism for lightweight distributed ledger for IoT | |
CN113939821A (en) | System and method for non-parallel mining on a workload justification blockchain network | |
Li et al. | A survey of state-of-the-art sharding blockchains: Models, components, and attack surfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20220324 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Free format text: PREVIOUS MAIN CLASS: H04L0009320000 Ipc: H04L0009000000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/32 20060101ALI20230125BHEP Ipc: H04L 9/00 20060101AFI20230125BHEP |
|
INTG | Intention to grant announced |
Effective date: 20230301 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20230712 |