Author

Topic: Is this attack discussed somewhere? (Read 696 times)

jr. member
Activity: 34
Merit: 1
September 18, 2017, 10:51:55 PM
#6
Hello everyone,
I am slowly learning the bitcoin technology and thought about an attack I never read anywhere yet.
A team of miners decides to collectively increase their chance of mining new blocks. This team can be one miner by the way.
This is how they would proceed: When one of them mine a new block it is sent to its teammates first so they can start working on the next block. It is sent a little later (n0 seconds)to the rest of the network. There's a risk of losing the new mined block (and the reward) and they will lose some most likely trying to launch this attack,  but this is a calculated risk: if it works (=the block is  put on the long term chain) then all the teammates miners will have a small advantage because they started to work on the next block before the others. If the next mined block is again mined by a team member then it is sent to the teammates  (n0+n1)seconds before it is sent to the rest of the network. The chance for the team to mined the new block can increase at each step and when lucky enough they can mine a sequence of blocks in the chain (with a huge payoff)  
For this strategy to be statistically possible there are few parameters to take into account: the hash power of the team relative to the rest of the miners and the time they decide to wait n0, n1, n2 ...etc as a fraction of the average time.
 Unless the team possesses a non negligeable part of the whole hasing power this attack is statistically impossible!
But a team could "hide" its hashing power and suddenly do this attack. For example,  they have new hashing power and they decide all together to mine at the same time. It would be noticeable by the network only when they have already succeed several times to mine blocks and so then the attack would have a chance.
An other parameter I didn't take into account is the delay of communications in the network. If the ratio of time delay over average block time increases then not only it gives a time advantage on the attacker (obviously) but most importantly it increases the proabability of forks. Forks will greatly help such an attack because it divides the miners hashing power, the attackers team compete against smaller group of miners and can impose their fork at the end (winning the jackpot).
I hope it's clear as I might use phony vocabulary for you guys.
As it been discussed before? any readings? ideas?
thanks for your time



It is a bit similar to selfish mining. Although all things mentioned here are accurate I would suggest you read the original paper presenting the selfish mining attack (https://www.cs.cornell.edu/~ie53/publications/btcProcFC.pdf). It is a great resource. Hope it finds you well!
jr. member
Activity: 83
Merit: 1
September 15, 2017, 05:46:25 PM
#5
Kind of the same as selfish mining from what I just read.
Selfish miners work on their private chain and publish it only when they see that the public chain has become as long as theirs. Hoping then their chain wins. Time delay in the network is bad for the selfish miners. Also the network would notice the attack.
In my message the attackers publish their blocks with a calculated latency.  They "buy(/bet on)" some time by taking the risk to lose few blocks at the beginning. When they manage to "buy" this time they get an early start that they can increase by "buying" more at their next block if they chose so (if they mine the block fast then they should take their chance and wait more before publishing it). They take advantage that the time-variance in the probabilty to mine a block is huge. It's like a lottery and the more they win in a row the more they have a chance to win again next.
Also in my version time delay plays in favor of the attackers and their attack wouldn't get obvious!
The two strategies are a little different and I think which one has more chance depends on the parameters.

Thanks for the links Amaclin, I will try to understand them when I get there.
member
Activity: 86
Merit: 26
September 15, 2017, 01:31:44 AM
#3
There is already a delay between the miner who found a block and all other miners, who need to receive the block and validate it.
I think I read that it take about 10-20 seconds for other miners to receive and validate the new block.

So, the miner who find a block already have a small advantage over the other miners. If he artificially increase this time by waiting before broadcasting, he gains even more advantage.

This is also one reason why at the moment bigger blocks are refused by lot of people. Big blocks take longer to broadcast and to validate, which make it even worse for other miners.
staff
Activity: 3374
Merit: 6530
Just writing some code
September 14, 2017, 09:42:55 PM
#2
What you are describing is selfish mining. This has been discussed many times in the past and is a fairly well known attack.
jr. member
Activity: 83
Merit: 1
September 14, 2017, 09:38:01 PM
#1
Hello everyone,
I am slowly learning the bitcoin technology and thought about an attack I never read anywhere yet.
A team of miners decides to collectively increase their chance of mining new blocks. This team can be one miner by the way.
This is how they would proceed: When one of them mine a new block it is sent to its teammates first so they can start working on the next block. It is sent a little later (n0 seconds)to the rest of the network. There's a risk of losing the new mined block (and the reward) and they will lose some most likely trying to launch this attack,  but this is a calculated risk: if it works (=the block is  put on the long term chain) then all the teammates miners will have a small advantage because they started to work on the next block before the others. If the next mined block is again mined by a team member then it is sent to the teammates  (n0+n1)seconds before it is sent to the rest of the network. The chance for the team to mined the new block can increase at each step and when lucky enough they can mine a sequence of blocks in the chain (with a huge payoff)  
For this strategy to be statistically possible there are few parameters to take into account: the hash power of the team relative to the rest of the miners and the time they decide to wait n0, n1, n2 ...etc as a fraction of the average time.
 Unless the team possesses a non negligeable part of the whole hasing power this attack is statistically impossible!
But a team could "hide" its hashing power and suddenly do this attack. For example,  they have new hashing power and they decide all together to mine at the same time. It would be noticeable by the network only when they have already succeed several times to mine blocks and so then the attack would have a chance.
An other parameter I didn't take into account is the delay of communications in the network. If the ratio of time delay over average block time increases then not only it gives a time advantage on the attacker (obviously) but most importantly it increases the proabability of forks. Forks will greatly help such an attack because it divides the miners hashing power, the attackers team compete against smaller group of miners and can impose their fork at the end (winning the jackpot).
I hope it's clear as I might use phony vocabulary for you guys.
As it been discussed before? any readings? ideas?
thanks for your time

Jump to: