Pages:
Author

Topic: Rewrite the bitcoin blockchain with 100% hash power (Read 1974 times)

full member
Activity: 237
Merit: 100
Alright, I understand again, thx.

The danger regarding this matter would be, that the new chain could become the chain with the most proof-work inside and all the nodes would switch to the new chain, right? However, blocks until a certain blockheight would not been changed because CheckPoints have been implemented, right?
legendary
Activity: 3472
Merit: 4801
Alright, I think Ive understood it.

Now the question:

What is the advantage in re-writing the bitcoin blockchain? Why should someone do this? Its just theoretically...

The blockchain is the list of transactions that have occurred.

If you re-write the entire blockchain, then you get to eliminate ALL transactions that have ever occurred AND you get to keep ALL the bitcoins for yourself.

If you only re-write a recent portion of the blockchain (such as the most recent 30 blocks or so), then you can eliminate a transaction were you paid someone.  In that way, you could pay for a product or service, and then after the product or service was provided, you could remove the payment so that it never existed and you have your bitcoins back.
full member
Activity: 237
Merit: 100
Alright, I think Ive understood it.

Now the question:

What is the advantage in re-writing the bitcoin blockchain? Why should someone do this? Its just theoretically...
legendary
Activity: 4396
Merit: 4755
Would the difficulty not stay the same, through the whole process... even if you started with 100% of the hash power as it stands today? We

are not adding or removing any hash power, so there will be zero adjustment? The amount of blocks that can be processed, stays the same,

so no amount of hashing power will influence that. Right?  Huh

after the first 20 difficulty changes occur to get to that stabilisation point yes.
those 20 difficulty changes would happen rapidly

basically in under 3 weeks would produce 40320 blocks which would have taken 9 months.. but after the 20 difficulty changes in the 3 weeks it stabilizes to the 2016 blocks every 2 weeks ongoing at that same difficulty
legendary
Activity: 1904
Merit: 1074
Would the difficulty not stay the same, through the whole process... even if you started with 100% of the hash power as it stands today? We

are not adding or removing any hash power, so there will be zero adjustment? The amount of blocks that can be processed, stays the same,

so no amount of hashing power will influence that. Right?  Huh
sr. member
Activity: 244
Merit: 250
100% is impossible, maybe 99% if you produce for a thousand million of dollars of ASICs. If you do so, then you'll end up with a bag of worthless tokens.
legendary
Activity: 1092
Merit: 1000
Actually the term Longest Chain is Accurate , the reason being is this,
The Clients will not compare Chain Difficulty until the Block #s are the same #,
Meaning if your Fake chain is on Block 5000 and it has a higher difficulty and the True Chain is on Block 5001 with a lower difficulty , until your fake chain hits block 5001,
my Client will not compare Blockchains, so yours can not take over.  Smiley

Plus what I am saying is not Theory , but what happened with the Miners did decide to rewrite some of the Chain in March 2013.
Quote
The 0.7 chain quickly caught up to being only 10 blocks behind, then 8 blocks, and at 06:19 both chains converged to the same length at block 225454, leading to nearly all remaining miners abandoning the other.
https://bitcoinmagazine.com/articles/bitcoin-network-shaken-by-blockchain-fork-1363144448
Article did state that the Miners that overwrote the blockchain controlled 70% of the HashRate.

 Cool

FYI:
On a side node since the Chinese Mining Pools have shown over 70% hashrate in the past year,
it basically means they could easily rewrite the last ~10 hours or so of BTC Transactions whenever they feel like it.
BTC the Chinese Controlled Digital Currency.  
LOL, Cheesy Cheesy Cheesy
BTC= BETTER THANK CHINA
legendary
Activity: 3472
Merit: 4801
your concentrating too much on a january 2009 start date.. and not the difficulty curve of the first 3 weeks (of any random date an attacker migh start to then re-write the chain).

No. I'm not.  You are concentrating too much on block height and not on total proof-of-work.

i didnt literally mean someone goes physically back in time to january 2009 and start mining. i just used that date as any random date to to show within a year it would not be at block 439,600

I'm aware of that.  My point, that you seem to be missing, is that they don't need to be at blockheight 439600. They just need more cumulative proof-of-work.

pick any start date. where 2.1exa hash mines from a block1 difficulty 1.. within a year it wont be at block 439,600

I agree.  But they don't need to be.

- snip -
oh and by the way. hashpower is not the measure of which chain wins.
its hashpower that makes blocks faster or slower and its the chain of most blocks that are deciding factor

cause -> action -> reaction -> effect
hash -> blockheight ->longest chain->follow chain
not
hash -> follow chain

after all if went back to lets say 2013 and wave in the air we have 2.1exa and the bitcoin mainnet has only 100thash
suddenly everyone will not follow the 2.1exa simply due to larger hashpower.
as on day 1 the 2.1exa would only be at block 36288
but bitcoin mainnet would be at over 210,000

it requires the attacker to OVERTAKE the BLOCKHEIGHT.

franky1, you and I occasionally have differing opinions on things, but it isn't like you to get something so basic about bitcoin incorrect when it comes to facts.

The phrase "longest chain" is an oversimplification that is often used to explain bitcoin to newbies, but it just leads to the exact misunderstanding that you seem to be having now.

Bitcoin doesn't literally go with the "longest chain" or the "greatest blockheight".  It goes with the highest proof-of-work.  Bitcoin will happily accept a shorter chain with a lower blockheight in place of the current chain if that lower blockheight chain had a different difficulty adjustment and therefore those (fewer) blocks were solved at a high enough difficulty.

legendary
Activity: 1092
Merit: 1000
Guys,

I have seen a graph from Peter Wuille where he is showing how much time you need to rewrite the whole bitcoin blockchain if you would have 100% of the hashing power. For example currently you would need almost 1 year.

What would be the advantage to rewrite the blockchain? Why would someone be interested to rewrite the blockchain?

Thanks to all!

Actually it is the one thing that China can't do is rewrite the entire blockchain,
and it is not because they don't have enough ASICS to pull it off.

The Reason it is not possible, is Bitcoin includes Checkpoints in their Program Code.
Those checkpoints make sure that their will Never be a Reorganization of the BlockChain below that Checkpoint.  Wink
Quote
The checkpoints are hard coded into the standard client. The concept is, that the standard client will accept all transactions up to the checkpoint as valid and irreversible.
If anyone tries to fork the blockchain starting from a block before the checkpoint, the client will not accept the fork. This makes those blocks "set in stone".

51% attack you should worry about , but a complete Blockchain Rewrite , No Worries.  Smiley

 Cool

FYI:
Crypto Fact:  Longest Chain with the Most Difficulty Wins , unless a Checkpoint Blocks it.  Cheesy
legendary
Activity: 4396
Merit: 4755
- snip -
in short,
for the first 3 weeks of 2009 the network would explode with 40320 blocks before valentines day. then it would be just making 2016 blocks every 2 weeks as normal

meaning a rewrite chain using 2.1exa from day one would only be 40320 blocks ahead of our chain if it started in january 2009

The graph isn't about block height.  It's about total proof-of-work.

Those blocks completed after block height 40320 would be at a MUCH higher difficulty than the original blocks at the same height.

To replace the current chain, you don't need to have a larger block height.  You just need to have a higher cumulative proof-of-work.  Therefore, after only 1 year, you'll have enough cumulative proof-of-work to overcome the current blockchain (assuming that 100% of the world's current hashpower is ALL put towards this replacement chain AND no new hash power is put towards either the current chain or that new chain AND nothing is done to block that new chain).

your concentrating too much on a january 2009 start date.. and not the difficulty curve of the first 3 weeks (of any random date an attacker migh start to then re-write the chain).

i didnt literally mean someone goes physically back in time to january 2009 and start mining. i just used that date as any random date to to show within a year it would not be at block 439,600

pick any start date. where 2.1exa hash mines from a block1 difficulty 1.. within a year it wont be at block 439,600

EG pretend wuille decided to use 2.1exahash in 2013 by 2014 he would not have taken over the mainnet chain. it would take until 2018 to reach whatever block the mainnet was at in 2013 (due to difficulty changes, the first 9 months mining is done in 3 weeks, the rest is stable)
basically 4 years of data is redone in 3 years 3 months (8-9 month difference)

EG pretend wuille decided to use 2.1exahash today by nov 2017 he would not have taken over the mainnet chain. it would take until jan 2025 to reach whatever block the mainnet was at today (due to difficulty changes, the first 9 months mining is done in 3 weeks, the rest is stable)
basically 7 years 1 months of data is redone in 7 years 2 months (8-9 month difference)

all its done is shaved off 9 months of hashing right at the start before then stabilizing to the 2016blocks/fortnight.
the 2.1exa wont make 439,600 blocks in a year. due to difficulty adjustments stabilizing how many blocks are made.

oh and by the way. hashpower is not the measure of which chain wins.
its hashpower that makes blocks faster or slower and its the chain of most blocks that are deciding factor

cause -> action -> reaction -> effect
hash -> blockheight ->longest chain->follow chain
not
hash -> follow chain

after all if went back to lets say 2013 and wave in the air we have 2.1exa and the bitcoin mainnet has only 100thash
suddenly everyone will not follow the 2.1exa simply due to larger hashpower.
as on day 1 the 2.1exa would only be at block 36288
but bitcoin mainnet would be at over 210,000

it requires the attacker to OVERTAKE the BLOCKHEIGHT.

and difficulty adjustments have proven it wont be done in a year.

but hey you'll just ignore the math and just talk about a time travelling sci-fi randomly chosen start date.

legendary
Activity: 2898
Merit: 1823
Guys,

I have seen a graph from Peter Wuille where he is showing how much time you need to rewrite the whole bitcoin blockchain if you would have 100% of the hashing power. For example currently you would need almost 1 year.

What would be the advantage to rewrite the blockchain? Why would someone be interested to rewrite the blockchain?

Thanks to all!

There would be no advantage in rewriting the blockchain. Bitcoin would lose the confidence of its users and participants and the direct effect of this is it would lose its value and the price would plummet back to 0. If someone were interested to do this he would need a lot of money to buy all the mining rigs he needs. He would also need technical people to operate these rigs. All that with a risk of losing all your money. So the only person interested in doing this is a stupid one. Why not buy Bitcoin instead?
legendary
Activity: 3472
Merit: 4801
- snip -
in short,
for the first 3 weeks of 2009 the network would explode with 40320 blocks before valentines day. then it would be just making 2016 blocks every 2 weeks as normal

meaning a rewrite chain using 2.1exa from day one would only be 40320 blocks ahead of our chain if it started in january 2009

The graph isn't about block height.  It's about total proof-of-work.

Those blocks completed after block height 40320 would be at a MUCH higher difficulty than the original blocks at the same height.

To replace the current chain, you don't need to have a larger block height.  You just need to have a higher cumulative proof-of-work.  Therefore, after only 1 year, you'll have enough cumulative proof-of-work to overcome the current blockchain (assuming that 100% of the world's current hashpower is ALL put towards this replacement chain AND no new hash power is put towards either the current chain or that new chain AND nothing is done to block that new chain).
legendary
Activity: 4396
Merit: 4755
its taken 7 years to get to 2.1exahash network..
imagine that we had 2.1exa hash in 2009.. 2016 blocks would take milliseconds to make instead of 2 weeks. if difficulty was only 1.

but i dont think the article includes that difficulty changes would normalise that massive hash power quite quickly

so now we run into difficulty normalising that 2.1exa.

knowing difficulty can only change a maximum of 4x which would take 20 changes to go from 1 to 281,800,917,193 difficulty

lets work backwards.
20th DA happens at 2 weeks to make 2016 blocks
19th DA happens at 3.5 days to make 2016 blocks
18th DA happens at 21 hours to make 2016 blocks
17th DA happens at 5hours15min to make 2016 blocks
16th DA happens at 1hours18min45secs to make 2016 blocks
15th DA happens at 19min41secs to make 2016 blocks
14th DA happens at 4min55secs to make 2016 blocks
13th DA happens at 1min13secs to make 2016 blocks
12th DA happens at 18secs27ms to make 2016 blocks
11th DA happens at 4secs36ms to make 2016 blocks
10th DA happens at 17ms to make 2016 blocks
09th DA happens at 4.2ms to make 2016 blocks
08th DA happens at 1ms to make 2016 blocks
07th DA happens at <1ms to make 2016 blocks
06th DA happens at <1ms to make 2016 blocks
05th DA happens at <1ms to make 2016 blocks
04th DA happens at <1ms to make 2016 blocks
03th DA happens at <1ms to make 2016 blocks
02th DA happens at <1ms to make 2016 blocks
01th DA happens at <1ms to make 2016 blocks

now working forward
due to difficulty adjustments happening in milliseconds at first and then slowing down near the 20th adjustment to normalise that 2.1exahash to be around 2016 blocks every 2 weeks
that means that to go from making 2016 in milliseconds to making 2016blocks in 2 weeks
it would take under 3 weeks to normalise and in that time only 40320 blocks are produced before 2.1exa is normalised to make 2016 blocks every 2 weeks

then we would be at the same rate as now but would have done 9 months of hashing initially in under 3 weeks back in january 2009. and the other 7 years would be at the normal 2016blocks every 2 weeks.
30240 blockheight before the 30th minute
32256 blockheight before the 2nd hour
34272 blockheight before the 8th hour
36288 blockheight before the 30th hour
38304 blockheight before the 4th day
40320 blockheight before the 3rd week
then a new 2016 blocks every 2 weeks after that

in short,
for the first 3 weeks of 2009 the network would explode with 40320 blocks before valentines day. then it would be just making 2016 blocks every 2 weeks as normal

meaning a rewrite chain using 2.1exa from day one would only be 40320 blocks ahead of our chain if it started in january 2009
legendary
Activity: 1092
Merit: 1001
One question: If someone attained 100% of hash and held it and prevent new outside hash, and eventually
caused a lowering of the difficultly greatly, which allows for lower hash for work, it would be easier to redo the
full chain in less time than 1 year?

Nope.

First of all, the difficulty drops every 2016 blocks.  If no new blocks are being created, then you won't get to the 2016 block threshold, and therefore the difficulty won't drop.  If you mine with less hashpower, then the difficulty will eventually drop, but it will take longer than 2 weeks (since blocks will get mined less often), and the total work will still be increasing (since you're still creating blocks).

Secondly, a lower difficulty has nothing to do with the work that you have to overcome.  That lower difficulty only applies to FUTURE blocks on that chain.  If you aren't creating any more blocks on that chain then the lower difficulty has no effect.

If you start back at the genesis block, then the difficulty is already at 1.  That's why it takes less than 8 years to replace 8 years of blocks.  Those early blocks were created at VERY low difficulty (and therefore very little work).  If you started today back at the genesis block mining with 100% of the hashpower, then you can replace thousands of early low difficulty blocks with a single modern high difficulty block.  You'll get through the first 2016 blocks in less than a second.  Then the difficulty will quadruple, and you'll not only get through the next 2016 blocks in the next second, but those 2016 blocks will have enough cumulative work to overcome 8064 of the original blocks.

Yes, this make perfect sense. I was not thinking this through properly.


What I'm getting at is this data is only good assuming the attacker will still use the full 100% hash.

Correct.  This has nothing to do with an attacker.  This is just an indication of what the total proof-of-work is on the current blockchain as a ratio to the average proof-of-work in the past 7 or 30 days.

It's just a measurement showing how much proof-of-work has been done in the past, and compaing it to how much proof-of-work is being done today.

So for example, if the Chinese government seized all their mining farms (100%) and assume there
where no other miners worldwide, then it would take the Chinese government 1 year to rebuild the
chain assuming they do not do any purposeful difficultly retargeting. I'm not advanced in Bitcoin so
my question may be very wrong and borderline moronic.

It would take them 1 year to replace the chain regardless of any re-targeting they do.

But of course, the rest of the world could go back to CPU mining, and would have a whole year to program in a checkpoint that prevents any full nodes from switching to the new Chinese chain if they wanted to. As such, it would be a very expensive and very useless attack.  It would be a bit like spending billions of dollars to build a bomb that won't explode and instead will whisper "I hate you" to your enemies.

Yes, I jumped ahead and was running with ideas that didn't really apply.
Thanks for taking the time to explain this.
legendary
Activity: 3472
Merit: 4801
What I'm getting at is this data is only good assuming the attacker will still use the full 100% hash.

Correct.  This has nothing to do with an attacker.  This is just an indication of what the total proof-of-work is on the current blockchain as a ratio to the average proof-of-work in the past 7 or 30 days.

It's just a measurement showing how much proof-of-work has been done in the past, and compaing it to how much proof-of-work is being done today.

So for example, if the Chinese government seized all their mining farms (100%) and assume there
where no other miners worldwide, then it would take the Chinese government 1 year to rebuild the
chain assuming they do not do any purposeful difficultly retargeting. I'm not advanced in Bitcoin so
my question may be very wrong and borderline moronic.

It would take them 1 year to replace the chain regardless of any re-targeting they do.

But of course, the rest of the world could go back to CPU mining, and would have a whole year to program in a checkpoint that prevents any full nodes from switching to the new Chinese chain if they wanted to. As such, it would be a very expensive and very useless attack.  It would be a bit like spending billions of dollars to build a bomb that won't explode and instead will whisper "I hate you" to your enemies.
legendary
Activity: 3472
Merit: 4801
One question: If someone attained 100% of hash and held it and prevent new outside hash, and eventually
caused a lowering of the difficultly greatly, which allows for lower hash for work, it would be easier to redo the
full chain in less time than 1 year?

Nope.

First of all, the difficulty drops every 2016 blocks.  If no new blocks are being created, then you won't get to the 2016 block threshold, and therefore the difficulty won't drop.  If you mine with less hashpower, then the difficulty will eventually drop, but it will take longer than 2 weeks (since blocks will get mined less often), and the total work will still be increasing (since you're still creating blocks).

Secondly, a lower difficulty has nothing to do with the work that you have to overcome.  That lower difficulty only applies to FUTURE blocks on that chain.  If you aren't creating any more blocks on that chain then the lower difficulty has no effect.

If you start back at the genesis block, then the difficulty is already at 1.  That's why it takes less than 8 years to replace 8 years of blocks.  Those early blocks were created at VERY low difficulty (and therefore very little work).  If you started today back at the genesis block mining with 100% of the hashpower, then you can replace thousands of early low difficulty blocks with a single modern high difficulty block.  You'll get through the first 2016 blocks in less than a second.  Then the difficulty will quadruple, and you'll not only get through the next 2016 blocks in the next second, but those 2016 blocks will have enough cumulative work to overcome 8064 of the original blocks.

legendary
Activity: 1092
Merit: 1001

I may be wrong but this is how I'm reading it:

I think what that graph is estimating that it would take the malicious block builder
around 300 to 320 days to redo the work for the past 7 or past 30 days if the hash rate is
at its current amount. If the hash decreased it becomes easier to rewrite past work.
It is not about building a whole new chain, but going backwards to undo past work on chain.


It is an estimate of proof-of-work equivalent days.

Looking at the current average hash rate over the past 7 days (or 30 days).  If you started now and put ALL (100%) of that hash rate into creating blocks starting from the genesis block, it would take you as many days as indicated on the graph (somewhere between 300 and 340 days) to compete MORE proof-of-work than the entire current blockchain has today.

That means that if NOBODY mined any blocks on the existing blockchain for the next 340 days, and ALL of that hashpower was put towards building a new blockchain from the same genesis block (and no checkpoints in the software were to block the switch over to any other chain), then sometime about a year from now, all nodes would switch to the NEW chain as the "longest", and would orphan and abandon the entire existing blockchain.

OK. Thank you for the explanation.

One question: If someone attained 100% of hash and held it and prevent new outside hash, and eventually
caused a lowering of the difficultly greatly, which allows for lower hash for work, it would be easier to redo the
full chain in less time than 1 year (possibly down to a few months from this "retargeting pumping")?

What I'm getting at is this data is only good assuming the attacker will still use the full 100% hash.
So for example, if the Chinese government seized all their mining farms (100%) and assume there
where no other miners worldwide, then it would take the Chinese government 1 year to rebuild the
chain assuming they do not do any purposeful difficultly retargeting. I'm not advanced in Bitcoin so
my question may be very wrong and borderline moronic.


legendary
Activity: 3472
Merit: 4801
Edit: I must be wrong. I am very confused now.
Seems that at the current hash rate, if 100% of hash stopped mining and reversed work,
it would take less than 1 year to rebuild the full chain. This assumes that there would be
no new blocks created and all work is dedicated to rebuilding this other chain.

Sounds like you aren't very confused now.  You seem to have it right now.
legendary
Activity: 3472
Merit: 4801

I may be wrong but this is how I'm reading it:

I think what that graph is estimating that it would take the malicious block builder
around 300 to 320 days to redo the work for the past 7 or past 30 days if the hash rate is
at its current amount. If the hash decreased it becomes easier to rewrite past work.
It is not about building a whole new chain, but going backwards to undo past work on chain.


It is an estimate of proof-of-work equivalent days.

Looking at the current average hash rate over the past 7 days (or 30 days).  If you started now and put ALL (100%) of that hash rate into creating blocks starting from the genesis block, it would take you as many days as indicated on the graph (somewhere between 300 and 340 days) to compete MORE proof-of-work than the entire current blockchain has today.

That means that if NOBODY mined any blocks on the existing blockchain for the next 340 days, and ALL of that hashpower was put towards building a new blockchain from the same genesis block (and no checkpoints in the software were to block the switch over to any other chain), then sometime about a year from now, all nodes would switch to the NEW chain as the "longest", and would orphan and abandon the entire existing blockchain.
legendary
Activity: 1092
Merit: 1001

I may be wrong but this is how I'm reading it:

I think what that graph is estimating is that it would take the malicious block builder
around 325 days to redo the work for the past 7 or past 30 days if the hash rate is
at its current amount. If the hash decreased, it becomes easier to rewrite that past work.
It is not about building a whole new chain, but going backwards to undo past work on our chain.


Edit: I must be wrong. I am very confused now.
What is seems to be is that at the current hash rate, if 100% of hash was attained, stopped mining,
and "reversed" work, it would take less than 1 year to rebuild the full blockchain. This assumes that
there would be no new blocks created and all hash/work is dedicated to rebuilding this other chain.
Pages:
Jump to: