Author

Topic: Difficulty Rainbow Table Calculation Injection Possibility? (Read 381 times)

legendary
Activity: 2954
Merit: 4158
Current Difficulty set to look for a determined sequence to achieve a answer within a timeframe.
To be more specific, it hashes the block header to find a hash that meets the target at the time of hashing (the number of zeros).
Alice ->

000006b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for less difficulty

000000000000000058bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

000000000000000000000000ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

000000000000000008bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

0000000051e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Bob gets off and claims prize.

Difficulty goes up to 16 zeros:

Chuck gives it to -> Alice -> gets Bob off in one stroke and Bob claims prize.


Chuck should be saving all difficulties within program parameters to easily give it to Alice so Alice can get Bob off in one stroke.

The extra steps will slow calculations but the end result will be to get Bob off more quickly.
I don't get the last part.

If you are withholding the blocks instead of broadcasting it, by the time you broadcast that block, your block would have been orphaned. The block header contains the hash of the last block and since the chain is now longer, the nodes will orphan your block and follow the longest chain.

Eg. If I've got many hashes that has a high difficulty at block 20, the block header contains the hash of block 19. At 2016, i broadcast the blocks with the higher difficulty. Though the target matches, the hash of the last block is from block 19 and it will not continue to build on the longer chain(block height of 2016).
vip
Activity: 490
Merit: 271
Primer as understood:

  Current Difficulty set to look for a determined sequence to achieve a answer within a timeframe.

Lets say 8 zeros is current difficulty:

Alice ->

000006b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for less difficulty

000000000000000058bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

000000000000000000000000ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

000000000000000008bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Chuck saves input for higher difficulty

0000000051e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728 -> Bob gets off and claims prize.

Difficulty goes up to 16 zeros:

Chuck gives it to -> Alice -> gets Bob off in one stroke and Bob claims prize.


Chuck should be saving all difficulties within program parameters to easily give it to Alice so Alice can get Bob off in one stroke.

The extra steps will slow calculations but the end result will be to get Bob off more quickly.


Difficulty goes down:

Chuck has saved up his previous energy to give to Alice rapidly and Alice can get Bob off multiple times in a row.


So, the question is: Can Alice, Bob, and Chuck do it?









   
Jump to: