Pages:
Author

Topic: Manipulating the difficulty? - page 2. (Read 4147 times)

member
Activity: 112
Merit: 11
April 04, 2011, 09:26:31 AM
#13
Yeah it still worries me a little because I feel like it's impossible to have thought of everything.
A Multi-Terra hash miner entering the market while the difficulty is low and taking all the blocks until the difficulty rises then leaving until it falls again. rinse and repeat.
sr. member
Activity: 420
Merit: 250
April 04, 2011, 09:21:17 AM
#12
Good, it seems like everytime I get a little worried there's a fix built in to the system.

Yeah, same here. The more I learn about bitcoin, the more brilliant I think it is.

Yeah it still worries me a little because I feel like it's impossible to have thought of everything.
donator
Activity: 2772
Merit: 1019
April 03, 2011, 03:27:36 PM
#11
Good, it seems like everytime I get a little worried there's a fix built in to the system.

Yeah, same here. The more I learn about bitcoin, the more brilliant I think it is.
sr. member
Activity: 420
Merit: 250
April 03, 2011, 01:35:16 PM
#10

In the end I'm not saying that would be  a huge problem in that it would basically just jump us ahead 2 weeks but how possible is that for someone to pull off? It seems like a pretty good sized vulnerability. Especially if a couple large miners all decided to do it.

Doesn't seem simple to pull off:

Quote from: wiki link=https://en.bitcoin.it/wiki/Block_timestamp
A timestamp is accepted as valid if it is greater than the median timestamp of previous 11 blocks, and less than the network-adjusted time + 2 hours. "Network-adjusted time" is the median of the timestamps returned by all nodes connected to you.

So to set a block's time considerably into the future one would have to control quite a portion of the network (>50%?), it seems. On the other hand, you don't seem to need to have a lot of compute power, if any.

Unfortunately for the attacker:

Quote from: wiki link=https://en.bitcoin.it/wiki/Block_timestamp
Network time is never adjusted more than 70 minutes from local system time, however.

So it seems quite impossible to pull off setting a block's timestamp into the future considerably.


Good, it seems like everytime I get a little worried there's a fix built in to the system.
donator
Activity: 2772
Merit: 1019
April 03, 2011, 12:04:44 PM
#9

In the end I'm not saying that would be  a huge problem in that it would basically just jump us ahead 2 weeks but how possible is that for someone to pull off? It seems like a pretty good sized vulnerability. Especially if a couple large miners all decided to do it.

Doesn't seem simple to pull off:

Quote from: wiki link=https://en.bitcoin.it/wiki/Block_timestamp
A timestamp is accepted as valid if it is greater than the median timestamp of previous 11 blocks, and less than the network-adjusted time + 2 hours. "Network-adjusted time" is the median of the timestamps returned by all nodes connected to you.

So to set a block's time considerably into the future one would have to control quite a portion of the network (>50%?), it seems. On the other hand, you don't seem to need to have a lot of compute power, if any.

Unfortunately for the attacker:

Quote from: wiki link=https://en.bitcoin.it/wiki/Block_timestamp
Network time is never adjusted more than 70 minutes from local system time, however.

So it seems quite impossible to pull off setting a block's timestamp into the future considerably.
sr. member
Activity: 420
Merit: 250
April 03, 2011, 11:51:25 AM
#8
What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps.
Difficulty is based on the number of blocks created, and is adjusted every 2016 blocks.

no, difficulty is based on the number of blocks created /per unit of time/.

Thanks for the correction. However, I'm going to add a trivial correction to your correction Cheesy  Difficulty is based on how long it takes to generate the 2016 blocks. If it takes longer than expected (two weeks), the difficulty is reduced. If it takes less than two weeks, then the difficulty is increased.

Without the constraints, though, if an attacker mined the 2016th block and put a timestamp a year in the future and that somehow got accepted, the difficulty would drop really low. Next thing to happen: the following 2016 blocks would be mined within a couple of hours and the difficulty would readjust to previous value after that.

In the end I'm not saying that would be  a huge problem in that it would basically just jump us ahead 2 weeks but how possible is that for someone to pull off? It seems like a pretty good sized vulnerability. Especially if a couple large miners all decided to do it.
donator
Activity: 2772
Merit: 1019
April 03, 2011, 10:16:43 AM
#7
What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps.
Difficulty is based on the number of blocks created, and is adjusted every 2016 blocks.

no, difficulty is based on the number of blocks created /per unit of time/.

Thanks for the correction. However, I'm going to add a trivial correction to your correction Cheesy  Difficulty is based on how long it takes to generate the 2016 blocks. If it takes longer than expected (two weeks), the difficulty is reduced. If it takes less than two weeks, then the difficulty is increased.

Without the constraints, though, if an attacker mined the 2016th block and put a timestamp a year in the future and that somehow got accepted, the difficulty would drop really low. Next thing to happen: the following 2016 blocks would be mined within a couple of hours and the difficulty would readjust to previous value after that.
member
Activity: 98
Merit: 20
April 02, 2011, 11:31:39 PM
#6
What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps.
Difficulty is based on the number of blocks created, and is adjusted every 2016 blocks.

no, difficulty is based on the number of blocks created /per unit of time/.

Thanks for the correction. However, I'm going to add a trivial correction to your correction Cheesy  Difficulty is based on how long it takes to generate the 2016 blocks. If it takes longer than expected (two weeks), the difficulty is reduced. If it takes less than two weeks, then the difficulty is increased.
hero member
Activity: 482
Merit: 501
March 31, 2011, 11:18:55 PM
#5
What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps.
Difficulty is based on the number of blocks created, and is adjusted every 2016 blocks.

no, difficulty is based on the number of blocks created /per unit of time/.
member
Activity: 98
Merit: 20
March 31, 2011, 07:35:44 PM
#4
What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps.
Difficulty is based on the number of blocks created, and is adjusted every 2016 blocks.
newbie
Activity: 12
Merit: 0
March 31, 2011, 12:22:34 AM
#3
there are certain timestamp validity checks:
https://en.bitcoin.it/wiki/Block_timestamp


Thank you. I forgot to check the wiki.
hero member
Activity: 482
Merit: 501
March 30, 2011, 11:57:00 PM
#2
there are certain timestamp validity checks:
https://en.bitcoin.it/wiki/Block_timestamp
newbie
Activity: 12
Merit: 0
March 30, 2011, 11:49:11 PM
#1
Hello.

What will happen if a node announces a block whose timestamp is false (i.e. earlier or later than the real creation time)? AFAIK, the difficulty is affected by the timestamps. If so, isn't it possible for an attacker to manipulate the difficulty if the network accepts such block?

Thank you.
Pages:
Jump to: