WO2020254923A1 - Method in blockchain systems for fast stabilization and increased responsiveness using links - Google Patents

Method in blockchain systems for fast stabilization and increased responsiveness using links Download PDF

Info

Publication number
WO2020254923A1
WO2020254923A1 PCT/IB2020/055472 IB2020055472W WO2020254923A1 WO 2020254923 A1 WO2020254923 A1 WO 2020254923A1 IB 2020055472 W IB2020055472 W IB 2020055472W WO 2020254923 A1 WO2020254923 A1 WO 2020254923A1
Authority
WO
WIPO (PCT)
Prior art keywords
links
block
link
blockchain
chain
Prior art date
Application number
PCT/IB2020/055472
Other languages
French (fr)
Inventor
Vinay Joseph RIBEIRO
Ovia SESHADRI
Original Assignee
Indian Institute Of Technology, Delhi
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 Indian Institute Of Technology, Delhi filed Critical Indian Institute Of Technology, Delhi
Publication of WO2020254923A1 publication Critical patent/WO2020254923A1/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/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/407Cancellation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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

Definitions

  • the present subject matter described herein in general, relates to the field of blockchain system and particularly, to a method to increase the responsiveness and stability of a blockchain.
  • a blockchain is a decentralized, distributed, immutable chain of blocks containing data called transactions.
  • transactions There are several types of popular blockchains. All blockchain as discussed herein follow a base consensus mechanism (BCM). Blockchains are realised in a dynamic p2p network where each node is invested in the maintenance of the blockchain.
  • BCM base consensus mechanism
  • the blockchain can be generated by any consensus mechanism or a combination of consensus mechanisms.
  • consensus mechanisms may include but not limited to Proof-of-Work (PoW), Proof-of-stake (PoS), Proof-of-authority (PoA), Algorand, and the like.
  • Fork or Forked state is a situation that can occur during the life of the blockchain where the chain is bifurcated into multiple branches such that these branches have equal weight on them and the heaviest-chain-wins policy cannot by itself decide which is longer. This occurs when a miner receives a block pointing to some ancestral block and he is not able to determine the best chain as they weigh the same. The split is called the fork and the system is in a Forked State. Usually, the first block the miner saw is picked (in Bitcoin) and he continues to mine on it and will delay the decision process until one of the branches grows and differs in weight.
  • Bitcoin A Peer-to-Peer Electronic Cash System’ Bitcoin.org (2009).
  • Miners and miners that are not well connected to the overlay network are at a disadvantage, earning less than their fair share.
  • Miners who may be mining on the branch in which lesser network hashing power is focused on are at a disadvantage bee ause their chain might become stale (Stale block are blocks that were once part of the main chain or a forked branch but have been discarded as a heavier longer chain of blocks took over).
  • Miners not well connected to the network lose out due to forks because blocks take a much longer time reaching them and they may be mining on a stale block with no intermediate validation on their work. This also becomes one of the reasons for mining pools. Mining Pools are groups of small miners working together to find the next block and agreeing to share the block reward.
  • Miners are therefore incentivized to coalesce into larger and larger pools, and thereby pose a centralization threat.
  • Ittay Eyal Emin Sirer,“Majority is not enough: Bitcoin mining is vulnerable”.
  • Rafael Pass Lior Seeman
  • Bitcoin which has PoW blockchain
  • VISA throughput which is >20k transactions per second
  • bitcoin can manage only 7 transactions per second.
  • the block-size/block-interval parameter adjustment is a difficult line to toe, as is clear from the tenor of the scalability debate.
  • Selfish Mining and Responsiveness is an attack where an adversary tries to take control of the chain by secretly mining a chain and broadcasting it when his chain is longer/heavier than the existing chain, thus forcing the network to switch to his chain.
  • a Selfish Miner or mining pool does not publish a valid solution they solve as soon as they find it to the rest of the network. They instead continue to mine the next block and so on maintaining the chain lead. Reference is made to non-patent literature documents, Ittay Eyal, Emin G un Sirer.
  • Responsiveness or Confirmation time of a blockchain system is the time it takes to confirm any transaction i.e. time from which a particular transaction appears on a blockchain to the time at which miners can be confident with high probability that the block containing that transaction will be permanent.
  • the shorter the confirmation time the higher the responsiveness of the system. In an ideal system, there would be reduced confirmation time hence increased responsiveness.
  • the confirmation time is currently 6 blocks ( ⁇ 1 hour) assuming that an attacker has less than 10% of total network mining power and that the probability of his generating an alternative longer chain is less than 0.001. Since selfish mining and double spends becomes significantly harder, there is a need to improve the responsiveness of the blockchain system.
  • BitcoinNG and Fruitchains use block like structures to over comes other problems of Proof of work blockchain systems.
  • Bitcoin NG aims to improve transaction throughput by allowing the leader of an epoch to create micro-blocks (with transactions) with no PoW. These are prone to bribery attacks where the leader can be bribe to behave maliciously.
  • Fruitchains aim to improve chain quality and fairness. Like Bitcoin NG, They also allow transaction in their block like structures called fruits. Holding transactions makes these solutions large in size, hence they have large propagation times.
  • An objective of the present invention is to increase stability with a steady contribution with time to the weight of the chain.
  • Another objective of the present invention is to increase stability to result in faster resolution of Forks.
  • Yet another objective of the present invention is to provide insight into the division of mining power in the network at any point in time.
  • Another objective of the present invention is to significantly reduce chances of selfish mining and double spend attacks with increased stability.
  • Yet another objective is to increase Blockchain responsiveness.
  • the present invention provides a computer implemented method in a blockchain system, wherein said method comprising:
  • said links includes a bitstring information comprising
  • said address of said entity is a coinbase transaction.
  • the links include a fixed size small structures having data such that they have low propagation/queuing delays and broadcast in a peer-to-peer (p2p) blockchain network.
  • p2p peer-to-peer
  • the present invention provides a method for adding at least a link to a blockchain using a mechanism, wherein said method comprising: a) Generating, by a processing server, said link including a block header containing at least a pointer to a parent block or another Link and a solution to a PoW puzzle along with a body, and a transaction containing an address of an entity creating each of said links and no other transaction,;
  • the present invention provides a non-transitory computer readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:
  • Links tackles the approach to resolving forks in a novel way.
  • Links are similar to any other block on a blockchain except that they don’t contain any transactions other than the coinbase.
  • Links are structures created and propagated by miners, that affect the blockchain by contributing some additional weight to it. Links are easier to generate and travel much faster than blocks (as they have no transactions they are much smaller in size).
  • links can significantly reduce fork resolution times by helping miners quickly estimate the mining power being assigned to each fork as we are able to see the number and frequency of Links to every block on each branch.
  • Miners can simply switch to a heavier branch determined by the weight contributed by Links thereby resolving forks much faster than traditional blockchains without Links where they have to wait for till the arrival of the next block. This way it contributes steadily with time to the weight of the chain giving the chain stability(ability to recover and establish itself from an indecisive state quickly).
  • the blockchain is said to be stable when all of the miners at any point of time are mining on the same heaviest chain and the system is not in a forked state. Links help attain stability much faster when the system is threatened. This provides higher security against attacks with high mining power giving them less time to take advantage of the division of honest power.
  • links according to the present invention take much less effort to create than a normal block which enables smaller miners to generate them much more frequently than blocks still proportional to his mining power.
  • links benefit from publishing Links eliminating the need for them to join mining pools due to the unfairness caused to them through forks. When forks are resolved faster, a double spend attack can also be identified at a much earlier stage.
  • Links help reduce selfish mining and double spend attacks by increasing the stability of the chain.
  • Links contain proof of work and can contribute to the weight of block they point to. Links are expected to be generated continuously and in large numbers, unlike blocks which are generated sporadically and in low numbers. As the Links add significant weight to the main chain in addition to the weight of the blocks, selfish mining and double spends becomes much harder. The attacker must exceed the total weight of the chain with the Links in order to succeed. Because the block interval times are random and spaced in large intervals of time, we expect many Links between every block from honest players. Therefore the attacker needs more hashing power to selfishly mine a longer chain than the case with a blockchain without Links.
  • Figure 1 illustrates links as part of the blockchain, according to one implementation of the present invention.
  • Figure 2 illustrates the flowchart describing Link generation process on a peer node in a blockchain system, according to one implementation of the present invention.
  • Figure 3 illustrates the flowchart describing the processing of received Links on a peer node in a blockchain system, according to an implementation of the present invention.
  • Figure 4 illustrates Block target vs Link Target in hash-based PoW Blockchains, , according to one particular implementation of the present invention.
  • Figure 5 illustrates sample valid forks in a blockchain system where the system has more than one branches of equal weight, according to one particular implementation of the present invention.
  • Figure 6 illustrates graphical representation of chain weight growth with and without Links, according to one implementations of the present invention.
  • Figure 7 illustrates a fork resolution in a blockchain system with Links, according to one implementation of the present invention.
  • Figure 8 illustrates double spend success results when attacker owns 23% of the total hashing power of the network and on average 10 Links are generated for every block with varying time taken for the generation of 6 honest blocks(t6), according to one exemplary implementation of the present invention.
  • Figure 9 double spend success results with a varying percentage attacker’s hashing power and on average 5 Links are generated for every block on varying time taken for the generation of 6 honest blocks (t6), according to one exemplary implementation of the present invention.
  • Figure 10 illustrates Bitcoin-NG block visualization, according to prior art.
  • a Link is a bit string information consisting of (i) a hash pointer to a block or another Link, (ii) a solution to a PoW puzzle of a link.
  • the PoW of a link is different from a PoW of a block.
  • the PoW of links has lower difficulty than that of blocks, (iii) (optionally) an address of the entity creating it or a coinbase transaction rewarding the entity creating it. Links do not hold any other transactions other than coinbase transaction, making them small and lightweight.
  • a coinbase transaction is a transaction created by the miner of a Link and included in the body of the Link. It stores the address of the creator of the link and may optionally also contain a reward for the creator’s proof of work.
  • links become entities on the blockchain.
  • block or other links can be mined on an Link. If the PoW puzzle used to create Links have difficulty small enough that several Links are generated for each block interval time, then Links give steady contribution with time to the weight of the chain. This increases stability making forking and selfish mining and double spend attack more difficult. Forks resolution becomes easier and faster with Links. Links contribute to the weight of the chain, therefore, the miners get an early sign about the division of mining power on the chain. The stability given to the chain via Links helps reduce the possibility of a selfish mining or double spend attack hence responsiveness of the blockchain increases and confirmation time of transactions reduces. Links are generated at a faster rate than blocks.
  • Links are just the size of block headers i.e., they do not store transactions except maybe a coinbase transaction, they propagate faster. In case miners generating Links are rewarded in the main chain, smaller miners are benefited with Link rewards which come at a more regular rate than block rewards which are rare.
  • the present invention can be implemented in any p2p decentralized, distributed, immutable blockchain network.
  • Links are recorded in the main chain directly as shown in Figure 1.
  • Links are piggybacked on top of normal blocks in case the base consensus mechanism (BCM) is PoW (i.e. No additional effort is required to solve PoW of links) and they are small as do not contain transactions.
  • Links contain pointers to a block or a link they are mined on top of i.e. links when published get added as the next entity in the blockchain.
  • Blocks can also be mined on top of a link or another block, that is a block can point to a Link or another block.
  • the Link generation process at a peer on the blockchain system is illustrated in Figure 2 by a workflow chart of a peer generating a valid link.
  • a peer Upon switching to a new tip block of a blockchain, a peer starts the process of generating the next block in the blockchain. For this, the peer creates a block header with the hash of the previous block in it which serves as the pointer and other header parameters. Every iteration in the chart represents the way link PoW is solved.
  • the link PoW puzzle can be solved simultaneously while solving the block PoW. Otherwise, if the BCM is not PoW -based, any chosen PoW can be solved to generate a Link.
  • the peer need not spend additional computation effort to generate links as link generation can be piggybacked onto block generation. Since the block and link share different target space with different difficulties, a peer checks whether a valid block solution is found for every nonce value. If so, he publishes the solution as a valid block, else he checks if the solution fits that of a valid link and publishes it as a link if it is. When the nonce value forms the solution for neither block nor links, the peer simply changes the nonce value and creates a new header and repeats the process. If the BCM of Blocks is not the same as links, links will still be created by the above process and the peer has to spend some computational effort to generate links.
  • the block When a new block is generated, the block is published as the new tip of the blockchain.
  • the link When a new link is generated, the link is published as the new tip of the blockchain and the chain weight factors in the weight added by the new link.
  • the new link is broadcast to the P2P blockchain network. The peer can then continue extending his current chain.
  • processing of received links by a peer on a blockchain system is illustrated in Figure 3 by the decision workflow chart of a peer processing an incoming link.
  • the validity of the received link is verified based on the agreed BCM. For example for a hash-based PoW link generation, the peer first verifies the validity of the link by checking if the hash of the received link falls in the agreed target space.
  • An invalid link is discarded.
  • a valid link is added as the next entity in the blockchain pointing to its parent Block or Link. It is then forwarded to all neighbors. If the revised weight introduced by the links causes a switch in case of a fork, the peer shifts to the new chain tip and continues extending that chain.
  • Links are created, propagated and accepted by peers on a blockchain system to increase the responsiveness and stability of a blockchain. Links (i) increase chain stability aiding in faster resolution of forks and (ii) significantly reduces chances of selfish mining and double spending thereby increasing system responsiveness. In one implementation, in a PoW blockchain(hash-based) Links are designed with the following properties:
  • Links contain a pointer to a recent block or a recent link on the main chain, hence they are not precomputable.
  • Links are fixed size small structures containing minimal data (only a header and optionally coinbase and no other transactions) such that they have low propagation/queuing delays and can be broadcast in a large p2p blockchain network quickly.
  • Blocks are mined using a PoW with specific difficulty. Links are mined using a different PoW puzzle with a fraction of this difficulty such that it is much easier to find/mine Links than blocks.
  • the size of the target (set of possible solutions to the puzzle) will be much smaller for Links than blocks i.e. more solutions exist for Links making them, much easier to mine.
  • Figure 4 illustrates this concept.
  • a miner simply checks if it is a solution for a Link. If it is a valid Link solution he may simply publish it as a Link, by transmitting only the block-header (and optionally the coinbase transaction). He then proceeds to check the next hash value as he would do in the usual block mining process. In case an Link is generated, the main chain block it was mined on becomes the parent block of the new Link.
  • the puzzle for PoW for Links can be decided such that the above properties are met.
  • Other non-PoW (PoS, PoC etc.) blockchain systems can incorporate Links with easy PoW puzzles to avail the benefits it provides with low energy consumption. Mining for Links in this case (with easy puzzles) will be effortless for a single miner to generate one at a time and this combined effort from the entire honest community will be able to overthrow an attacker who will need to mine a lot of Links in a small amount of time to take over the network which the attacker will not be able to afford unless he has an absolute majority over the entire honest network. But Links regardless of the blockchain system it is implemented in, will have PoW in some form or the other and the longest/heaviest chain selection rule will have to take into account the weight contributed by them.
  • a blockchain is said to be stable at a point in time when all of its honest miners are mining on the same heaviest chain’s latest block and the system is not in a forked state. Stability is a key concern in the honest and fair functioning of a blockchain. An ideal system would be stable at any point in time, but due to network latencies, forks do exist. So there is a need to minimize the time taken by the system to recover from these forks into a stable state.
  • Weights of a block and Links can be chosen arbitrarily and are a design choice. One particular example is to set the weight to be proportional to the inverse of the target space the block or Link is mined on.
  • the heaviness or total weight of the blockchain would be the sum of the weights of all individual Blocks in the chain and weights of every Link each block has. Every miner has the incentive to work on the heaviest current chain. Heaviest chain rule states that every miner must always be mining on the heaviest chain known to him at any point in time.
  • Forks are created on a peer when a miner receives a block/chain of blocks pointing to an ancestral block/uncle subtree such that the weight of the new branch of blockchain created is the same as the branch it is currently mining on as shown in Figure 5.
  • both chains win the heaviest chain rule and miner simply picks the chain he was originally mining on as he saw that first and ignores the new chain.
  • another miner connected in the same network might have seen the other chain first and continues his mining on that chain. This way the miners work in extending these branches they saw first, temporarily dividing the mining power of the network.
  • one branch grows heavier when the next block arrives and the miners working on the losing branch have wasted their time, computational effort and lost the block rewards from the blocks that turn stale.
  • Links are created in smaller intervals on average compared to blocks as they are easier to mine and they propagate faster through the network. They contain PoW and can contribute weight to the chain they are part of. An experiment was done assuming links are 10 times as easy to mine as normal blocks i.e. we can expect an average of 10 links to every block on a chain. Suppose, as an example, we set the weight of one link to be 1/10 units and the weight of a block to be 1 unit. Thus, on average the cumulative weight of links pointing to a single block will be 1 unit.
  • Link generation is a competition so the first successfully published Link to be accepted in everyone's blockchain will contribute to the weight of the block/link it points to.
  • a peer upon accepting a link tries to publish the next block and may find another link in the process. Therefore for a skewed concentration of hashing power among forked branches, we see a large difference in the number of Links proving it is a good measure to predict power division.
  • figure 6 illustrates chain weight growth with and without links according to a particular implementation choice of weight for links and blocks.
  • Figure 7 illustrates fork resolution in a blockchain system with links.
  • chain A seems likely to stand the test of time as we can see more mining power is concentrated on it as there are more Links on that chain.
  • a miner can make the smart choice to switch to Chain A in case of this fork as he is aware of the division of mining power on the chain.
  • Links are generated on a different target space with a lesser difficulty, multiple links are possible in between two successive block on the main chain. While mining on a chain the first successfully generated and published Link to be accepted in everyone's blockchain will contribute to the weight of the block/link it points to. A peer upon accepting a link tries to publish the next block on the new link and may find another link in the process. Multiple Links between two successive blocks are beneficial for a healthy chain, as they steadily add weight to the chain. This way chain grows heavier much faster and fork resolution time or time to chain stability is a matter of the arrival of the next Link and not the next block.
  • Responsiveness or Confirmation time of a blockchain system is the time it takes to confirm any transaction i.e. time from which a particular transaction appears inside a block on the blockchain to the time at which miners can be confident with high probability that the block containing that transaction will be permanent i.e. the block can no longer turn stale as a result of forking or selfish mining or double spends and the transaction is not susceptible to a double spend.
  • the shorter the confirmation time the higher the responsiveness of the system. In an ideal system, we hope for immediate confirmation time hence highly responsive.
  • Selfish mining is an attack on the fairness and integrity of a blockchain network. This is where one miner, or mining pool, does not publish a valid solution they mine to the rest of the network.
  • the selfish miner keeps the new block in his local chain in private then continues to mine the next block on it and so on maintaining the heaviest chain lead privately.
  • the main chain the rest of the honest network is mining on, is about to catch up (grows to almost the same weight) with the selfish miner, he, or they, then release their private chain or a portion of it enough to make all miners switch to their chain into the network.
  • Their chain and proof of work is heavier so the rest of the network adopts the attacker’s blocks turning the current honest chain stale. This way they may claim all coinbase rewards and transaction fees for themselves.
  • Selfish mining has been proved to give a higher share of rewards that a fair share proportional to one’s hashing power. In essence, this is an induced forking attack, but the forked branch is kept a secret until it is strong enough to take over the main chain.
  • lowering block interval is not the right way to approach this problem. Therefore for miners to be confident that they are not under a selfish mining or double spend attack and can trust the transaction in a block, we set a confirmation time(in terms of some number of blocks) to form a sufficiently long chain.
  • the confirmation time is currently 6 blocks ( ⁇ 1 hour) which means that the honest chain is ahead by 6 blocks and that the probability of the miner generating an alternative longer chainis less than 0.001 assuming that an attacker has less than 10% of total network mining power. Setting an appropriate confirmation time merely allows a peer to trust a particular transaction after this time.
  • Block rewards of blocks which are buried greater than 6 blocks inside the chain can also be considered safe from double spends. This is simply a consolation for the user that his transaction or block reward is safe with high probability but comes at the cost of a long waiting time.
  • the prior art calculates the chance of an attacker successfully creating a longer chain on Bitcoin, keeping the block interval time fixed as 10 min.
  • a user has to wait for n blocks (6 in case of Bitcoin) since the appearance of his/her transaction before acknowledging the payment.
  • the attacker While the network is receiving the blocks the attacker is building his own branch which may contradict this transaction (double-spend).
  • the attacker cannot release his chain before n blocks even if he has a longer chain as the transaction would not be confirmed by then. He can either release his branch after n blocks or continue working on it to catch up with the main chain as the attacker’s chain has to be heavier to make for the network to switch to his branch.
  • the length of the attacker's chain since the transaction is m and the honest chain is n.
  • the y-axis plots the log of the probability of the attackers successful double spend attack while the x-axis plots time of arrival of the 6th block - t6 (current confirmation time in Bitcoin). If the average of arrival time for all the 6 blocks was exactly 10 min t6 would be 3600 seconds ‘q’ refers to the fraction of hashing power controlled by the attacker in the network ‘a’ refers to the expected rate of Links per block. In the figure a modest scenario of an attacker owning 23% of the network power in a system without Links (dotted line) and a system having Links arriving at the rate of 10 per block (solid line). In this case, regardless of how fast the chain grows i.e. whether t6 is 100 secs or 7000 secs, Links reduce the probability of a double spend attack by over 2 orders of magnitude over the current system.
  • Links help reduce selfish mining and double spend attacks by increasing the stability of the chain.
  • Links contain proof of work and can contribute to the weight of block they point to. Links are expected to fall continuously and in large numbers (depending on the decided rate of arrival).
  • the Links add significant weight to the main chain in addition to the main block, selfish mining or double spend becomes much harder because the attacker must exceed the total weight of the chain with the Links. Since we expect a larger number of Links to every block from the honest players, the attacker cannot possibly own enough hashing power to selfishly mine number of blocks to match the main chain and generate sufficient Links to weigh down his chain by himself.
  • links can be incorporated with bitcoin is explained by example. Comparison of Original Bitcoin and Bitcoin with Links:
  • Forking is common in Bitcoin and a node has to wait till the arrival of the next block to resolve it.
  • Expected block inter arrival time is 10 min which a long waiting period. With the inclusion of Links this period is shortened by a large factor (depending on the preset rate of arrival on Links). Fork resolutions depend on the arrival on the next Link as opposed to the arrival of the next block. Links are more frequent and miners can identify the heavier chain at a much early stage.
  • Links will help provide insight into division of mining power in the network at any point of time.
  • Links can be incorporated in Bitcoin NG.
  • Bitcoin NG was a system built to solve the scalability problem of Bitcoin. Bitcoin-NG chooses a leader at the beginning of an epoch, and she is in charge of serializing transactions until the next leader is chosen. NG maintains the overall blockchain structure, but has two types of blocks: key-blocks and microblocks. Key-blocks are used for leader election.
  • Microblocks contain transactions; they are generated by the epoch leader; they contain no proof of work, and are signed with the leader’s private key.
  • the lead miner can quickly issue microblocks, simply by signing them with the private key corresponding to the public key named in the key-block’s coinbase and adding all transactions in successive microblocks.
  • Bitcoin-NG shifts the process of issuing blocks: instead of manufacturing a block at a time as in Bitcoin, an NG miner first acquires the right to issue microblocks, and can thereafter efficiently create a series of microblocks. Microblock creation is limited solely by signing speed (in the millisecond range) and network propagation speeds of small microblocks. Should the miner falter for any reason, other miners can take over when they discover a new key-block. This process is depicted in Figure 10.
  • Links can be incorporated in Bitcoin NG in the following manner:
  • Links in Bitcoin NG can be mined on top of a recent key block or a Microblock i.e. either a microblock or a key block can be a parent to an Link.
  • a microblock must contain the signature of the creator of the previous keyblock in the chain.
  • a Link can have either a keyblock or a microblock as its parent block.
  • Microblock can have either a link, another microblock or a key block as its parent. Therefore Links in combination with microblock makes the system much more powerful. Since they are mined on top of the latest addition (microblock/keyblock/link), they are not precomputable
  • Links are small in size and contain only header information and optionally creator information. They will have low propagation/queuing delays and can be broadcast in a large p2p blockchain network quickly.
  • Microblocks do not contain PoW. When a miner receives a microblock, he would create a new block pointing to that microblock, and start his search for the next keyblock and may find a Link in the process.
  • a dishonest leader can generate an arbitrary tree of microblocks as they take no effort to create, to divide the network hashing power and selfishly mine microblocks and successive key blocks as shown in figure 12.
  • Figure 12 shows links being mined on every forked microblock showing network split. When other nodes see theis split they can identify the fraudulent behaviour of the dishonest leader. With the enforcement of the rule, every microblock must have at least 1 Link mined on it. We show how Links can help identify it and one level down. The leader cannot carry out an selfish mining attack because even if he creates an arbitrary tree of depth 1, the first Link is going to decide which of them wins, and then all miners extend only that part of the tree. The following microblock/keyblock will have the proof of Link of the previous block. So effectively there is PoW for microblocks as well.
  • NG has to share the transaction fees with the next leader. This splitting is possible only when no miner has more than 25% of mining power. If a miner has more than 25% then NG fails. Now, we can share a fraction of Link rewards with the previous and the next leader as it benefits both of them having the link to strengthen their chain. Assuming that these mining fees are much higher than transaction fees, we can forego sharing of any transaction fees with the next leader although every link should get a part of the reward of the microblock it supports.
  • Links will help provide insight into division of mining power in the network at any point of time.
  • the method according to the present invention will provide insight into the division of mining power in the blockchain network at any point in time.
  • Link rewards may allow generation of new coins in the network even after the termination of block rewards.
  • Links rewards are a policy decision and can vary with the blockchain system and the way Links are adapted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention provides a computer implemented method in a blockchain system, wherein said method comprising: plurality of links, wherein said links includes a bitstring information comprising: Hash of a block or hash of a Link in a main chain, and (ii) a solution to a Proof Of Work (PoW) puzzle specific for said links; and (iii) optionally may contain an address of an entity creating each of said links or a coinbase transaction. The plurality of links generated, propagated and thereby accepted by plurality of peer nodes in a network on said blockchain system so as to increase the responsiveness and stability of a blockchain.

