From 2f3921aee661cfe253a8ddcdad1a7393135de589 Mon Sep 17 00:00:00 2001 From: dangershony Date: Fri, 12 Feb 2021 17:01:41 +0000 Subject: [PATCH 01/15] some initial sections to think about --- Documentation/proof-of-stake.md | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Documentation/proof-of-stake.md diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md new file mode 100644 index 000000000..2f4f12ab5 --- /dev/null +++ b/Documentation/proof-of-stake.md @@ -0,0 +1,53 @@ +## Specification of the blockcore Proof Of Stake ## + + +What is POS vs POW + + + + +- Definitions + +StakeMinConfirmations (MaxReorg) + +coinage + +proven headers (fake headers) + +kernal hash + +target spacing + +mask + +stake modifiers + + + +- How it works on blockcore + +the parameters that are used for hashing a valid kernal + +the importance of syncing time correctly (future drift) + +block signatures (why sign a block with the private key owning the UTXO) + +How is the next difficulty target calculated + +changes made in v4 + +coldstaking (multisig staking using P2WSH) + +- Weaknesses + +NAS + +Stake Grinding + +IBD + +bribing + + + +- How decentralized is POS \ No newline at end of file From 7f1fdec2b9a6b186bfcfe50b23c5dda32a5855d0 Mon Sep 17 00:00:00 2001 From: dangershony Date: Mon, 15 Feb 2021 14:26:55 +0000 Subject: [PATCH 02/15] Adding info about future drift, kernal hash and block signatures --- Documentation/proof-of-stake.md | 89 ++++++++++++++++++++++++++------- 1 file changed, 71 insertions(+), 18 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 2f4f12ab5..32923cc72 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -8,45 +8,98 @@ What is POS vs POW - Definitions -StakeMinConfirmations (MaxReorg) +###StakeMinConfirmations (MaxReorg) -coinage +###coinage -proven headers (fake headers) +###proven headers (fake headers) + +###kernal hash -kernal hash +###target spacing -target spacing +###mask -mask - -stake modifiers +###stake modifiers - How it works on blockcore -the parameters that are used for hashing a valid kernal +###the parameters that are used for hashing a valid kernal + +How is a valid coinstake found? this is the heart of the processes. + +The processes of staking will go as following, everytime a MASK time elapses the node will iterate over all its stakable outputs (the outputs that reached maturity and are beyond maxreorg) + +Then each output will be hashed with the following paramteres: + +- Previous StakeModifier - the stake modifier is a chain of coinstake hashes +- Output hash - the hash of the output of the coins that are being spent to find the kernal +- Old Output N - the position of the output of the coins that are being spent to find the kernal +- New coinstake current time - (the timestamp of the new output that will be created, this must fits the MASK rule) + +This is called the Kernal. + +The Target: +The target is the number that a kernal hash needs to be bellow in order to be considered valid. +In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor of haw many coins a UTXO has, +This is called the weighted target it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. + +If the resulting kernal hash of the above calculations is bellow the weighted target then the coinstake is valid and can be used to create a block. + +### the importance of syncing time correctly (future drift) + +Each node has a consensus rule of a fixed interval of X seconds that will enforce how far in the future it will accept blocks, +blocks with a time stamp that is X seconds further then our nodes current datetime will be rejected. + +But such rejected blocks will not be considered invaid, in case our node was just had the wrong time in comparison to the network, +and the network accepts such a block our node would fork away form the network consensus. + +This means it is crucial that a all nodes on the network that participate in full consensus rules validation will be on the same UTC datetime. +To achive that we use the computers local current time, and double check that against all connected peers datetime +(when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x [check that is actually 3x] more weight in the measurments +(this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our nodes avg time). +If the local time and peers avg time do not match the node will print out a warrnign message and default to peers time [need to double check the default]. + + +###block signatures (why sign a block with the private key owning the UTXO) + +The coinstake that found a valid kernal and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs +However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block the attacker created +and propagate that to the network, the attacker could then censor transactions at will. + +By signing the block with the same key that ownes the UTXO peers can validate the blocl was created by the owner of the coinstake. +The block signature is attached as an extention block at the end of the serialid blocks and is not part of the header hash. + +###How is the next difficulty target calculated -the importance of syncing time correctly (future drift) +###changes made in POSv4 -block signatures (why sign a block with the private key owning the UTXO) +Two changes where made in POSv4. -How is the next difficulty target calculated +- The removal of the time stamp from the transaction serialization: +this makes POS transactions serialize the same as Bitcoin transactions, +the benefit of that is easier to use various blockchain tools that made for Bitcoin. +That time stamp was used in the kernal hash however the kernal hash was anyway defaulting to the header timestamp +so there was no need to serialize the time stamp also in each transaction. -changes made in v4 +- The removal of the coinstake time from the kernal hash calculations: +when checking the kernal validity a few parameters are hashed together to create randmoness, +previously the timestamp of the utxo that is being spent was also included in that hash +however it provides no additional randomoness because the previous outpoint is used as well and that is already unique -coldstaking (multisig staking using P2WSH) +###coldstaking (multisig staking using P2WSH) - Weaknesses -NAS +###NAS -Stake Grinding +###Stake Grinding -IBD +###IBD -bribing +###bribing From 0d285450a415815dd617f31b17d87f209209e247 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Mon, 15 Feb 2021 20:05:22 +0000 Subject: [PATCH 03/15] Update proof-of-stake.md --- Documentation/proof-of-stake.md | 55 ++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 32923cc72..265c15e7d 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -1,32 +1,43 @@ ## Specification of the blockcore Proof Of Stake ## -What is POS vs POW +### What is POS vs POW -- Definitions +### Definitions -###StakeMinConfirmations (MaxReorg) +#### StakeMinConfirmations -###coinage +The minimum confirmations required for a coin to be good enough to participate in staking +Must be equal or greater then MaxReorg this is to discourage attackers to stake in isolation and then force a reorg. -###proven headers (fake headers) +#### MaxReorg + +Long reorganization protection or the maximal length of reorganization that the node is willing to accept. +The reaosn to prevent long reorganization is to prevent "hisotry attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. + +Honest nodes will not switch to a chain that forked earler then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before maxreorg then staking in isolation cannot cause long reorganisations. + + +#### Coinage + +#### Proven Headers -###kernal hash +#### Kernal hash -###target spacing +##### Target Spacing -###mask +##### Mask -###stake modifiers +##### Stake Modifiers -- How it works on blockcore +### How it works on blockcore -###the parameters that are used for hashing a valid kernal +#### the parameters that are used for hashing a valid kernal How is a valid coinstake found? this is the heart of the processes. @@ -48,7 +59,7 @@ This is called the weighted target it means the target of the UTXO is higher the If the resulting kernal hash of the above calculations is bellow the weighted target then the coinstake is valid and can be used to create a block. -### the importance of syncing time correctly (future drift) +#### The importance of syncing time correctly (future drift) Each node has a consensus rule of a fixed interval of X seconds that will enforce how far in the future it will accept blocks, blocks with a time stamp that is X seconds further then our nodes current datetime will be rejected. @@ -63,7 +74,7 @@ To achive that we use the computers local current time, and double check that ag If the local time and peers avg time do not match the node will print out a warrnign message and default to peers time [need to double check the default]. -###block signatures (why sign a block with the private key owning the UTXO) +#### Block Signatures (why sign a block with the private key owning the UTXO) The coinstake that found a valid kernal and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block the attacker created @@ -72,9 +83,9 @@ and propagate that to the network, the attacker could then censor transactions a By signing the block with the same key that ownes the UTXO peers can validate the blocl was created by the owner of the coinstake. The block signature is attached as an extention block at the end of the serialid blocks and is not part of the header hash. -###How is the next difficulty target calculated +#### How is the next difficulty target calculated -###changes made in POSv4 +#### Changes made in POSv4 Two changes where made in POSv4. @@ -89,18 +100,18 @@ when checking the kernal validity a few parameters are hashed together to create previously the timestamp of the utxo that is being spent was also included in that hash however it provides no additional randomoness because the previous outpoint is used as well and that is already unique -###coldstaking (multisig staking using P2WSH) +#### Coldstaking (multisig staking using P2WSH) -- Weaknesses +## Weaknesses -###NAS +#### NAS -###Stake Grinding +#### Stake Grinding -###IBD +#### IBD -###bribing +#### bribing -- How decentralized is POS \ No newline at end of file +- How decentralized is POS From a18521f4eb7b63ff678498ebede82c2ab479b1f7 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Tue, 16 Feb 2021 15:56:02 +0000 Subject: [PATCH 04/15] Act on review --- Documentation/proof-of-stake.md | 34 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 265c15e7d..172bc202c 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -16,7 +16,7 @@ Must be equal or greater then MaxReorg this is to discourage attackers to stake #### MaxReorg Long reorganization protection or the maximal length of reorganization that the node is willing to accept. -The reaosn to prevent long reorganization is to prevent "hisotry attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. +The reason to prevent long reorganization is to prevent "history attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. Honest nodes will not switch to a chain that forked earler then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before maxreorg then staking in isolation cannot cause long reorganisations. @@ -37,46 +37,46 @@ Honest nodes will not switch to a chain that forked earler then maxreorg, and be ### How it works on blockcore -#### the parameters that are used for hashing a valid kernal +#### the parameters that are used for hashing a valid kernel -How is a valid coinstake found? this is the heart of the processes. +How is a valid coinstake found? This is the heart of the processes. -The processes of staking will go as following, everytime a MASK time elapses the node will iterate over all its stakable outputs (the outputs that reached maturity and are beyond maxreorg) +The processes of staking will go as following, everytime a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond maxreorg) -Then each output will be hashed with the following paramteres: +Then each output will be hashed with the following parameters: - Previous StakeModifier - the stake modifier is a chain of coinstake hashes -- Output hash - the hash of the output of the coins that are being spent to find the kernal -- Old Output N - the position of the output of the coins that are being spent to find the kernal +- Output hash - the hash of the output of the coins that are being spent to find the kernel +- Old Output N - the position of the output of the coins that are being spent to find the kernel - New coinstake current time - (the timestamp of the new output that will be created, this must fits the MASK rule) -This is called the Kernal. +This is called the Kernel. The Target: -The target is the number that a kernal hash needs to be bellow in order to be considered valid. +The target is the number that a kernel hash needs to be bellow in order to be considered valid. In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor of haw many coins a UTXO has, This is called the weighted target it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. -If the resulting kernal hash of the above calculations is bellow the weighted target then the coinstake is valid and can be used to create a block. +If the resulting kernel hash of the above calculations is bellow the weighted target then the coinstake is valid and can be used to create a block. #### The importance of syncing time correctly (future drift) Each node has a consensus rule of a fixed interval of X seconds that will enforce how far in the future it will accept blocks, blocks with a time stamp that is X seconds further then our nodes current datetime will be rejected. -But such rejected blocks will not be considered invaid, in case our node was just had the wrong time in comparison to the network, +But such rejected blocks will not be considered invalid, in case our node was just had the wrong time in comparison to the network, and the network accepts such a block our node would fork away form the network consensus. -This means it is crucial that a all nodes on the network that participate in full consensus rules validation will be on the same UTC datetime. +This means it is crucial that nodes on the network that participate in full consensus rules validation will be on the same UTC datetime. To achive that we use the computers local current time, and double check that against all connected peers datetime (when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x [check that is actually 3x] more weight in the measurments (this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our nodes avg time). -If the local time and peers avg time do not match the node will print out a warrnign message and default to peers time [need to double check the default]. +If the local time and peers avg time do not match the node will print out a warning message and default to peers time [need to double check the default]. #### Block Signatures (why sign a block with the private key owning the UTXO) -The coinstake that found a valid kernal and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs +The coinstake that found a valid kernel and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block the attacker created and propagate that to the network, the attacker could then censor transactions at will. @@ -92,11 +92,11 @@ Two changes where made in POSv4. - The removal of the time stamp from the transaction serialization: this makes POS transactions serialize the same as Bitcoin transactions, the benefit of that is easier to use various blockchain tools that made for Bitcoin. -That time stamp was used in the kernal hash however the kernal hash was anyway defaulting to the header timestamp +That time stamp was used in the kernel hash however the kernel hash was anyway defaulting to the header timestamp so there was no need to serialize the time stamp also in each transaction. -- The removal of the coinstake time from the kernal hash calculations: -when checking the kernal validity a few parameters are hashed together to create randmoness, +- The removal of the coinstake time from the kernel hash calculations: +when checking the kernel validity a few parameters are hashed together to create randomness, previously the timestamp of the utxo that is being spent was also included in that hash however it provides no additional randomoness because the previous outpoint is used as well and that is already unique From f7d4488cc1898c3c979979064c3da8df89725b9d Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Tue, 16 Feb 2021 17:12:39 +0000 Subject: [PATCH 05/15] Some more explanations --- Documentation/proof-of-stake.md | 71 ++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 15 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 172bc202c..275cd8bd9 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -3,7 +3,7 @@ ### What is POS vs POW - +[TBD] ### Definitions @@ -18,22 +18,51 @@ Must be equal or greater then MaxReorg this is to discourage attackers to stake Long reorganization protection or the maximal length of reorganization that the node is willing to accept. The reason to prevent long reorganization is to prevent "history attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. -Honest nodes will not switch to a chain that forked earler then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before maxreorg then staking in isolation cannot cause long reorganisations. +Honest nodes will not switch to a chain that forked earlier then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before maxreorg then staking in isolation cannot cause long reorganisations. +#### Coin maturity -#### Coinage +The number of confirmations a newly found coinstake needs to be buried under before it can be spent. +(Not to be confused with StakeMinConfirmations whic is for staking) #### Proven Headers +Those are headers that curry all the information that is needed to validate a coinstake. +Proven headers are used as a headers first approach where the node will first download the headers of blocks and only if the header is valid will the node fetch the entire block for full validation. + +The full Proven Headers specification can be found here +https://github.com/block-core/blockcore/blob/master/Documentation/Features/ProvenHeaders.md + +#### Target Difficulty + +The difficulty target for the next block, or how hard will it be to find the next valid Kernal to satisfy the target difficulty. + #### Kernal hash -##### Target Spacing +A random sha256 hash created from a number of parameters corresponding to the coinstake. +A valid stake kernel hash satisfies the target difficulty. + +#### Target Spacing + +The expected block time in seconds, or how often do we expect the network to produce a block. -##### Mask +#### Future Drift -##### Stake Modifiers +Future drift is maximal allowed block's timestamp difference over adjusted time. +We set the future drift to a fixed value of 15 seconds (the time it takes a block to propagate around the world is roughly 12 seconds) +#### Mask +A mask for coinstake header's timestamp. Used to decrease granularity of timestamp +This corresponds to the number of blocks that can be produced in a given time span. + +For example if the Mask = 16 and the TargetSpacing = 64 then a valid coinstake timestamp can be found only 4 times within the target spacing. +Staking nodes will try to find a valid coinstake kernal every time the Mask is elapsed (in the example above every 16 seconds but no more then future drift seconds forward) + +#### Stake Modifiers + +The stake modifier is a chain of coinstake hashes all the way from the first POS block. +It's used to introduce an element of randomness to the Kernal calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake ### How it works on blockcore @@ -41,7 +70,7 @@ Honest nodes will not switch to a chain that forked earler then maxreorg, and be How is a valid coinstake found? This is the heart of the processes. -The processes of staking will go as following, everytime a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond maxreorg) +The processes of staking will go as following, every time a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond maxreorg) Then each output will be hashed with the following parameters: @@ -57,19 +86,19 @@ The target is the number that a kernel hash needs to be bellow in order to be co In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor of haw many coins a UTXO has, This is called the weighted target it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. -If the resulting kernel hash of the above calculations is bellow the weighted target then the coinstake is valid and can be used to create a block. +If the resulting kernel hash of the above calculations is below the weighted target then the coinstake is valid and can be used to create a block. #### The importance of syncing time correctly (future drift) -Each node has a consensus rule of a fixed interval of X seconds that will enforce how far in the future it will accept blocks, -blocks with a time stamp that is X seconds further then our nodes current datetime will be rejected. +Each node has a consensus rule of a fixed interval of 15 seconds that will enforce how far in the future it will accept blocks, +blocks with a time stamp that is 15 seconds further then our nodes current datetime will be rejected. But such rejected blocks will not be considered invalid, in case our node was just had the wrong time in comparison to the network, and the network accepts such a block our node would fork away form the network consensus. This means it is crucial that nodes on the network that participate in full consensus rules validation will be on the same UTC datetime. -To achive that we use the computers local current time, and double check that against all connected peers datetime -(when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x [check that is actually 3x] more weight in the measurments +To achieve that we use the computers local current time, and double check that against all connected peers datetime +(when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x [check that is actually 3x] more weight in the measurements (this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our nodes avg time). If the local time and peers avg time do not match the node will print out a warning message and default to peers time [need to double check the default]. @@ -80,11 +109,15 @@ The coinstake that found a valid kernel and thus was selected to create a block However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block the attacker created and propagate that to the network, the attacker could then censor transactions at will. -By signing the block with the same key that ownes the UTXO peers can validate the blocl was created by the owner of the coinstake. -The block signature is attached as an extention block at the end of the serialid blocks and is not part of the header hash. +By signing the block with the same key that owns the UTXO peers can validate the block was created by the owner of the coinstake. +The block signature is attached at the end of the serialized block and is not part of the header hash. #### How is the next difficulty target calculated +The calculation of the next target is based on the last target value and the block time (aka spacing) (i.e. difference in time stamp of this block and its immediate predecessor). +The target changes every block and it is adjusted down (i.e. towards harder to reach, or more difficult) if the time to mine last block was lower than the target block time. +And it is adjusted up if it took longer than the target block time. The adjustments are done in a way the target is moving towards the target-spacing (expected block time) exponentially, so even a big change in the mining power on the network will be fixed by retargeting relatively quickly. + #### Changes made in POSv4 Two changes where made in POSv4. @@ -98,10 +131,18 @@ so there was no need to serialize the time stamp also in each transaction. - The removal of the coinstake time from the kernel hash calculations: when checking the kernel validity a few parameters are hashed together to create randomness, previously the timestamp of the utxo that is being spent was also included in that hash -however it provides no additional randomoness because the previous outpoint is used as well and that is already unique +however it provides no additional randomness because the previous outpoint is used as well and that is already unique #### Coldstaking (multisig staking using P2WSH) +Coldstaking is a mechanism that eliminates the need to keep the coins in a hot wallet. +When setting up coldstaking a user generates two wallets (two different private keys) one key can only be used for staking (creating other coinstakes) and the other key is used for spending the coins. + +Cold staking still requires to have a fully synced node running and connected to the network. + +The full Coldstaking specification can be found here +https://github.com/block-core/blockcore/blob/master/Documentation/Features/ColdStaking.md + ## Weaknesses #### NAS From a11c9459237697600eb5bda98a2e9e3a5ef09f90 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Tue, 16 Mar 2021 15:40:39 +0000 Subject: [PATCH 06/15] Some updates to the text --- Documentation/proof-of-stake.md | 44 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 275cd8bd9..f3b635e5a 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -3,14 +3,14 @@ ### What is POS vs POW -[TBD] +Proof Of Stake is an alternative way to achieve consensus to Proof Of Work, the difference with POS is that block producers use ownership of coins as the right to produce blocks and validating nodes can verify such claims by validating cryptographic signatures and the chain history. +A good comparison is that POW uses CPU cycles to proof sufficent work was produced while POS uses unit of account to proof enough stake was allocated. - -### Definitions +### Definitions and explanations: #### StakeMinConfirmations -The minimum confirmations required for a coin to be good enough to participate in staking +The minimum confirmations required for a coin to be good enough to participate in staking. Must be equal or greater then MaxReorg this is to discourage attackers to stake in isolation and then force a reorg. #### MaxReorg @@ -27,7 +27,7 @@ The number of confirmations a newly found coinstake needs to be buried under bef #### Proven Headers -Those are headers that curry all the information that is needed to validate a coinstake. +Those are headers that carry all the information that is needed to validate a coinstake. Proven headers are used as a headers first approach where the node will first download the headers of blocks and only if the header is valid will the node fetch the entire block for full validation. The full Proven Headers specification can be found here @@ -49,11 +49,11 @@ The expected block time in seconds, or how often do we expect the network to pro #### Future Drift Future drift is maximal allowed block's timestamp difference over adjusted time. -We set the future drift to a fixed value of 15 seconds (the time it takes a block to propagate around the world is roughly 12 seconds) +We set the future drift to be a fixed value of 15 seconds (the time it takes a block to propagate around the world is roughly 12 seconds) #### Mask -A mask for coinstake header's timestamp. Used to decrease granularity of timestamp +A mask for the coinstake header's timestamp. Used to decrease granularity of timestamp This corresponds to the number of blocks that can be produced in a given time span. For example if the Mask = 16 and the TargetSpacing = 64 then a valid coinstake timestamp can be found only 4 times within the target spacing. @@ -66,7 +66,7 @@ It's used to introduce an element of randomness to the Kernal calculations, in o ### How it works on blockcore -#### the parameters that are used for hashing a valid kernel +#### Hashing a valid kernel How is a valid coinstake found? This is the heart of the processes. @@ -77,37 +77,35 @@ Then each output will be hashed with the following parameters: - Previous StakeModifier - the stake modifier is a chain of coinstake hashes - Output hash - the hash of the output of the coins that are being spent to find the kernel - Old Output N - the position of the output of the coins that are being spent to find the kernel -- New coinstake current time - (the timestamp of the new output that will be created, this must fits the MASK rule) +- New coinstake current time - (the timestamp of the new output that will be created, this must fit the MASK rule) -This is called the Kernel. +The output hash of the above is called the Kernel. The Target: -The target is the number that a kernel hash needs to be bellow in order to be considered valid. -In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor of haw many coins a UTXO has, -This is called the weighted target it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. +The target is the number of which a kernel hash needs to be bellow in order to be considered valid. +In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor to the number of coins a UTXO has, +This is called the weighted target, it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. If the resulting kernel hash of the above calculations is below the weighted target then the coinstake is valid and can be used to create a block. #### The importance of syncing time correctly (future drift) Each node has a consensus rule of a fixed interval of 15 seconds that will enforce how far in the future it will accept blocks, -blocks with a time stamp that is 15 seconds further then our nodes current datetime will be rejected. +blocks with a time stamp that is 15 seconds further then local nodes current datetime will be rejected. -But such rejected blocks will not be considered invalid, in case our node was just had the wrong time in comparison to the network, -and the network accepts such a block our node would fork away form the network consensus. +But such rejected blocks will not be considered invalid, in case our local node just had the wrong time in comparison to the network, +and the network accepts such a block our local node would fork away form the network consensus. This means it is crucial that nodes on the network that participate in full consensus rules validation will be on the same UTC datetime. To achieve that we use the computers local current time, and double check that against all connected peers datetime -(when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x [check that is actually 3x] more weight in the measurements -(this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our nodes avg time). -If the local time and peers avg time do not match the node will print out a warning message and default to peers time [need to double check the default]. - +(when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x more weight in the measurements +(this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our local nodes avg time). +If the local time and peers avg time do not match the node will print out a warning message and default to peers time. #### Block Signatures (why sign a block with the private key owning the UTXO) The coinstake that found a valid kernel and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs -However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block the attacker created -and propagate that to the network, the attacker could then censor transactions at will. +However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block which the attacker created and propagate that to the network, the attacker could then censor transactions at will. By signing the block with the same key that owns the UTXO peers can validate the block was created by the owner of the coinstake. The block signature is attached at the end of the serialized block and is not part of the header hash. @@ -133,7 +131,7 @@ when checking the kernel validity a few parameters are hashed together to create previously the timestamp of the utxo that is being spent was also included in that hash however it provides no additional randomness because the previous outpoint is used as well and that is already unique -#### Coldstaking (multisig staking using P2WSH) +#### Coldstaking (multisig staking) Coldstaking is a mechanism that eliminates the need to keep the coins in a hot wallet. When setting up coldstaking a user generates two wallets (two different private keys) one key can only be used for staking (creating other coinstakes) and the other key is used for spending the coins. From 0dd03aeaa3943ee2c78b22af9909887dabdb704d Mon Sep 17 00:00:00 2001 From: dangershony Date: Tue, 16 Mar 2021 15:58:54 +0000 Subject: [PATCH 07/15] Add historic pos whitepapers --- Documentation/pos-whitepapers/pos.pdf | Bin 0 -> 41972 bytes Documentation/pos-whitepapers/posv2.pdf | Bin 0 -> 101274 bytes Documentation/pos-whitepapers/posv3.pdf | Bin 0 -> 125590 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Documentation/pos-whitepapers/pos.pdf create mode 100644 Documentation/pos-whitepapers/posv2.pdf create mode 100644 Documentation/pos-whitepapers/posv3.pdf diff --git a/Documentation/pos-whitepapers/pos.pdf b/Documentation/pos-whitepapers/pos.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7e02c4076474d2ea20aa04a69a8d675156571eeb GIT binary patch literal 41972 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 literal 0 HcmV?d00001 diff --git a/Documentation/pos-whitepapers/posv2.pdf b/Documentation/pos-whitepapers/posv2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2369de5a1979ab995d8f0aadb56fdfde4e271538 GIT binary patch literal 101274 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

SLH8 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 Date: Tue, 16 Mar 2021 17:43:19 +0000 Subject: [PATCH 08/15] adding references --- Documentation/proof-of-stake.md | 35 ++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index f3b635e5a..ffb5ed893 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -143,14 +143,43 @@ https://github.com/block-core/blockcore/blob/master/Documentation/Features/ColdS ## Weaknesses -#### NAS +#### NAS (nothing at stake) + +Nothing-at-stake is a theoretical security issue in proof-of-stake consensus systems in which validators have a financial incentive to mine on every fork of the blockchain that takes place, which is disruptive to consensus and potentially makes the system more vulnerable to attacks + +https://golden.com/wiki/Nothing-at-stake_problem +https://medium.com/coinmonks/understanding-proof-of-stake-the-nothing-at-stake-theory-1f0d71bc027 #### Stake Grinding + +Stake grinding is a class of attack where a validator performs some computation or takes some other step to try to bias the randomness in their own favor +In a stake grinding attack, the attacker has a small amount of stake and goes through the history of the blockchain and finds places where their stake wins a block. In order to consecutively win, they modify the next block header until some stake they own wins once again. + +https://dyor-crypto.fandom.com/wiki/Grinding_Attack + #### IBD -#### bribing +Proof of stake networks are more vulnerable during Initial Block Download (IBD), during initial sync a local node will try to find peers to sync the consensus history, however if a fake chain is presented (a fake chain is any chain that is not the longest chain with the most stake) a local node cannot rewind away from the fake chain if it's fork is beyond the maxreorg parameter and will result in our local node being stuck on a shorter chain. + +To address that the local node uses chackpoints, and to mitigate that attack during IBD a node will only accept outgoing connections + +#### How decentralized is POS + + +### References +#### Older whitepapers +POS whitepaper - /pos-whitepapers/pos.pdf +POSv2 whitepaper - /pos-whitepapers/posv2.pdf +POSv3 whitepaper - /pos-whitepapers/posv3.pdf +#### Additional references +https://en.bitcoin.it/wiki/Proof_of_Stake +Bitcointalk discussion on the issues of POS https://bitcointalk.org/index.php?topic=1382241.0 +https://github.com/libbitcoin/libbitcoin-system/wiki/Proof-of-Stake-Fallacy +http://earlz.net/view/2017/07/27/1904/the-missing-explanation-of-proof-of-stake-version +https://www.reddit.com/r/Bitcoin/comments/1oi7su/criticisms_of_proofofstake/ +https://blog.ethereum.org/2014/07/05/stake/ +https://eprint.iacr.org/2018/248.pdf -- How decentralized is POS From 068249f246ea779c7175b7fcfa40ab4d58bc574d Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Tue, 23 Mar 2021 14:44:14 +0000 Subject: [PATCH 09/15] Add more info about weaknesses --- Documentation/proof-of-stake.md | 36 ++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index ffb5ed893..785d68bb8 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -1,5 +1,4 @@ -## Specification of the blockcore Proof Of Stake ## - +## Specification of the Blockcore Proof Of Stake ## ### What is POS vs POW @@ -64,7 +63,7 @@ Staking nodes will try to find a valid coinstake kernal every time the Mask is e The stake modifier is a chain of coinstake hashes all the way from the first POS block. It's used to introduce an element of randomness to the Kernal calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake -### How it works on blockcore +### How it works on Blockcore #### Hashing a valid kernel @@ -147,6 +146,10 @@ https://github.com/block-core/blockcore/blob/master/Documentation/Features/ColdS Nothing-at-stake is a theoretical security issue in proof-of-stake consensus systems in which validators have a financial incentive to mine on every fork of the blockchain that takes place, which is disruptive to consensus and potentially makes the system more vulnerable to attacks +Assuming the majority of stakers are honest an attacker which exercises NAS can make it very hard for honest nodes to know what is the chain with the total honest staking power (even if the attacker stakes on forks with less total stake this can confuse nodes in IBD) + +However this attack is not obvious to execute as an attacker would have to be economically invested in the chain in order to execute the attack and will be risking the value of their own coins. + https://golden.com/wiki/Nothing-at-stake_problem https://medium.com/coinmonks/understanding-proof-of-stake-the-nothing-at-stake-theory-1f0d71bc027 @@ -158,28 +161,37 @@ In a stake grinding attack, the attacker has a small amount of stake and goes th https://dyor-crypto.fandom.com/wiki/Grinding_Attack -#### IBD +Blockcore is not known to be vulnerable to stake grinding + +#### The IBD problem Proof of stake networks are more vulnerable during Initial Block Download (IBD), during initial sync a local node will try to find peers to sync the consensus history, however if a fake chain is presented (a fake chain is any chain that is not the longest chain with the most stake) a local node cannot rewind away from the fake chain if it's fork is beyond the maxreorg parameter and will result in our local node being stuck on a shorter chain. -To address that the local node uses chackpoints, and to mitigate that attack during IBD a node will only accept outgoing connections +To address that the local node uses checkpoints (regularly hard coding in to the software the correct chain), and to mitigate that attack during IBD a node will only accept outgoing connections. #### How decentralized is POS +POS is considered less decentralized then POW because: +- Complexity: the POS protocol is more complex, more unknown attacks may be found +- The IBD problem: means in some cases users needs to use some external trust in order to find the best chain. +- In case of a 51% attack: user intervention is needed like checkpoints in order to recover. +- IBD: the reliance on checkpoints for IBD. +- Time sync: the requirement that all the nodes have the correct global time. ### References #### Older whitepapers -POS whitepaper - /pos-whitepapers/pos.pdf -POSv2 whitepaper - /pos-whitepapers/posv2.pdf -POSv3 whitepaper - /pos-whitepapers/posv3.pdf +POS whitepaper - [pos.pdf](/Documentation/pos-whitepapers/pos.pdf) +POSv2 whitepaper - [posv2.pdf](/Documentation/pos-whitepapers/posv2.pdf) +POSv3 whitepaper - [posv3.pdf](/Documentation/pos-whitepapers/posv3.pdf) #### Additional references https://en.bitcoin.it/wiki/Proof_of_Stake Bitcointalk discussion on the issues of POS https://bitcointalk.org/index.php?topic=1382241.0 https://github.com/libbitcoin/libbitcoin-system/wiki/Proof-of-Stake-Fallacy -http://earlz.net/view/2017/07/27/1904/the-missing-explanation-of-proof-of-stake-version -https://www.reddit.com/r/Bitcoin/comments/1oi7su/criticisms_of_proofofstake/ -https://blog.ethereum.org/2014/07/05/stake/ -https://eprint.iacr.org/2018/248.pdf +http://earlz.net/view/2017/07/27/1904/the-missing-explanation-of-proof-of-stake-version +https://www.reddit.com/r/Bitcoin/comments/1oi7su/criticisms_of_proofofstake/ +https://blog.ethereum.org/2014/07/05/stake/ +https://eprint.iacr.org/2018/248.pdf +http://tselab.stanford.edu/downloads/PoS_LC_SBC2020.pdf From 2ef59b1cb0b9a93bef26f471058f4af26d0a6943 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Tue, 23 Mar 2021 15:16:23 +0000 Subject: [PATCH 10/15] Fix some typos --- Documentation/proof-of-stake.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 785d68bb8..22e2b185c 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -17,17 +17,17 @@ Must be equal or greater then MaxReorg this is to discourage attackers to stake Long reorganization protection or the maximal length of reorganization that the node is willing to accept. The reason to prevent long reorganization is to prevent "history attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. -Honest nodes will not switch to a chain that forked earlier then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before maxreorg then staking in isolation cannot cause long reorganisations. +Honest nodes will not switch to a chain that forked earlier then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before MaxReorg then staking in isolation cannot cause long reorganisations. #### Coin maturity The number of confirmations a newly found coinstake needs to be buried under before it can be spent. -(Not to be confused with StakeMinConfirmations whic is for staking) +(Not to be confused with StakeMinConfirmations which is for staking) #### Proven Headers -Those are headers that carry all the information that is needed to validate a coinstake. -Proven headers are used as a headers first approach where the node will first download the headers of blocks and only if the header is valid will the node fetch the entire block for full validation. +Those are headers that contain all the information that is needed to validate a coinstake. +Proven headers are used as a `headers first` approach where the node will first download the headers of blocks and only if the header is valid will the node fetch the entire block for full validation. The full Proven Headers specification can be found here https://github.com/block-core/blockcore/blob/master/Documentation/Features/ProvenHeaders.md @@ -52,7 +52,7 @@ We set the future drift to be a fixed value of 15 seconds (the time it takes a b #### Mask -A mask for the coinstake header's timestamp. Used to decrease granularity of timestamp +A mask for the coinstake header's timestamp. Used to decrease granularity of timestamp. This corresponds to the number of blocks that can be produced in a given time span. For example if the Mask = 16 and the TargetSpacing = 64 then a valid coinstake timestamp can be found only 4 times within the target spacing. @@ -75,7 +75,7 @@ Then each output will be hashed with the following parameters: - Previous StakeModifier - the stake modifier is a chain of coinstake hashes - Output hash - the hash of the output of the coins that are being spent to find the kernel -- Old Output N - the position of the output of the coins that are being spent to find the kernel +- Output N - the position of the output of the coins that are being spent to find the kernel - New coinstake current time - (the timestamp of the new output that will be created, this must fit the MASK rule) The output hash of the above is called the Kernel. @@ -103,7 +103,7 @@ If the local time and peers avg time do not match the node will print out a warn #### Block Signatures (why sign a block with the private key owning the UTXO) -The coinstake that found a valid kernel and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs +The coinstake that found a valid kernel and thus was selected to create a block is used to proof ownership of the UTXO by providing the signature that spends the outputs. However such an output has no cryptographic strong link to the block itself, meaning an attacker can take the valid coinstake utxo and put it in another block which the attacker created and propagate that to the network, the attacker could then censor transactions at will. By signing the block with the same key that owns the UTXO peers can validate the block was created by the owner of the coinstake. @@ -121,7 +121,7 @@ Two changes where made in POSv4. - The removal of the time stamp from the transaction serialization: this makes POS transactions serialize the same as Bitcoin transactions, -the benefit of that is easier to use various blockchain tools that made for Bitcoin. +the benefit of that is easier to use various blockchain tools that are made for Bitcoin. That time stamp was used in the kernel hash however the kernel hash was anyway defaulting to the header timestamp so there was no need to serialize the time stamp also in each transaction. From 7cb93223b91fab463e6623e27983a9b3a568bd61 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Wed, 24 Mar 2021 11:34:39 +0000 Subject: [PATCH 11/15] Act on review --- Documentation/proof-of-stake.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 22e2b185c..bf582b187 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -146,7 +146,7 @@ https://github.com/block-core/blockcore/blob/master/Documentation/Features/ColdS Nothing-at-stake is a theoretical security issue in proof-of-stake consensus systems in which validators have a financial incentive to mine on every fork of the blockchain that takes place, which is disruptive to consensus and potentially makes the system more vulnerable to attacks -Assuming the majority of stakers are honest an attacker which exercises NAS can make it very hard for honest nodes to know what is the chain with the total honest staking power (even if the attacker stakes on forks with less total stake this can confuse nodes in IBD) +Assuming the majority of staking power (coins at stake) are honest an attacker which exercises NAS can make it very hard for honest nodes to know what is the chain with the total honest staking power (even if the attacker stakes on forks with less total stake this can confuse nodes in IBD) However this attack is not obvious to execute as an attacker would have to be economically invested in the chain in order to execute the attack and will be risking the value of their own coins. @@ -169,14 +169,14 @@ Proof of stake networks are more vulnerable during Initial Block Download (IBD), To address that the local node uses checkpoints (regularly hard coding in to the software the correct chain), and to mitigate that attack during IBD a node will only accept outgoing connections. -#### How decentralized is POS +#### Knowen issues of POS POS is considered less decentralized then POW because: - Complexity: the POS protocol is more complex, more unknown attacks may be found - The IBD problem: means in some cases users needs to use some external trust in order to find the best chain. - In case of a 51% attack: user intervention is needed like checkpoints in order to recover. - IBD: the reliance on checkpoints for IBD. -- Time sync: the requirement that all the nodes have the correct global time. +- Time sync: the requirement that a majority of nodes have the correct global time. ### References From c8457ef4662d91461aec43cc5f45be96f7ff1a83 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Wed, 24 Mar 2021 11:51:06 +0000 Subject: [PATCH 12/15] act on review --- Documentation/proof-of-stake.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index bf582b187..a0372aecc 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -10,14 +10,14 @@ A good comparison is that POW uses CPU cycles to proof sufficent work was produc #### StakeMinConfirmations The minimum confirmations required for a coin to be good enough to participate in staking. -Must be equal or greater then MaxReorg this is to discourage attackers to stake in isolation and then force a reorg. +Must be equal or greater than MaxReorg this is to discourage attackers to stake in isolation and then force a reorg. #### MaxReorg Long reorganization protection or the maximal length of reorganization that the node is willing to accept. The reason to prevent long reorganization is to prevent "history attack" or in other words old spent coins can't be reused to create a longer chain in isolation and cause big reorgs. -Honest nodes will not switch to a chain that forked earlier then maxreorg, and because StakeMinConfirmations will not allow to reuse coins before MaxReorg then staking in isolation cannot cause long reorganisations. +Honest nodes will not switch to a chain that forked earlier than MaxReorg, and because StakeMinConfirmations will not allow to reuse coins before MaxReorg then staking in isolation cannot cause long reorganisations. #### Coin maturity @@ -34,9 +34,9 @@ https://github.com/block-core/blockcore/blob/master/Documentation/Features/Prove #### Target Difficulty -The difficulty target for the next block, or how hard will it be to find the next valid Kernal to satisfy the target difficulty. +The difficulty target for the next block, or how hard will it be to find the next valid Kernel to satisfy the target difficulty. -#### Kernal hash +#### Kernel hash A random sha256 hash created from a number of parameters corresponding to the coinstake. A valid stake kernel hash satisfies the target difficulty. @@ -56,12 +56,12 @@ A mask for the coinstake header's timestamp. Used to decrease granularity of tim This corresponds to the number of blocks that can be produced in a given time span. For example if the Mask = 16 and the TargetSpacing = 64 then a valid coinstake timestamp can be found only 4 times within the target spacing. -Staking nodes will try to find a valid coinstake kernal every time the Mask is elapsed (in the example above every 16 seconds but no more then future drift seconds forward) +Staking nodes will try to find a valid coinstake kernel every time the Mask is elapsed (in the example above every 16 seconds but no more than future drift seconds forward) #### Stake Modifiers The stake modifier is a chain of coinstake hashes all the way from the first POS block. -It's used to introduce an element of randomness to the Kernal calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake +It's used to introduce an element of randomness to the Kernel calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake ### How it works on Blockcore @@ -69,7 +69,7 @@ It's used to introduce an element of randomness to the Kernal calculations, in o How is a valid coinstake found? This is the heart of the processes. -The processes of staking will go as following, every time a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond maxreorg) +The processes of staking will go as following, every time a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond MaxReorg) Then each output will be hashed with the following parameters: @@ -85,12 +85,12 @@ The target is the number of which a kernel hash needs to be bellow in order to b In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor to the number of coins a UTXO has, This is called the weighted target, it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. -If the resulting kernel hash of the above calculations is below the weighted target then the coinstake is valid and can be used to create a block. +If the resulting kernel hash of the above calculations is below the weighted target it means the coinstake is valid and can be used to create a block. #### The importance of syncing time correctly (future drift) Each node has a consensus rule of a fixed interval of 15 seconds that will enforce how far in the future it will accept blocks, -blocks with a time stamp that is 15 seconds further then local nodes current datetime will be rejected. +blocks with a time stamp that is 15 seconds further than local nodes current datetime will be rejected. But such rejected blocks will not be considered invalid, in case our local node just had the wrong time in comparison to the network, and the network accepts such a block our local node would fork away form the network consensus. @@ -160,9 +160,7 @@ Stake grinding is a class of attack where a validator performs some computation In a stake grinding attack, the attacker has a small amount of stake and goes through the history of the blockchain and finds places where their stake wins a block. In order to consecutively win, they modify the next block header until some stake they own wins once again. https://dyor-crypto.fandom.com/wiki/Grinding_Attack - -Blockcore is not known to be vulnerable to stake grinding - + #### The IBD problem Proof of stake networks are more vulnerable during Initial Block Download (IBD), during initial sync a local node will try to find peers to sync the consensus history, however if a fake chain is presented (a fake chain is any chain that is not the longest chain with the most stake) a local node cannot rewind away from the fake chain if it's fork is beyond the maxreorg parameter and will result in our local node being stuck on a shorter chain. @@ -171,7 +169,7 @@ To address that the local node uses checkpoints (regularly hard coding in to the #### Knowen issues of POS -POS is considered less decentralized then POW because: +POS is considered less decentralized than POW because: - Complexity: the POS protocol is more complex, more unknown attacks may be found - The IBD problem: means in some cases users needs to use some external trust in order to find the best chain. - In case of a 51% attack: user intervention is needed like checkpoints in order to recover. From 50650ec4cd9052379c7fd625c766276b05671ea4 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Wed, 24 Mar 2021 20:39:11 +0000 Subject: [PATCH 13/15] fix typo --- Documentation/proof-of-stake.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index a0372aecc..a8883a48b 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -167,7 +167,7 @@ Proof of stake networks are more vulnerable during Initial Block Download (IBD), To address that the local node uses checkpoints (regularly hard coding in to the software the correct chain), and to mitigate that attack during IBD a node will only accept outgoing connections. -#### Knowen issues of POS +#### Known issues of POS POS is considered less decentralized than POW because: - Complexity: the POS protocol is more complex, more unknown attacks may be found From f83fb845b89365081990a3ed584897b3f5452645 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Mon, 29 Mar 2021 15:21:50 +0100 Subject: [PATCH 14/15] Some additional fixes --- Documentation/proof-of-stake.md | 46 ++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index a8883a48b..21b31eb18 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -1,12 +1,22 @@ -## Specification of the Blockcore Proof Of Stake ## +## Overview of the Blockcore Proof Of Stake protocol ## ### What is POS vs POW -Proof Of Stake is an alternative way to achieve consensus to Proof Of Work, the difference with POS is that block producers use ownership of coins as the right to produce blocks and validating nodes can verify such claims by validating cryptographic signatures and the chain history. -A good comparison is that POW uses CPU cycles to proof sufficent work was produced while POS uses unit of account to proof enough stake was allocated. +Proof Of Stake is an alternative way to achieve consensus to Proof Of Work, the difference with POS is that block producers use ownership of coins as the right to produce blocks and participating nodes can verify such claims by validating cryptographic signatures and the chain history. +A good comparison is that POW uses CPU cycles as measurement while POS uses units of coins. ### Definitions and explanations: +#### Coinbase + +A special transaction that is produced by the miners (the producers of POW blocks) and contains information about the block. + +#### Coinstake + +A special transaction that is produced by the stakers (the producers of POS blocks) and contains the tx input and outputs of coins used to create a block. +A coinstake input can be split in to several outputs, this is done in order to reduce the size of a staking output. +Splitting a big output to many smaller outputs increases the chance of producing new blocks. + #### StakeMinConfirmations The minimum confirmations required for a coin to be good enough to participate in staking. @@ -38,30 +48,30 @@ The difficulty target for the next block, or how hard will it be to find the nex #### Kernel hash -A random sha256 hash created from a number of parameters corresponding to the coinstake. +A sha256 hash created from a number of parameters corresponding to the coinstake. A valid stake kernel hash satisfies the target difficulty. #### Target Spacing -The expected block time in seconds, or how often do we expect the network to produce a block. +The expected block time in seconds, or how often do we expect the network to produce a block. +The target spacing should be multiples of the Mask. #### Future Drift Future drift is maximal allowed block's timestamp difference over adjusted time. -We set the future drift to be a fixed value of 15 seconds (the time it takes a block to propagate around the world is roughly 12 seconds) +We set the future drift to be a fixed value of 15 seconds which is close to the Mask value. #### Mask -A mask for the coinstake header's timestamp. Used to decrease granularity of timestamp. +A bit mask for the coinstake header's timestamp. Used to decrease granularity of timestamp. This corresponds to the number of blocks that can be produced in a given time span. -For example if the Mask = 16 and the TargetSpacing = 64 then a valid coinstake timestamp can be found only 4 times within the target spacing. -Staking nodes will try to find a valid coinstake kernel every time the Mask is elapsed (in the example above every 16 seconds but no more than future drift seconds forward) +**For example** if the bit mask = 16 sec (0x0000000F) then a valid coinstake can only be found when masking the timestamp of a new block is equal to zero which is every 16 seconds (but no more than future drift seconds ahead). #### Stake Modifiers The stake modifier is a chain of coinstake hashes all the way from the first POS block. -It's used to introduce an element of randomness to the Kernel calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake +It's used to introduce an additional input parameter to the Kernel calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake ### How it works on Blockcore @@ -69,7 +79,7 @@ It's used to introduce an element of randomness to the Kernel calculations, in o How is a valid coinstake found? This is the heart of the processes. -The processes of staking will go as following, every time a MASK time elapses the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond MaxReorg) +The processes of staking will go as following, every time the masking of the timestamp is valid the node will iterate over all its stakeable outputs (the outputs that reached maturity and are beyond MaxReorg) Then each output will be hashed with the following parameters: @@ -81,7 +91,7 @@ Then each output will be hashed with the following parameters: The output hash of the above is called the Kernel. The Target: -The target is the number of which a kernel hash needs to be bellow in order to be considered valid. +The target is the number of which a kernel hash needs to be below in order to be considered valid. In order to give a better chance to bigger outputs (a UTXO with more coins) The target is pushed up by a factor to the number of coins a UTXO has, This is called the weighted target, it means the target of the UTXO is higher the more coins it has, as a result statistically it will find a solution faster. @@ -99,7 +109,7 @@ This means it is crucial that nodes on the network that participate in full cons To achieve that we use the computers local current time, and double check that against all connected peers datetime (when a peer first connects it will advertise its current UTC datetime) giving the datetime samples for outbound nodes 3x more weight in the measurements (this is in order to prevent a certain attack on a node where an attacker can initiate many inbound connections and effect our local nodes avg time). -If the local time and peers avg time do not match the node will print out a warning message and default to peers time. +If the local time and peers avg time do not match the node will print out a warning message and default to the peers time. #### Block Signatures (why sign a block with the private key owning the UTXO) @@ -117,7 +127,7 @@ And it is adjusted up if it took longer than the target block time. The adjustme #### Changes made in POSv4 -Two changes where made in POSv4. +Two changes were made in POSv4. - The removal of the time stamp from the transaction serialization: this makes POS transactions serialize the same as Bitcoin transactions, @@ -126,9 +136,9 @@ That time stamp was used in the kernel hash however the kernel hash was anyway d so there was no need to serialize the time stamp also in each transaction. - The removal of the coinstake time from the kernel hash calculations: -when checking the kernel validity a few parameters are hashed together to create randomness, +when checking the kernel validity a few parameters are hashed together to find a valid kernel, previously the timestamp of the utxo that is being spent was also included in that hash -however it provides no additional randomness because the previous outpoint is used as well and that is already unique +however it provides no additional value because the previous outpoint is used as well and that is already unique #### Coldstaking (multisig staking) @@ -155,7 +165,7 @@ https://medium.com/coinmonks/understanding-proof-of-stake-the-nothing-at-stake-t #### Stake Grinding -Stake grinding is a class of attack where a validator performs some computation or takes some other step to try to bias the randomness in their own favor +Stake grinding is a class of attack where a validator performs some computation or takes some other step to try to bias the randomness in their own favour. In a stake grinding attack, the attacker has a small amount of stake and goes through the history of the blockchain and finds places where their stake wins a block. In order to consecutively win, they modify the next block header until some stake they own wins once again. @@ -163,7 +173,7 @@ https://dyor-crypto.fandom.com/wiki/Grinding_Attack #### The IBD problem -Proof of stake networks are more vulnerable during Initial Block Download (IBD), during initial sync a local node will try to find peers to sync the consensus history, however if a fake chain is presented (a fake chain is any chain that is not the longest chain with the most stake) a local node cannot rewind away from the fake chain if it's fork is beyond the maxreorg parameter and will result in our local node being stuck on a shorter chain. +Proof of stake networks are more vulnerable during Initial Block Download (IBD), during initial sync a local node will try to find peers to sync the consensus history, however if a fake chain is presented (a fake chain is any chain that is not the chain accepted by the majority of stakers) a local node cannot rewind away from the fake chain if it's fork is beyond the maxreorg parameter and will result in our local node being stuck on the "wrong" chain. To address that the local node uses checkpoints (regularly hard coding in to the software the correct chain), and to mitigate that attack during IBD a node will only accept outgoing connections. From 389aa9932015acd111c02e7b684f188a85af3e16 Mon Sep 17 00:00:00 2001 From: Dan Gershony Date: Mon, 29 Mar 2021 22:47:29 +0100 Subject: [PATCH 15/15] Small modifications --- Documentation/proof-of-stake.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/proof-of-stake.md b/Documentation/proof-of-stake.md index 21b31eb18..920673200 100644 --- a/Documentation/proof-of-stake.md +++ b/Documentation/proof-of-stake.md @@ -66,11 +66,11 @@ We set the future drift to be a fixed value of 15 seconds which is close to the A bit mask for the coinstake header's timestamp. Used to decrease granularity of timestamp. This corresponds to the number of blocks that can be produced in a given time span. -**For example** if the bit mask = 16 sec (0x0000000F) then a valid coinstake can only be found when masking the timestamp of a new block is equal to zero which is every 16 seconds (but no more than future drift seconds ahead). +For example if the bit mask is 15 (0x0000000F) then a valid coinstake's timestamp must be divisible by 16. #### Stake Modifiers -The stake modifier is a chain of coinstake hashes all the way from the first POS block. +The stake modifier forms a chain of hashes made from the previous stake modifier and the kernel all the way bacl to the first POS block. It's used to introduce an additional input parameter to the Kernel calculations, in order to scramble computation to make it very difficult to precompute future proof-of-stake ### How it works on Blockcore