Pages:
Author

Topic: Selfish mining theory - page 2. (Read 1812 times)

legendary
Activity: 4270
Merit: 4534
September 28, 2014, 10:18:08 PM
#2
If someone controls a couple nodes (10 for example, shouldn't be hard to do that right?), and at some point he isolates those nodes from the other bitcoin nodes, that will lead to an isolated blockchain that only he have access to it, and if he mines on it at 1kh/s or whatever super slow hash rate, at the time of recalculating the difficulty, it'll drop down by huge amount considering there wouldn't be any new blocks found between the time he isolated the chain till the time of changing the target difficulty (maybe he waits for 2 recalculating events, or modify something to make the difficulty drop to lowest possible not sure how possible that is). After this new low difficulty, he uses high mining power to create blocks at very high speed since the difficulty has dropped (on his own blockchain), meanwhile the true blockchain will have generated blocks that aren't included in those isolated chains, but due to him having low difficulty he generated twice the amount of blocks (or maybe x1.5 for example) if he then releases those nodes and they start interacting with other nodes, will this "self generated" chain become the "true" chain? I mean since it's a longer chain wouldn't it be the "true" blockchain? and that person would have actually reversed some transactions, and also generated new blocks and took the reward for himself?

I got this theory while reading an article about selfish mining, but for selfish mining to work you'll need to have something around 25% hash rate? (can't remember the exact %)

Anyway, the idea was taken from selfish mining, but I added that attacker needs to have couple nodes under his control and he isolate them in order to massively reduce the target difficulty so he can generate blocks at ridiculous high speed to make up for the time he didn't generate blocks while isolated.
also I'm not sure if 10 nodes are enough? maybe he needs something like 1/3 of total number of nodes to make sure that his blockchain will be published to everyone?

That's all, if anyone can explain if it's possible or not or if you can provide links to articles that help me finding the answer I'll be really appreciated, hope I explained my theory in an easy way.


if you separated yourself from the main network at block h 322992. and started mining in your smal network. the difficulty will still initially be high. so if you only had some USB erupter miners. you probably wont even mine one block in the 2 weeks you have to wait.

once the 2 weeks are up and it time to change difficulty down because your small network is suppose to be at 2016 blocks further on. yet you have not solved a block due to complexity too high.. it will drop alot..

you have already by now lost the game before you even got a block, just by not keeping up with the real network block numbers.

so the problem is that even if you do not mess with the code to make a block you want to solve give you 5 trillian coins. even if you think you have solved a legitimate block. when you then connect to the main network. your blockchain will put you at 322993, yet everyone else's chain will be atleast 324000. meaning that block you hoped would net you 25legit coins or 5trillian reprogrammed coins.. would both be simply ignored and your personal block would be orphaned/binned/thrown out, 'shown the hand because the tcp aint listening'. simply because your block 322993 does not follow on from everyone elses.

thus its not worth it.
9kv
full member
Activity: 145
Merit: 100
Learning
September 28, 2014, 09:22:13 PM
#1
If someone controls a couple nodes (10 for example, shouldn't be hard to do that right?), and at some point he isolates those nodes from the other bitcoin nodes, that will lead to an isolated blockchain that only he have access to it, and if he mines on it at 1kh/s or whatever super slow hash rate, at the time of recalculating the difficulty, it'll drop down by huge amount considering there wouldn't be any new blocks found between the time he isolated the chain till the time of changing the target difficulty (maybe he waits for 2 recalculating events, or modify something to make the difficulty drop to lowest possible not sure how possible that is). After this new low difficulty, he uses high mining power to create blocks at very high speed since the difficulty has dropped (on his own blockchain), meanwhile the true blockchain will have generated blocks that aren't included in those isolated chains, but due to him having low difficulty he generated twice the amount of blocks (or maybe x1.5 for example) if he then releases those nodes and they start interacting with other nodes, will this "self generated" chain become the "true" chain? I mean since it's a longer chain wouldn't it be the "true" blockchain? and that person would have actually reversed some transactions, and also generated new blocks and took the reward for himself?

I got this theory while reading an article about selfish mining, but for selfish mining to work you'll need to have something around 25% hash rate? (can't remember the exact %)

Anyway, the idea was taken from selfish mining, but I added that attacker needs to have couple nodes under his control and he isolate them in order to massively reduce the target difficulty so he can generate blocks at ridiculous high speed to make up for the time he didn't generate blocks while isolated.
also I'm not sure if 10 nodes are enough? maybe he needs something like 1/3 of total number of nodes to make sure that his blockchain will be published to everyone?

That's all, if anyone can explain if it's possible or not or if you can provide links to articles that help me finding the answer I'll be really appreciated, hope I explained my theory in an easy way.
Pages:
Jump to: