From 62e8b63c5e0841198e0dcc94315cd7ebee90a450 Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 15 Oct 2016 12:01:04 -0400 Subject: [PATCH 1/4] fix description of how true chain is determined Currently states that full nodes take the longest chain as the true chain while they actually care about the cumulative proof of work, not the chain height. --- _includes/devdoc/guide_operating_modes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/devdoc/guide_operating_modes.md b/_includes/devdoc/guide_operating_modes.md index 94519c1c..e7b62f38 100644 --- a/_includes/devdoc/guide_operating_modes.md +++ b/_includes/devdoc/guide_operating_modes.md @@ -20,7 +20,7 @@ Currently there are two primary methods of validating the block chain as a clien The first and most secure model is the one followed by Bitcoin Core, also known as a “thick” or “full chain” client. This security model assures the validity of the block chain by downloading and validating blocks from the genesis block all the way to the most recently discovered block. This is known as using the *height* of a particular block to verify the client’s view of the network. -For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is impossible due to the fact that the longest chain is by definition the true chain. After the suggested six confirmations, the ability to fool the client become intractable, as only a single honest network node is needed to have the complete state of the block chain. +For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node become intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks - only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. ![Block Height Compared To Block Depth](/img/dev/en-block-height-vs-depth.svg) From 6cb4bef5674ba76c6b4caca92a71c240d99dedb3 Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 15 Oct 2016 12:52:06 -0400 Subject: [PATCH 2/4] Update guide_operating_modes.md --- _includes/devdoc/guide_operating_modes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/devdoc/guide_operating_modes.md b/_includes/devdoc/guide_operating_modes.md index e7b62f38..b49acff7 100644 --- a/_includes/devdoc/guide_operating_modes.md +++ b/_includes/devdoc/guide_operating_modes.md @@ -20,7 +20,7 @@ Currently there are two primary methods of validating the block chain as a clien The first and most secure model is the one followed by Bitcoin Core, also known as a “thick” or “full chain” client. This security model assures the validity of the block chain by downloading and validating blocks from the genesis block all the way to the most recently discovered block. This is known as using the *height* of a particular block to verify the client’s view of the network. -For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node become intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks - only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. +For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks - only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. ![Block Height Compared To Block Depth](/img/dev/en-block-height-vs-depth.svg) From 3fa5f8dddd5f828f1138de8f5b14838dcd7e56d4 Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 15 Oct 2016 12:54:34 -0400 Subject: [PATCH 3/4] Update guide_operating_modes.md --- _includes/devdoc/guide_operating_modes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/devdoc/guide_operating_modes.md b/_includes/devdoc/guide_operating_modes.md index b49acff7..0744e486 100644 --- a/_includes/devdoc/guide_operating_modes.md +++ b/_includes/devdoc/guide_operating_modes.md @@ -20,7 +20,7 @@ Currently there are two primary methods of validating the block chain as a clien The first and most secure model is the one followed by Bitcoin Core, also known as a “thick” or “full chain” client. This security model assures the validity of the block chain by downloading and validating blocks from the genesis block all the way to the most recently discovered block. This is known as using the *height* of a particular block to verify the client’s view of the network. -For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks - only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. +For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks---only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. ![Block Height Compared To Block Depth](/img/dev/en-block-height-vs-depth.svg) From 33837dc0b0420d1477fcea8349b1fbcd50bf3127 Mon Sep 17 00:00:00 2001 From: Jameson Lopp Date: Sat, 15 Oct 2016 20:56:05 -0400 Subject: [PATCH 4/4] Update guide_operating_modes.md --- _includes/devdoc/guide_operating_modes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/devdoc/guide_operating_modes.md b/_includes/devdoc/guide_operating_modes.md index 0744e486..5c4e5f07 100644 --- a/_includes/devdoc/guide_operating_modes.md +++ b/_includes/devdoc/guide_operating_modes.md @@ -20,7 +20,7 @@ Currently there are two primary methods of validating the block chain as a clien The first and most secure model is the one followed by Bitcoin Core, also known as a “thick” or “full chain” client. This security model assures the validity of the block chain by downloading and validating blocks from the genesis block all the way to the most recently discovered block. This is known as using the *height* of a particular block to verify the client’s view of the network. -For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes intractable after 6 confirmations. This form of verification is highly resistent to sybil attacks---only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. +For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the "true" chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes very expensive after 6 confirmations. This form of verification is highly resistent to sybil attacks---only a single honest network peer is required in order to receive and verify the complete state of the "true" block chain. ![Block Height Compared To Block Depth](/img/dev/en-block-height-vs-depth.svg)