Description

METHOD IN BLOCKCHAIN SYSTEMS FOR FAST STABILIZATION AND INCREASED RESPONSIVENESS USING LINKS
TECHNICAL FIELD
The present subject matter described herein, in general, relates to the field of blockchain system and particularly, to a method to increase the responsiveness and stability of a blockchain.
BACKGROUND
A blockchain is a decentralized, distributed, immutable chain of blocks containing data called transactions. There are several types of popular blockchains. All blockchain as discussed herein follow a base consensus mechanism (BCM). Blockchains are realised in a dynamic p2p network where each node is invested in the maintenance of the blockchain.
The blockchain can be generated by any consensus mechanism or a combination of consensus mechanisms. These consensus mechanisms may include but not limited to Proof-of-Work (PoW), Proof-of-stake (PoS), Proof-of-authority (PoA), Algorand, and the like.
Stability and Forks: Fork or Forked state is a situation that can occur during the life of the blockchain where the chain is bifurcated into multiple branches such that these branches have equal weight on them and the heaviest-chain-wins policy cannot by itself decide which is longer. This occurs when a miner receives a block pointing to some ancestral block and he is not able to determine the best chain as they weigh the same. The split is called the fork and the system is in a Forked State. Usually, the first block the miner saw is picked (in Bitcoin) and he continues to mine on it and will delay the decision process until one of the branches grows and differs in weight. When the chain eventually grows and differs in weight, the heaviest branch wins and other branches thereafter turn stale, are discarded or pruned, and the fork is said to be resolved. Forks incur three significant security risks. First, they reduce security against attackers. Bitcoin, the most popular blockchain, is secured by mining power (the amount of calculation a computer can perform in unit time), and mining power in pruned branches does not participate in securing the system. For example, if 1/4 of the blocks are pruned, then an attacker can be 1/4 smaller to perform a selfish mining or double spend (explained below) or perform a 51% attack. Reference is made to a non patent literature Satoshi Nakamoto,
“ Bitcoin : A Peer-to-Peer Electronic Cash System’ bitcoin.org (2009).
Second, forks reduce fairness. Reference is made to a non-patent literature document, Miles Carlsten, Arvind Narayanan,“On the Instability of Bitcoin Without the Block Reward” (2016). Reference is also made to a non-patent literature document, Arvind Narayanan, Joseph Bonneau Et. ah, “Bitcoin and cryptocurrency Technologies’’ (2015). Further, reference is made to a non-patent literature document, Joseph Bonneau, Andrew Miller Et. ah, “SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies” , IEEE Symposium on Security and Privacy (2015). Bitcoin and all blockchain protocols compensate miners for their effort, and the compensation should be proportional to a miner’s power. When forks are frequent, small miners and miners that are not well connected to the overlay network are at a disadvantage, earning less than their fair share. Miners who may be mining on the branch in which lesser network hashing power is focused on are at a disadvantage bee ause their chain might become stale (Stale block are blocks that were once part of the main chain or a forked branch but have been discarded as a heavier longer chain of blocks took over). Miners not well connected to the network lose out due to forks because blocks take a much longer time reaching them and they may be mining on a stale block with no intermediate validation on their work. This also becomes one of the reasons for mining pools. Mining Pools are groups of small miners working together to find the next block and agreeing to share the block reward. Miners are therefore incentivized to coalesce into larger and larger pools, and thereby pose a centralization threat. Reference is made to Ittay Eyal, Emin Sirer,“Majority is not enough: Bitcoin mining is vulnerable”. Further reference is made to a non-patent literature document, Rafael Pass, Lior Seeman, and Abhi Shelat.“ Analysis of the blockchain protocol in asynchronous networks” (2017). Reference is further made to non-patent literature document, Arthur Gervais.“OH the Security and Performance of Proof of Work Blockchains” (2016)
Lastly, when the system is in a Forked State, it opens up the possibility of a Double spend attack. Reference is made to a non-patent literature document, Ghassan O Karame,“ Double-spending fast payments in bitcoin” and“A study of double-spending and accountability”^ such an attack, the attacker spends the same cryptocurrency in different forks thereby using it more than once. For example, he can generate transactions in the different forks, each with the same input but with a different transaction output. Since the miners in the network are split between the branches of the fork they will not be able to identify the breach until the fork is resolved. Reference is made to a non-patent literature document, Meni Rosenfeld.“ Analysis of hashrate- based double spending” (2014). Reference is also made to a non-patent literature document, Yonatan Sompolinsky, Aviv Zohar.“ Bitcoin’ s Security Model Revisited’ (2017). Reference is further made to Yonatan Sompolinsky, Aviv Zohar.“ Optimal Selfish Mining Strategies in Bitcoin’’ (2016).
The problem of increasing Bitcoin’ s transaction throughput is known as the Scalability problem. Reference is made to Ghassan O. Karame.“On the Security and Scalability of Bitcoin’s Blockchain” (2016). Reference is further made to, Ittay Eyal, Elaine Shi, Sirer.“On Scaling Decentralized Blockchains” (2016). The two main options to tackle this problem are (i) to increase the size of blocks, or (ii) to decrease the block intervals. Both options lead to various undesirable outcomes. Increasing the block size or reducing the block interval both lead to an increased rate of forks. The scalability debate has revolved around these genuine issues and the tradeoffs are difficult to resolve. And even if a compromise is found, the tradeoffs involved mean that the throughput gains will be modest. Under the currently prominent proposals, Bitcoin (which has PoW blockchain) does not become competitive with today’s VISA throughput which is >20k transactions per second whereas bitcoin can manage only 7 transactions per second. The block-size/block-interval parameter adjustment is a difficult line to toe, as is clear from the tenor of the scalability debate.
Selfish Mining and Responsiveness: Selfish mining is an attack where an adversary tries to take control of the chain by secretly mining a chain and broadcasting it when his chain is longer/heavier than the existing chain, thus forcing the network to switch to his chain. A Selfish Miner or mining pool does not publish a valid solution they solve as soon as they find it to the rest of the network. They instead continue to mine the next block and so on maintaining the chain lead. Reference is made to non-patent literature documents, Ittay Eyal, Emin G un Sirer. “Majority is not Enough: Bitcoin Mining is Vulnerable’’ (2013), and Kartik Nayak, Srijan Kumar, Andrew Miller, Elaine Shi.“ Stubborn Mining: Generalizing Selfish Mining and Combining with an Eclipse Attack” (2015). This means the chain created by the selfish miner is the heaviest chain but only they are aware of it. When the selfish miner knows the rest of the network is about to catch up with the chain it has generated, he then releases their chain of solved blocks into the network. The honest miner upon seeing this new chain has to adopt this chain as per the heaviest chain rule thus turning stale a part of the blockchain the honest miner was mining on. A miner who has already created blocks which have been pruned (turned stale) loses mining rewards for those blocks. The computational effort spent by honest miners who were mining on the original chain is wasted and the attacker has unfairly gained rewards at the expense of honest peers.
Responsiveness or Confirmation time of a blockchain system is the time it takes to confirm any transaction i.e. time from which a particular transaction appears on a blockchain to the time at which miners can be confident with high probability that the block containing that transaction will be permanent. The shorter the confirmation time, the higher the responsiveness of the system. In an ideal system, there would be reduced confirmation time hence increased responsiveness. For example, in Bitcoin, the confirmation time is currently 6 blocks (~ 1 hour) assuming that an attacker has less than 10% of total network mining power and that the probability of his generating an alternative longer chain is less than 0.001. Since selfish mining and double spends becomes significantly harder, there is a need to improve the responsiveness of the blockchain system. Related work: Current Technologies that aim to reduce Confirmation time do so by reducing average block intervals which increases the number of forks greatly. Reference is made to Vitalik Buterin,“ Ethereum White Paper”, and Aggelos Kiayias, “ Speed- Securiy tradeoffs in blockchain protocols” . Further reference is made to Aviv Zohar,“ Inclusive blockchain protocols” . Such solutions typically make use of the GHOST protocol in an effort to resolve forks. Reference is made to Aviv Zohar, “ Secure high-rate transaction processing in bitcoin”. The GHOST protocol includes the weight of orphaned blocks while computing heaviest chain. It uses a heaviest sub tree rule starting from the genesis block to determine the heaviest chain. Ghost offers no security guarantees against selfish mining or double spends.
BitcoinNG and Fruitchains use block like structures to over comes other problems of Proof of work blockchain systems. Reference is made to Ittay Eyal,” BITCOIN-NG a scalable blockchain protocol” and Rafael Pass,“ Fruitchains : A fair blockchain” . Bitcoin NG aims to improve transaction throughput by allowing the leader of an epoch to create micro-blocks (with transactions) with no PoW. These are prone to bribery attacks where the leader can be bribe to behave maliciously. Fruitchains aim to improve chain quality and fairness. Like Bitcoin NG, They also allow transaction in their block like structures called fruits. Holding transactions makes these solutions large in size, hence they have large propagation times.
Other works that use block like structures are weak blocks, Subchain and Flux. Reference is made to Peter R. Rizun,“ Subchains : A technique to scale Bitcoin and improve user experience” and Alexei Zamyatin,“Flux: Revisiting near blocks for Proof-of-Work Blockchains” . They are meant as a solution to address the scalability of Bitcoin blockchain in terms of transaction throughput. These ideas use a 2-for-l PoW technique similar to Bitcoin NG and Fruitchain. In this technique the block like structures are created using no extra effort or resources. But they also have transactions making them large in size. They hence will not have fast propagation times and cannot be used as a PoW signaling scheme or to increase the responsiveness and stability of a blockchain. Accordingly, in view of the drawbacks of the blockchain systems as mentioned herein above, there is a dire need to provide an improved method to (1) increase chain stability aiding in faster resolution of forks, and (2) significantly reduce chances of selfish mining and double spends thereby increasing system responsiveness.
SUMMARY OF THE PRESENT INVENTION
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the present invention. It is not intended to identify the key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concept of the invention in a simplified form as a prelude to a more detailed description of the invention presented later.
An objective of the present invention is to increase stability with a steady contribution with time to the weight of the chain.
Another objective of the present invention is to increase stability to result in faster resolution of Forks.
Yet another objective of the present invention is to provide insight into the division of mining power in the network at any point in time.
Another objective of the present invention is to significantly reduce chances of selfish mining and double spend attacks with increased stability.
Yet another objective is to increase Blockchain responsiveness.
Still another objective is to benefit smaller miners into gaining some rewards in frequent periodic intervals. According to one aspect, in one implementation, the present invention provides a computer implemented method in a blockchain system, wherein said method comprising:
plurality of links, wherein said links includes a bitstring information comprising
(i)Hash of a block or hash of a Link in a main chain, and
(ii) a solution to a Proof Of Work (PoW) puzzle specific for said links; and
(iii) a transaction containing an address of an entity creating each of said links and no other transaction,
Wherein, each of said plurality of links generated by said entity, propagated and thereby accepted by plurality of peer nodes in a network on said blockchain system so as to increase the responsiveness and stability of a blockchain.
In one implementation, wherein said address of said entity is a coinbase transaction.
In one implementation, the links include a fixed size small structures having data such that they have low propagation/queuing delays and broadcast in a peer-to-peer (p2p) blockchain network.
In second aspect, in one implementation, the present invention provides a method for adding at least a link to a blockchain using a mechanism, wherein said method comprising: a) Generating, by a processing server, said link including a block header containing at least a pointer to a parent block or another Link and a solution to a PoW puzzle along with a body, and a transaction containing an address of an entity creating each of said links and no other transaction,;
b) generating, by the hashing module of the processing server, a previous hash value using a hashing algorithm of said block header included in the generated said block or Link to specify a previous block or Link as a parent;
c) electronically transmitting, by a tranmitting module of the processing server, said generated link to a plurality of peer nodes associated with the blockchain with low propagation delays; d) receiving, by a receiving module of the processing server, a plurality of links from one or more peer nodes associated with the blockchain;
e) Verifying, by said receiving module of the processing server, the validity of said link in a constant time.
In third aspect, in one implementation, the present invention provides a non-transitory computer readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:
Generating, by an entity, a plurality of links or block in a blockchain, wherein said links is a bitstring information, said links including (i) at least a pointer to a parent block or parent Link, (ii) a solution to a PoW puzzle, and (iii) a transaction containing an address of an entity creating each of said links and no other transaction.
Accordingly in view of the various embodiments of the present invention, Links tackles the approach to resolving forks in a novel way. Links are similar to any other block on a blockchain except that they don’t contain any transactions other than the coinbase. Links are structures created and propagated by miners, that affect the blockchain by contributing some additional weight to it. Links are easier to generate and travel much faster than blocks (as they have no transactions they are much smaller in size).
Accordingly, to the present invention, links can significantly reduce fork resolution times by helping miners quickly estimate the mining power being assigned to each fork as we are able to see the number and frequency of Links to every block on each branch. Miners can simply switch to a heavier branch determined by the weight contributed by Links thereby resolving forks much faster than traditional blockchains without Links where they have to wait for till the arrival of the next block. This way it contributes steadily with time to the weight of the chain giving the chain stability(ability to recover and establish itself from an indecisive state quickly). The blockchain is said to be stable when all of the miners at any point of time are mining on the same heaviest chain and the system is not in a forked state. Links help attain stability much faster when the system is threatened. This provides higher security against attacks with high mining power giving them less time to take advantage of the division of honest power.
Further, links according to the present invention, take much less effort to create than a normal block which enables smaller miners to generate them much more frequently than blocks still proportional to his mining power. Depending on the reward system in place they benefit from publishing Links eliminating the need for them to join mining pools due to the unfairness caused to them through forks. When forks are resolved faster, a double spend attack can also be identified at a much earlier stage.
Furthermore, links help reduce selfish mining and double spend attacks by increasing the stability of the chain. In the case of PoW blockchains. Links contain proof of work and can contribute to the weight of block they point to. Links are expected to be generated continuously and in large numbers, unlike blocks which are generated sporadically and in low numbers. As the Links add significant weight to the main chain in addition to the weight of the blocks, selfish mining and double spends becomes much harder. The attacker must exceed the total weight of the chain with the Links in order to succeed. Because the block interval times are random and spaced in large intervals of time, we expect many Links between every block from honest players. Therefore the attacker needs more hashing power to selfishly mine a longer chain than the case with a blockchain without Links.
Other aspects, advantages, and salient features of the invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses exemplary embodiments of the invention.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The above and other aspects, features, and advantages of certain exemplary embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings in which: Figure 1: illustrates links as part of the blockchain, according to one implementation of the present invention.
Figure 2: illustrates the flowchart describing Link generation process on a peer node in a blockchain system, according to one implementation of the present invention.
Figure 3: illustrates the flowchart describing the processing of received Links on a peer node in a blockchain system, according to an implementation of the present invention.
Figure 4: illustrates Block target vs Link Target in hash-based PoW Blockchains, , according to one particular implementation of the present invention.
Figure 5: illustrates sample valid forks in a blockchain system where the system has more than one branches of equal weight, according to one particular implementation of the present invention.
Figure 6: illustrates graphical representation of chain weight growth with and without Links, according to one implementations of the present invention.
Figure 7: illustrates a fork resolution in a blockchain system with Links, according to one implementation of the present invention.
Figure 8: illustrates double spend success results when attacker owns 23% of the total hashing power of the network and on average 10 Links are generated for every block with varying time taken for the generation of 6 honest blocks(t6), according to one exemplary implementation of the present invention.
Figure 9: double spend success results with a varying percentage attacker’s hashing power and on average 5 Links are generated for every block on varying time taken for the generation of 6 honest blocks (t6), according to one exemplary implementation of the present invention. Figure 10: illustrates Bitcoin-NG block visualization, according to prior art.
Persons skilled in the art will appreciate that elements in the figures are illustrated for simplicity and clarity and may have not been drawn to scale. For example, the dimensions of some of the elements in the figure may be exaggerated relative to other elements to help to improve understanding of various exemplary embodiments of the present disclosure. Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the invention. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. ccordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the invention. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of exemplary embodiments of the present invention are provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
It is to be understood that the singular forms“a,”“an,” and“the” include plural referents unless the context clearly dictates otherwise. By the term“substantially” it is meant that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
Features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments.
It should be emphasized that the term“comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.
In the present invention, a Link is a bit string information consisting of (i) a hash pointer to a block or another Link, (ii) a solution to a PoW puzzle of a link. The PoW of a link is different from a PoW of a block. In case the blocks themselves have PoW, the PoW of links has lower difficulty than that of blocks, (iii) (optionally) an address of the entity creating it or a coinbase transaction rewarding the entity creating it. Links do not hold any other transactions other than coinbase transaction, making them small and lightweight.
In the present invention, a coinbase transaction is a transaction created by the miner of a Link and included in the body of the Link. It stores the address of the creator of the link and may optionally also contain a reward for the creator’s proof of work.
In one implementation, links become entities on the blockchain. In other words, block or other links can be mined on an Link. If the PoW puzzle used to create Links have difficulty small enough that several Links are generated for each block interval time, then Links give steady contribution with time to the weight of the chain. This increases stability making forking and selfish mining and double spend attack more difficult. Forks resolution becomes easier and faster with Links. Links contribute to the weight of the chain, therefore, the miners get an early sign about the division of mining power on the chain. The stability given to the chain via Links helps reduce the possibility of a selfish mining or double spend attack hence responsiveness of the blockchain increases and confirmation time of transactions reduces. Links are generated at a faster rate than blocks. Since Links are just the size of block headers i.e., they do not store transactions except maybe a coinbase transaction, they propagate faster. In case miners generating Links are rewarded in the main chain, smaller miners are benefited with Link rewards which come at a more regular rate than block rewards which are rare.
The present invention can be implemented in any p2p decentralized, distributed, immutable blockchain network.
In one implementation, Links are recorded in the main chain directly as shown in Figure 1. Links are piggybacked on top of normal blocks in case the base consensus mechanism (BCM) is PoW (i.e. No additional effort is required to solve PoW of links) and they are small as do not contain transactions. Links contain pointers to a block or a link they are mined on top of i.e. links when published get added as the next entity in the blockchain. Blocks can also be mined on top of a link or another block, that is a block can point to a Link or another block.
In one implementation, the Link generation process at a peer on the blockchain system is illustrated in Figure 2 by a workflow chart of a peer generating a valid link. Upon switching to a new tip block of a blockchain, a peer starts the process of generating the next block in the blockchain. For this, the peer creates a block header with the hash of the previous block in it which serves as the pointer and other header parameters. Every iteration in the chart represents the way link PoW is solved. In case the BCM (base consensus mechanism) of the blockchain system is proof of work, the link PoW puzzle can be solved simultaneously while solving the block PoW. Otherwise, if the BCM is not PoW -based, any chosen PoW can be solved to generate a Link.
For example, if the BCM of blocks and links follow a hash-based PoW, the peer need not spend additional computation effort to generate links as link generation can be piggybacked onto block generation. Since the block and link share different target space with different difficulties, a peer checks whether a valid block solution is found for every nonce value. If so, he publishes the solution as a valid block, else he checks if the solution fits that of a valid link and publishes it as a link if it is. When the nonce value forms the solution for neither block nor links, the peer simply changes the nonce value and creates a new header and repeats the process. If the BCM of Blocks is not the same as links, links will still be created by the above process and the peer has to spend some computational effort to generate links.
When a new block is generated, the block is published as the new tip of the blockchain. When a new link is generated, the link is published as the new tip of the blockchain and the chain weight factors in the weight added by the new link. The new link is broadcast to the P2P blockchain network. The peer can then continue extending his current chain.
In one implementation, processing of received links by a peer on a blockchain system is illustrated in Figure 3 by the decision workflow chart of a peer processing an incoming link. The validity of the received link is verified based on the agreed BCM. For example for a hash-based PoW link generation, the peer first verifies the validity of the link by checking if the hash of the received link falls in the agreed target space.
An invalid link is discarded. A valid link is added as the next entity in the blockchain pointing to its parent Block or Link. It is then forwarded to all neighbors. If the revised weight introduced by the links causes a switch in case of a fork, the peer shifts to the new chain tip and continues extending that chain.
In one implementation, Links are created, propagated and accepted by peers on a blockchain system to increase the responsiveness and stability of a blockchain. Links (i) increase chain stability aiding in faster resolution of forks and (ii) significantly reduces chances of selfish mining and double spending thereby increasing system responsiveness. In one implementation, in a PoW blockchain(hash-based) Links are designed with the following properties:
1. Links contain PoW hence creating them requires sufficient computation for solving the PoW puzzle, but verifying their correctness is constant time 0(1).
2. Links contain a pointer to a recent block or a recent link on the main chain, hence they are not precomputable.
3. Links are fixed size small structures containing minimal data (only a header and optionally coinbase and no other transactions) such that they have low propagation/queuing delays and can be broadcast in a large p2p blockchain network quickly.
4. Blocks are mined using a PoW with specific difficulty. Links are mined using a different PoW puzzle with a fraction of this difficulty such that it is much easier to find/mine Links than blocks. The size of the target (set of possible solutions to the puzzle) will be much smaller for Links than blocks i.e. more solutions exist for Links making them, much easier to mine. Figure 4 illustrates this concept.
5. Although blocks and Links solve different PoW puzzles, both puzzles can be solved simultaneously. Thus it takes no extra effort to mine Links. Take the example of Bitcoin. If the hash of a block header is less than a target, then we have solved the block PoW puzzle. We can define the PoW puzzle for creating Links as requiring the same hash to be in an interval not overlapping the range required for creating a block.
Hence while mining, if a particular hash is not a solution to a block, a miner simply checks if it is a solution for a Link. If it is a valid Link solution he may simply publish it as a Link, by transmitting only the block-header (and optionally the coinbase transaction). He then proceeds to check the next hash value as he would do in the usual block mining process. In case an Link is generated, the main chain block it was mined on becomes the parent block of the new Link.
In the exemplary implementation, this implies that miners can generate a Link while trying to mine for a block on the main chain. Once a miner finds a Link, he broadcasts the Link which lets the network know his hashing power is dedicated to extending that chain and this Link has strengthened his current chain. This will motivate other miners to extend that current chain if more Links fall on that chain, compared to any other chain, as this reduces the chances of their blocks turning stale. Links provide the means for miners to know where the majority of the hashing power of the network is which also helps in quick resolution of main chain forks.
In the exemplary implementation, in other non-hash based PoW blockchains (Primecoin etc.) the puzzle for PoW for Links can be decided such that the above properties are met. Other non-PoW (PoS, PoC etc.) blockchain systems can incorporate Links with easy PoW puzzles to avail the benefits it provides with low energy consumption. Mining for Links in this case (with easy puzzles) will be effortless for a single miner to generate one at a time and this combined effort from the entire honest community will be able to overthrow an attacker who will need to mine a lot of Links in a small amount of time to take over the network which the attacker will not be able to afford unless he has an absolute majority over the entire honest network. But Links regardless of the blockchain system it is implemented in, will have PoW in some form or the other and the longest/heaviest chain selection rule will have to take into account the weight contributed by them.
A. Increasing chain stability aiding in faster resolution of forks:
A blockchain is said to be stable at a point in time when all of its honest miners are mining on the same heaviest chain’s latest block and the system is not in a forked state. Stability is a key concern in the honest and fair functioning of a blockchain. An ideal system would be stable at any point in time, but due to network latencies, forks do exist. So there is a need to minimize the time taken by the system to recover from these forks into a stable state.
For hash based PoW blockchains Weights of a block and Links can be chosen arbitrarily and are a design choice. One particular example is to set the weight to be proportional to the inverse of the target space the block or Link is mined on. The heaviness or total weight of the blockchain would be the sum of the weights of all individual Blocks in the chain and weights of every Link each block has. Every miner has the incentive to work on the heaviest current chain. Heaviest chain rule states that every miner must always be mining on the heaviest chain known to him at any point in time.
In one implementation, Forks are created on a peer when a miner receives a block/chain of blocks pointing to an ancestral block/uncle subtree such that the weight of the new branch of blockchain created is the same as the branch it is currently mining on as shown in Figure 5. Here both chains win the heaviest chain rule and miner simply picks the chain he was originally mining on as he saw that first and ignores the new chain. It is also highly possible that another miner connected in the same network might have seen the other chain first and continues his mining on that chain. This way the miners work in extending these branches they saw first, temporarily dividing the mining power of the network. Eventually, one branch grows heavier when the next block arrives and the miners working on the losing branch have wasted their time, computational effort and lost the block rewards from the blocks that turn stale.
This gives a window of opportunity for a dishonest miner to gain an unfair advantage. The fraction of mining power he owns in each branch is significantly larger in a divided network. In an indecisive state of the network, attackers can dominate by divide and rule. Double spending is also a serious concern and causes participating peers to lose confidence in the system's security.
The likeliness of one of the forked branches succeeding in a PoW chain is solely dependent on the hashing power on that chain. A miner is more likely to benefit if he chooses to stay on the branch the majority of the miners choose to continue mining on. The unfortunate miner will only know if he was part of the winning majority only at the arrival of the next block which, in bitcoin, is on average 10 minutes. The miner does not have enough information in this period between 2 blocks to decide which chain to continue mining on. He will benefit a great deal if he is part of the chain with the higher total hashing power which is more likely to win, saving his effort. In one implementation, Links affect this scenario in a following manner. Links are created in smaller intervals on average compared to blocks as they are easier to mine and they propagate faster through the network. They contain PoW and can contribute weight to the chain they are part of. An experiment was done assuming links are 10 times as easy to mine as normal blocks i.e. we can expect an average of 10 links to every block on a chain. Suppose, as an example, we set the weight of one link to be 1/10 units and the weight of a block to be 1 unit. Thus, on average the cumulative weight of links pointing to a single block will be 1 unit.
Fewer peers accepting a block/link and choosing to mine on it will mean lower weight on that chain and lower chances of it surviving if the system is forked. Link generation, like block generation, is a competition so the first successfully published Link to be accepted in everyone's blockchain will contribute to the weight of the block/link it points to. A peer upon accepting a link tries to publish the next block and may find another link in the process. Therefore for a skewed concentration of hashing power among forked branches, we see a large difference in the number of Links proving it is a good measure to predict power division.
Reference is made to figure 6, which illustrates chain weight growth with and without links according to a particular implementation choice of weight for links and blocks.
Without Links the weight of the chain increases by 1 unit in steps on average every 10 minutes, giving forks up to 10 minutes of existence time. The weight of the chain remains constant in this interval forcing miners to simply continue mining on their current chain, wishing it would eventually win. When introducing Links into the system we immediately see fluctuations in the graph and weight increasing steadily in the block interval times. In this way, a miner can see the proportion of distributed power as the arrival of Links also depend on hashing power. A chain with significantly more proportion of hashing power is bound to have Links flooding in, in the block interval time increasing confidence on that chain. Those on the minor branch will see Links, and move to the branch receiving more Links (as it is heavier) prior to the arrival of the next block. Fork resolution happens on the arrival of the first Link on any of the forked branches and resolution time and time to chain stability are reduced by a factor of 10 in this experiment.
In one exemplary implementation, reference is made to Figure 7 which illustrates fork resolution in a blockchain system with links. As shown in the figure, chain A seems likely to stand the test of time as we can see more mining power is concentrated on it as there are more Links on that chain. A miner can make the smart choice to switch to Chain A in case of this fork as he is aware of the division of mining power on the chain.
As Links are generated on a different target space with a lesser difficulty, multiple links are possible in between two successive block on the main chain. While mining on a chain the first successfully generated and published Link to be accepted in everyone's blockchain will contribute to the weight of the block/link it points to. A peer upon accepting a link tries to publish the next block on the new link and may find another link in the process. Multiple Links between two successive blocks are beneficial for a healthy chain, as they steadily add weight to the chain. This way chain grows heavier much faster and fork resolution time or time to chain stability is a matter of the arrival of the next Link and not the next block.
B. Reducing the chances of selfish mining and double spends thereby increasing system responsiveness:
Responsiveness or Confirmation time of a blockchain system is the time it takes to confirm any transaction i.e. time from which a particular transaction appears inside a block on the blockchain to the time at which miners can be confident with high probability that the block containing that transaction will be permanent i.e. the block can no longer turn stale as a result of forking or selfish mining or double spends and the transaction is not susceptible to a double spend. The shorter the confirmation time, the higher the responsiveness of the system. In an ideal system, we hope for immediate confirmation time hence highly responsive. Selfish mining is an attack on the fairness and integrity of a blockchain network. This is where one miner, or mining pool, does not publish a valid solution they mine to the rest of the network. The selfish miner keeps the new block in his local chain in private then continues to mine the next block on it and so on maintaining the heaviest chain lead privately. When the main chain, the rest of the honest network is mining on, is about to catch up (grows to almost the same weight) with the selfish miner, he, or they, then release their private chain or a portion of it enough to make all miners switch to their chain into the network. The result is that their chain and proof of work is heavier so the rest of the network adopts the attacker’s blocks turning the current honest chain stale. This way they may claim all coinbase rewards and transaction fees for themselves. Selfish mining has been proved to give a higher share of rewards that a fair share proportional to one’s hashing power. In essence, this is an induced forking attack, but the forked branch is kept a secret until it is strong enough to take over the main chain.
When the attacker has sufficiently large mining power to successfully execute this attack, he can maintain the lead for an indefinite period of time. The rational miners now have an incentive to join the selfish mining pool until slowly they can take over the entire network and deviate from the protocol. A way to prevent this would be to minimize the chance of an attacker successfully creating a longer chain than the honest community even when the attacker has control of a realistically high amount of mining power. One way to get the honest chain long is by lowering block interval time by lowering puzzle difficulty in PoW blockchains such that the honest chain can grow faster. But this will increase the rate of forks in the system (as the blocks are easy to mine, the chance that more people will find a block simultaneously increases) and also makes it proportionally easy for the attacker to extend his chain. So, lowering block interval is not the right way to approach this problem. Therefore for miners to be confident that they are not under a selfish mining or double spend attack and can trust the transaction in a block, we set a confirmation time(in terms of some number of blocks) to form a sufficiently long chain. For example, in Bitcoin, the confirmation time is currently 6 blocks (~ 1 hour) which means that the honest chain is ahead by 6 blocks and that the probability of the miner generating an alternative longer chainis less than 0.001 assuming that an attacker has less than 10% of total network mining power. Setting an appropriate confirmation time merely allows a peer to trust a particular transaction after this time. Block rewards of blocks which are buried greater than 6 blocks inside the chain can also be considered safe from double spends. This is simply a consolation for the user that his transaction or block reward is safe with high probability but comes at the cost of a long waiting time.
The prior art calculates the chance of an attacker successfully creating a longer chain on Bitcoin, keeping the block interval time fixed as 10 min. Usually, a user has to wait for n blocks (6 in case of Bitcoin) since the appearance of his/her transaction before acknowledging the payment. While the network is receiving the blocks the attacker is building his own branch which may contradict this transaction (double-spend). The attacker cannot release his chain before n blocks even if he has a longer chain as the transaction would not be confirmed by then. He can either release his branch after n blocks or continue working on it to catch up with the main chain as the attacker’s chain has to be heavier to make for the network to switch to his branch. Say the length of the attacker's chain since the transaction is m and the honest chain is n. The probability of the attacker catching up with n block is modeled as a binomial distribution by M.Rosenfeld proving Satoshi’s original claim of 6 block confirmation time. The paper draws the conclusion that, given a maximum realistic hashing power a miner can hold(< 10%) in the Bitcoin network, they cannot catch up with the main chain when it is 6 or more blocks ahead of them with a very high probability of 0.999.
In exemplary implementation of the present invention, similar analysis to compare the likelihood that an attacker may generate a longer chain when the honest chain is ahead by 6 blocks in the 2 systems - original bitcoin and bitcoin with links. It indicates that probability of attacker catching up after 6 blocks is still much higher in bitcoin without Links as compared to with Links. This proves Links reduces the success of double spend, increases chain stabilization and increases responsiveness by reducing confirmation time. The system of bitcoin with and without Links such that the arrival of blocks and Links follow a Poisson distribution. Reference is made to figure 8, which shows the double spend success results when attacker owns 23% of the total hashing power of the network and on average 10 Links are generated for every block with varying time taken for the generation of 6 honest blocks(t6). In the exemplary implementation, as shown in the figure 8, the y-axis plots the log of the probability of the attackers successful double spend attack while the x-axis plots time of arrival of the 6th block - t6 (current confirmation time in Bitcoin). If the average of arrival time for all the 6 blocks was exactly 10 min t6 would be 3600 seconds ‘q’ refers to the fraction of hashing power controlled by the attacker in the network ‘a’ refers to the expected rate of Links per block. In the figure a modest scenario of an attacker owning 23% of the network power in a system without Links (dotted line) and a system having Links arriving at the rate of 10 per block (solid line). In this case, regardless of how fast the chain grows i.e. whether t6 is 100 secs or 7000 secs, Links reduce the probability of a double spend attack by over 2 orders of magnitude over the current system.
Links help reduce selfish mining and double spend attacks by increasing the stability of the chain. In the case of PoW blockchains, Links contain proof of work and can contribute to the weight of block they point to. Links are expected to fall continuously and in large numbers (depending on the decided rate of arrival). As the Links add significant weight to the main chain in addition to the main block, selfish mining or double spend becomes much harder because the attacker must exceed the total weight of the chain with the Links. Since we expect a larger number of Links to every block from the honest players, the attacker cannot possibly own enough hashing power to selfishly mine number of blocks to match the main chain and generate sufficient Links to weigh down his chain by himself.
An adversary can secretly mine Links and main blocks and publish them at a later time when he believes his selfishly mined chain is longer than the current main chain i.e. Links can also be selfishly mined but they add a significant difficulty in the success of selfish mining and double spend attacks. Links are expected to fall frequently and in larger numbers proportional to the number of honest players and mining power focused on the current chain. Therefore unless the adversary controls a strong percentage of the networks hashing power, he will not be able to generate enough Links at a rate equivalent to Link generation on the main chain. Moreover, the interarrival time between blocks is random even though we can adjust the difficulty to give an expected value. So, if the interarrival time between blocks happens to be large in the honest chain, there is a higher chance of the selfish mining or double spend attack succeeding. This is because the honest chain grows slower than the attacker's chain in this period. However, when Links are used, the weight of the honest chain grows steadily independent of the arrival of blocks.
In the exemplary implementation, reference is made to Figure 9, which shows double spend success results with a varying percentage attacker’s hashing power and on average 10 Links are generated for every block on varying time taken for the generation of 6 honest blocks(t6).
In Figure 9, the chance of success for a double spending attacker varies depending on the percentage of hashing control he has over the network and presence of Links. The y-axis plots the the probability of the attackers successful double spend attack while the x-axis plots time of arrival of the 6th block (current confirmation time in Bitcoin). If the average of arrival time for all the 6 blocks was exactly 10 min then t6 would be 3600 seconds ‘q’ refers to the fraction of hashing power controlled by the attacker in the network. Fig 9 shows the comparison in results for systems with and without Links for 4 values of q: q=23% of total power, q=28.5% of total power, q=33.3% of total power and q=37.5% of total power ‘a’ refers to the expected number of Links per block. It is evident that links significantly reduce the chances of a successful double spend attack event when the attacker control a very high fraction of the network hashing power.
In the exemplary implementation, in figure 9, corresponding dotted and solid lines show how the same power division but with the presence of Links can significantly decrease the probability of a double spend attack. Consider the chances of attacker’s success when he has 28.5% of network hashing power (bluecircles is the higher as when he has 37.5% of network hashing power with links (green square) i.e. he needs to acquire 31.5% more of his current hashing power to have the same chance of success just by introducing links. It is noted that the attacker owning 28.5% of the total hashing power is a modest scenario. The parameter set in previous work calculates success when the attacker owns 20% of the network hashing power. Therefore, similar analysis in another experiment when he has 16.6% of network hashing power showed that chances of attacker’s success is the same as when he has 28.5% of network hashing power with links i.e. he needs to acquire 71% more of his current hashing power to have the same chance of success just by introducing links. We can now infer that the same benchmark of waiting for 6 blocks for 0.001 chance of attacker’s success is lowered a great deal. Hence confirmation time is reduced by a large factor. This is how Links help improve the responsiveness of the system.
WORKING EXAMPLES:
In one example, links can be incorporated with bitcoin is explained by example. Comparison of Original Bitcoin and Bitcoin with Links:
1. Forking is common in Bitcoin and a node has to wait till the arrival of the next block to resolve it. Expected block inter arrival time is 10 min which a long waiting period. With the inclusion of Links this period is shortened by a large factor (depending on the preset rate of arrival on Links). Fork resolutions depend on the arrival on the next Link as opposed to the arrival of the next block. Links are more frequent and miners can identify the heavier chain at a much early stage.
2. Bitcoin stability is increased with the faster resolution of forks.
3. Links in Bitcoin significantly reduce the chances of a successful selfish mining or double spend attack as discussed above.
4. Without Links weight of the bitcoin blockchain increases in steps, increasing on an average of 10 min intervals. With Links the weight of the honest chain grows steadily (in small amount, but in frequent steps) independent of the arrival of blocks.
5. With increased stability due to Links, responsiveness of the system increases.
6. Links will help provide insight into division of mining power in the network at any point of time.
7. If rewards are implemented for Links, they will benefit smaller miners into gaining some rewards in frequent periodic intervals. Links reward may allow generation of new coins in the network even after the termination of block rewards in bitcoin. In second example, Links can be incorporated in Bitcoin NG. Bitcoin NG was a system built to solve the scalability problem of Bitcoin. Bitcoin-NG chooses a leader at the beginning of an epoch, and she is in charge of serializing transactions until the next leader is chosen. NG maintains the overall blockchain structure, but has two types of blocks: key-blocks and microblocks. Key-blocks are used for leader election. They are generated by mining with Proof of Work, as in Bitcoin, and they occur at 10 minute intervals on average, as in Bitcoin; in fact, they are identical, in format, to Bitcoin blocks, except that they do not contain any transactions apart from the coinbase transaction. Every key-block initiates a new epoch. Microblocks contain transactions; they are generated by the epoch leader; they contain no proof of work, and are signed with the leader’s private key. Following the key -block, the lead miner can quickly issue microblocks, simply by signing them with the private key corresponding to the public key named in the key-block’s coinbase and adding all transactions in successive microblocks.
In short, Bitcoin-NG shifts the process of issuing blocks: instead of manufacturing a block at a time as in Bitcoin, an NG miner first acquires the right to issue microblocks, and can thereafter efficiently create a series of microblocks. Microblock creation is limited solely by signing speed (in the millisecond range) and network propagation speeds of small microblocks. Should the miner falter for any reason, other miners can take over when they discover a new key-block. This process is depicted in Figure 10.
In the example, Links can be incorporated in Bitcoin NG in the following manner:
1. Links contain PoW hence contribute to the weight of the chain. They can be found while mining for the next Key block in the main chain
2. Links in Bitcoin NG can be mined on top of a recent key block or a Microblock i.e. either a microblock or a key block can be a parent to an Link. A microblock must contain the signature of the creator of the previous keyblock in the chain. A Link can have either a keyblock or a microblock as its parent block. And Microblock can have either a link, another microblock or a key block as its parent. Therefore Links in combination with microblock makes the system much more powerful. Since they are mined on top of the latest addition (microblock/keyblock/link), they are not precomputable
Links are small in size and contain only header information and optionally creator information. They will have low propagation/queuing delays and can be broadcast in a large p2p blockchain network quickly.
Key blocks are mined using a PoW with specific difficulty. Links are mined using a different PoW puzzle with a fraction of this difficulty such that it is much easier to find/mine Links than blocks. The size of the target (set of possible solutions to the puzzle) will be much smaller for Links than keyblocks i.e. more solutions exist for Links, making them much easier to mine
Microblocks do not contain PoW. When a miner receives a microblock, he would create a new block pointing to that microblock, and start his search for the next keyblock and may find a Link in the process.
Current leaders may have a link in between their chain of microblocks. They may continue publishing their microblocks on top of the link i.e. the microblock following the link will point to the link as its parent. The leader shares a fair fraction of the transaction fees from all the microblocks from the last PoW block (either keyblock or link) with the creator of the Link.
Although Keyblocks and Links solve different PoW puzzles, both puzzles can be solved simultaneously. Thus it takes no extra effort to mine Links. We can define the PoW puzzle for creating Links as requiring the same hash to be in an interval not overlapping the range required for creating a keyblock.
Hence while mining, if a particular hash is not a solution to a keyblock, a miner simply checks if it is a solution for an Link. If it is a valid Link solution he may simply publish it as an Link, by transmitting only the block-header (and optionally the coinbase transaction). When a Link is generated, the keyblock/microblock it was mined on becomes the parent block of the new Link. The published link now becomes the new tip of the chain, hence the mining process continues on top of the newly found link. In the above example, Comparison of Original Bitcoin NG and Bitcoin NG with Links:
1. In Bitcoin NG the leader elected for a epoch of time has absolute control over the microblocks he creates in his epoch. Every microblock stores transactions. When implementing Links in NG, we suggest enforcing a rule which states that“any block - Keyblock or microblock, must have at least one Link after it (preferably from a miner other than the creator/leader) mined on it before it can be extended”. The published Link must be the parent of the following keyblock/microblock for it to be valid. This can control the leaders behaviours to a large extent:
a) In bitcoin NG, a dishonest leader can generate an arbitrary tree of microblocks as they take no effort to create, to divide the network hashing power and selfishly mine microblocks and successive key blocks as shown in figure 12. Figure 12 shows links being mined on every forked microblock showing network split. When other nodes see theis split they can identify the fraudulent behaviour of the dishonest leader. With the enforcement of the rule, every microblock must have at least 1 Link mined on it. We show how Links can help identify it and one level down. The leader cannot carry out an selfish mining attack because even if he creates an arbitrary tree of depth 1, the first Link is going to decide which of them wins, and then all miners extend only that part of the tree. The following microblock/keyblock will have the proof of Link of the previous block. So effectively there is PoW for microblocks as well. Hence
i. Leader cannot generate an arbitrary tree of microblocks with no PoW effort
ii. Leader cannot selfishly mine microblocks with no PoW effort iii. He can fork only at the next level (with the arrival of the next block), but with high probability only one of the microblocks will get an Link, therefore the fork is meaningless
iv. Links that fall on these forked microblocks tell us the division of the network in the forked microblock branches and will help resolve it faster. b) NG has to share the transaction fees with the next leader. This splitting is possible only when no miner has more than 25% of mining power. If a miner has more than 25% then NG fails. Now, we can share a fraction of Link rewards with the previous and the next leader as it benefits both of them having the link to strengthen their chain. Assuming that these mining fees are much higher than transaction fees, we can forego sharing of any transaction fees with the next leader although every link should get a part of the reward of the microblock it supports.
c) It slows down the rate of generation of microblocks preventing excessively fast generation of microblocks by the leader. When the leader sends microblocks one after another, apart from occupying the entire bandwidth of the network, he ensures the longest chain is constantly updated, not allowing other honest nodes to form a block and start mining on it. Links on every block show that the network has received that block and have had time to mine on it.
2. Also note that when a leader is forking microblocks, he/she is not following protocol and we know that that the leader is a fraud. His aim may be to diving the networks hashing power among his multiple microblock, improving his chances of generating the next key block. This leader must be penalized and the network can agree to mine on the parent block of the fork if they see a fork. Microblocks and larger in size than Links as they contain transactions and some miner may not have received them. Links that travel much faster than microblocks (as they do not contain any transactions) may reveal this fork at a much earlier stage i.e when a Link is received pointing to block at a lower or same height to the block one is mining on, and the miner still has not heard of the microblock.
3. Responsiveness of the NG system does not change without Links. One still has to wait 6 Keyblocks for transaction confirmation. With Links Responsiveness of the system would significantly improve. It would be the same Bitcoin.
4. System is as prone to selfish mining as bitcoin with Links. Links offer better resistance to selfish mining and double spend attacks
5. Without Links weight of the bitcoin NG blockchain increases in steps similar to Bitcoin, increasing on an average of 10 min intervals. With Link the weight of the honest chain grows steadily independent of the arrival of keyblocks or microblocks.
6. Links will help provide insight into division of mining power in the network at any point of time. Some of the non-limiting advantages of adding links to the blockchain is as follows:
• It will increase the stability of the blockchain system with a steady contribution with time to the weight of the chain.
• The method according to the present invention will provide insight into the division of mining power in the blockchain network at any point in time.
• It will increase stability to result in faster resolution of Forks.
• It will provide insight into the division of mining power in the blockchain network at any point in time.
• It will significantly reduce the chances of selfish mining and double spend attacks with increased stability in the blockchain system.
• It will increase Blockchain responsiveness
• It will benefit smaller miners into gaining some mining rewards in frequent periodic intervals.
• It can be implemented on an underlying blockchain system based on any consensus mechanism or a combination of consensus mechanisms. These consensus mechanisms include Proof-of-Work (PoW), Proof-of- stake (PoS), Proof-of-authority (PoA), Algorand, etc.
• Link rewards may allow generation of new coins in the network even after the termination of block rewards. Links rewards are a policy decision and can vary with the blockchain system and the way Links are adapted.
Although a method in blockchain systems for fast stabilization and increased responsiveness using links have been described in language specific to structural features and/or methods, it is to be understood that the embodiments disclosed in the above section are not necessarily limited to the specific features or methods or devices described. Rather, the specific features are disclosed as examples of implementations of the method in blockchain systems for fast stabilization and increased responsiveness using links.

Claims

WE CLAIM:
1. A computer implemented method in a blockchain system, wherein said method comprising: a plurality of links, wherein said links includes a bitstring information, wherein each links comprising:
(i)Hash of a block or hash of a Link in a main chain, and
(ii) a solution to a Proof Of Work (PoW) puzzle specific for said links; and
(iii) a transaction containing an address of an entity creating each of said links and no other transaction,
Wherein, each of said plurality of links generated by said entity, propagated and thereby accepted by plurality of peer nodes in a network on said blockchain system so as to increase the responsiveness and stability of a blockchain.
2. The method as claimed in claim 1, wherein said address of said entity is a coinbase transaction.
3. The method as claimed in claim 1, wherein said links includes a fixed size small structures having data such that they have low propagation/queuing delays and broadcast in a peer-to-peer (p2p) blockchain network.
4. A method for adding at least a link to a blockchain using a mechanism, wherein said method comprising: a) Generating, by a processing server, said link including a block header containing at least a pointer to a parent block or another Link and a solution to a PoW puzzle along with a body, and a transaction containing an address of an entity creating each of said links and no other transaction;
b) generating, by the hashing module of the processing server, a previous hash value using a hashing algorithm of said block header included in the generated said block or Link to specify a previous block or Link as a parent; c) electronically transmitting, by a transmitting module of the processing server, said generated link to a plurality of peer nodes associated with the blockchain with low propagation delays;
d) receiving, by a receiving module of the processing server, a plurality of links from one or more peer nodes associated with the blockchain;
e) Verifying, by said receiving module of the processing server, the validity of said link in a constant time.
5. A non-transitory computer readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to perform operations comprising:
Generating, by an entity, a plurality of links or block in a blockchain, wherein said links is a bitstring information, said links including (i) at least a pointer to a parent block or parent Link, (ii) a solution to a PoW puzzle, and (iii) a transaction containing an address of an entity creating each of said links and no other transaction.
6. The non-transitory computer readable storage medium as claimed in claim 5, wherein said address of said entity is a coinbase transaction.
PCT/IB2020/055472 2019-06-15 2020-06-11 Method in blockchain systems for fast stabilization and increased responsiveness using links WO2020254923A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201911023814 2019-06-15
IN201911023814 2019-06-15

Publications (1)

Publication Number Publication Date
WO2020254923A1 true WO2020254923A1 (en) 2020-12-24

Family

ID=74040146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2020/055472 WO2020254923A1 (en) 2019-06-15 2020-06-11 Method in blockchain systems for fast stabilization and increased responsiveness using links

Country Status (1)

Country Link
WO (1) WO2020254923A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210097537A1 (en) * 2019-09-27 2021-04-01 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180205555A1 (en) * 2015-07-13 2018-07-19 Nippon Telegraph And Telephone Corporation Contract Agreement Method, Agreement Verification Method, Contract Agreement System, Agreement Verification Device, Contract Agreement Device, Contract Agreement Program and Agreement Verification Program
US20190079952A1 (en) * 2017-09-12 2019-03-14 Northwestern University Back-up sentinel network for a blockchain distribution network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180205555A1 (en) * 2015-07-13 2018-07-19 Nippon Telegraph And Telephone Corporation Contract Agreement Method, Agreement Verification Method, Contract Agreement System, Agreement Verification Device, Contract Agreement Device, Contract Agreement Program and Agreement Verification Program
US20190079952A1 (en) * 2017-09-12 2019-03-14 Northwestern University Back-up sentinel network for a blockchain distribution network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210097537A1 (en) * 2019-09-27 2021-04-01 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
US11516006B2 (en) * 2019-09-27 2022-11-29 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
US11907174B2 (en) 2019-09-27 2024-02-20 Cypherium Blockchain Inc. Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes

Similar Documents

Publication Publication Date Title
Bai et al. A deep dive into blockchain selfish mining
Rohrer et al. Kadcast: A structured approach to broadcast in blockchain networks
Ritz et al. The impact of uncle rewards on selfish mining in ethereum
Zhang et al. Double-spending with a sybil attack in the bitcoin decentralized network
Zhang et al. Publish or perish: A backward-compatible defense against selfish mining in bitcoin
Mirkin et al. Bdos: Blockchain denial-of-service
Ekparinya et al. Impact of man-in-the-middle attacks on ethereum
Liu et al. On the strategy and behavior of bitcoin mining with n-attackers
Bissias et al. Bobtail: Improved Blockchain Security with Low-Variance Mining.
Sompolinsky et al. Bitcoin's underlying incentives
Conti et al. Blockchain trilemma solver algorand has dilemma over undecidable messages
US11868327B2 (en) Method and apparatus for creating and adding a block based on a directed acyclic graph and building a ledger
US20220101318A1 (en) Transaction Assignment Method and Apparatus Based on Structured Directed Acyclic Graph
Motlagh et al. The impact of selfish mining on bitcoin network performance
US11606253B2 (en) Method of using a proxy network to normalize online connections by executing computer-executable instructions stored on a non-transitory computer-readable medium
Ramezan et al. Analysis of proof-of-work-based blockchains under an adaptive double-spend attack
CN110891050B (en) Full-chain atomic-level active safe routing method
Sharkey et al. Alt-PoW: an alternative proof-of-work mechanism
Liu et al. An intelligent strategy to gain profit for bitcoin mining pools
Zhu et al. A survey: Reward distribution mechanisms and withholding attacks in Bitcoin pool mining.
Anceaume et al. Sycomore: A permissionless distributed ledger that self-adapts to transactions demand
CN112862607A (en) Method, device, equipment and storage medium for realizing block chain consensus mechanism
Wang et al. Game-theoretical analysis of mining strategy for bitcoin-ng blockchain protocol
Li et al. Enhancing the efficiency and scalability of blockchain through probabilistic verification and clustering
WO2020254923A1 (en) Method in blockchain systems for fast stabilization and increased responsiveness using links

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20826649

Country of ref document: EP

Kind code of ref document: A1