Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: ChristianK on April 20, 2013, 09:41:53 PM



Title: Defending against 51% attacks
Post by: ChristianK on April 20, 2013, 09:41:53 PM
At the present bitcoin doesn't have any defense against a single new miner with 51% overtaking the network.
That isn't necessary.

How could bitcoin defend against itself?

Every miner should sign the blocks that he solves with his own key. After a miner has created a lot of blocks
over month that get accepted by other miners, new blocks of the same miner deserve more trust than blocks
of new miners.

How do you defend against one established miner using this new voting power to attack?
Allow every client to make the choice to distrust a miner. If a miner attacks the network than the community
can decide to distrust the key of that miner.


Title: Re: Defending against 51% attacks
Post by: Come-from-Beyond on April 20, 2013, 09:45:20 PM
At the present bitcoin doesn't have any defense against a single new miner with 51% overtaking the network.
That isn't necessary.

How could bitcoin defend against itself?

Every miner should sign the blocks that he solves with his own key. After a miner has created a lot of blocks
over month that get accepted by other miners, new blocks of the same miner deserve more trust than blocks
of new miners.

How do you defend against one established miner using this new voting power to attack?
Allow every client to make the choice to distrust a miner. If a miner attacks the network than the community
can decide to distrust the key of that miner.

How can u know that a miner is attacking the network? When u know it for sure it's too late.


Title: Re: Defending against 51% attacks
Post by: EdwinLefèvre on April 20, 2015, 02:54:11 AM
I am in no way tech savvy, and I am still learning about bitcoin so don't 'Mance Rayder' me... but bitcoin is based on a system of decentralization; what if we built some framework for mining to be accomplished in the same way? A trustless and decentralized regulatory system for the mining process. 

I'm thinking of a system that automatically chunks the power of the mining and distributes it to separate pools. Each pool is allotted a percentage of the total mining capacity and that percentage is equal to all the other pools in the system.  So let’s say a bad actor floods the market with 51% attack power, that power would be distributed to 100 pools that each have 1% of the total power in the ecosystem. Each of those pools should then have the ability to water down the voting power of one bad actor because they would have to sway 51% of the pools to gain the voting power necessary to take over the market.  I'm not sure if this would work... like I said, I'm new to this but I really want to see bitcoin succeed and I hope this could help.


Title: Re: Defending against 51% attacks
Post by: TierNolan on April 20, 2015, 10:21:58 AM
I'm thinking of a system that automatically chunks the power of the mining and distributes it to separate pools.

It would have to be a voluntary system.  You could implement a "pool hopping" proxy that allows ASIC owners to redirect their mining power to multiple pools.

It would also be possible for pools to support a system where they mark blocks that they own when sending work to the miners.

Something like

- proxy connects to pool
- pool sends work but with DNS name/identifier embedded in the coinbase transaction
- work is rejected if it excludes this info
- proxy distributes work between pools in proportion to the number of blocks the pool has found in the last 1000 blocks (contains their identifier)

The effect of this is that it allows multiple smaller pools to combine into a large pool.

If you split your mining power evenly between 10 pools and each has 1% of the total hashing power, then variance is the same as spending your mining power on 1 pool with 10%.  There was a thread about it at some point.

This allows smaller pools to have low variance like the larger pools without the need for centralisation.

Miners could set limits to how much is sent to any one pool too, but that creates an incentive for pools to split into multiple domain names backed by the same pool.


Title: Re: Defending against 51% attacks
Post by: innocent93 on April 20, 2015, 02:41:14 PM
It sounds like you're reinventing p2pool?


Title: Re: Defending against 51% attacks
Post by: amaclin on April 20, 2015, 02:59:19 PM
How could bitcoin defend against itself?
It is not possible.
Network as a set of users can not defend against itself.
https://en.wikipedia.org/wiki/Omnipotence_paradox


Title: Re: Defending against 51% attacks
Post by: TierNolan on April 20, 2015, 09:29:26 PM
It sounds like you're reinventing p2pool?

It is just a proxy that shares out hashing power between pools.  This gets reasonably low latency, while still allowing support of smaller pools.


Title: Re: Defending against 51% attacks
Post by: Mikestang on April 20, 2015, 10:13:49 PM
The hash power that the network currently has it would be impossible for any singular entity to gain control of 51%.  Could have happened in the early days, but I don't think this is a viable threat any more.


Title: Re: Defending against 51% attacks
Post by: amaclin on April 21, 2015, 04:32:40 AM
You are wrong in assumption that hash power would stay high forever.


Title: Re: Defending against 51% attacks
Post by: Amph on April 21, 2015, 06:47:20 AM
The hash power that the network currently has it would be impossible for any singular entity to gain control of 51%.  Could have happened in the early days, but I don't think this is a viable threat any more.

well not really impossible, it's actually doable, the point is that no one will do it because they could harm themselves more than anything else

You are wrong in assumption that hash power would stay high forever.


unless the price drop too much, i do not see how this will change in the future


Title: Re: Defending against 51% attacks
Post by: amaclin on April 21, 2015, 07:11:59 AM
unless the price drop too much
it will


Title: Re: Defending against 51% attacks
Post by: EdwinLefèvre on April 22, 2015, 07:55:32 PM
The 51% attack is very much accomplishable; just check out this video. 

https://www.youtube.com/watch?v=Kjtgp5h-jEY (https://www.youtube.com/watch?v=Kjtgp5h-jEY)

This is part two of his review of the 51% attack; and I think it brings up some points that the community really needs to take seriously for the security of the future.  This isn't about conspiracy theories and 'what if' scenarios; its about building a proper foundation for the future of crypto-currency.  Issues within the system are only going to be magnified as time goes on and more and more people get on board bitcoin.


Title: Re: Defending against 51% attacks
Post by: virtualx on April 22, 2015, 08:10:47 PM
At the present bitcoin doesn't have any defense against a single new miner with 51% overtaking the network.
That isn't necessary.

How could bitcoin defend against itself?

This had been asked to Satoshi at the design of this project.  It is more profitable for the miners to sell than to invest all only to bring down the network.  If the mining pool gets too large miners could switch to another pool. This behaviour has been seen in the past with large mining pools.


Title: Re: Defending against 51% attacks
Post by: InvestONEr on April 23, 2015, 03:32:46 PM
Proof of stake is an option.


Title: Re: Defending against 51% attacks
Post by: amaclin on April 23, 2015, 05:30:07 PM
Proof of stake is an option.
no


Title: Re: Defending against 51% attacks
Post by: NUFCrichard on April 23, 2015, 06:56:18 PM
The hash power that the network currently has it would be impossible for any singular entity to gain control of 51%.  Could have happened in the early days, but I don't think this is a viable threat any more.
A government could quite easily get a 51% control, or when the next generation of ASICs are made, the companyies who build them could also probably do it.

That said, it would be costy and without profit at the end, so it would either be a government sabotaging Bitcoin, or a terrorist attack.


Title: Re: Defending against 51% attacks
Post by: kevinmauro on April 24, 2015, 05:29:12 AM
"Every miner should sign the blocks that he solves with his own key. After a miner has created a lot of blocks
over month that get accepted by other miners, new blocks of the same miner deserve more trust than blocks
of new miner"

Miners  who are more trusted could then flood the network with 'bad blocks'. It would only take one bad block for a miner to double spend and receive a lot of bitcoin.

A better idea would be to have a cryptographic miner inaccessibly tied to a biological identity. It could sign blocks, as you described, but because the hardware would be rely on tasks performed by the human body, there would be no risk of forgery.

I describe this in my thesis on building a brain-to-brain, 'proof-of-humanity' blockchain. I haven't yet sent it to cryptographers, but I'm interested in receiving feedback.

Learn more here: https://bitcointalk.org/index.php?topic=1036556.0


Title: Re: Defending against 51% attacks
Post by: Amph on April 24, 2015, 06:40:27 AM
unless the price drop too much
it will

no guaranteed that it will fall so much, actually i don't see it falling for that reason

"Every miner should sign the blocks that he solves with his own key. After a miner has created a lot of blocks
over month that get accepted by other miners, new blocks of the same miner deserve more trust than blocks
of new miner"

Miners  who are more trusted could then flood the network with 'bad blocks'. It would only take one bad block for a miner to double spend and receive a lot of bitcoin.

A better idea would be to have a cryptographic miner inaccessibly tied to a biological identity. It could sign blocks, as you described, but because the hardware would be rely on tasks performed by the human body, there would be no risk of forgery.

I describe this in my thesis on building a brain-to-brain, 'proof-of-humanity' blockchain. I haven't yet sent it to cryptographers, but I'm interested in receiving feedback.

Learn more here: https://bitcointalk.org/index.php?topic=1036556.0

what if one accumulate trust just to do bad thing later? there are plenty of cases like this in other "applications"

the network should secure itself(the chain) through a sophisticated bot, the human help should be avoided as much as possible, this how i see it

it could work in the same way as a cash(there are various thing in a money cash that make it different from a false cash money), so with something that identify the real block from the false


Title: Re: Defending against 51% attacks
Post by: altcoinex on April 29, 2015, 04:29:18 AM
The hash power that the network currently has it would be impossible for any singular entity to gain control of 51%.  Could have happened in the early days, but I don't think this is a viable threat any more.

well not really impossible, it's actually doable, the point is that no one will do it because they could harm themselves more than anything else

You are wrong in assumption that hash power would stay high forever.


unless the price drop too much, i do not see how this will change in the future

One single miner isn't likely too, but a pool can, as demonstrated by the few pools coming quite close to 51% in the past. The price may or may not drop, but what do you think will happen when block reward halving occurs? Mining right now is barely profitable, and for most, not profitable. How will that be effected by the reward going from 25 to 12.5BTC per block? How many miners will continue to mine at a near 50% LOSS just on the power costs; Unless the decreased supply coming to market from miners causes the price to double, you will surely see quite a significant drop in hashrate(with exception to new types of powerful hardware coming out, but as far as im aware theres nothing like that on the way).


At the present bitcoin doesn't have any defense against a single new miner with 51% overtaking the network.
That isn't necessary.

How could bitcoin defend against itself?

Every miner should sign the blocks that he solves with his own key. After a miner has created a lot of blocks
over month that get accepted by other miners, new blocks of the same miner deserve more trust than blocks
of new miners.

How do you defend against one established miner using this new voting power to attack?
Allow every client to make the choice to distrust a miner. If a miner attacks the network than the community
can decide to distrust the key of that miner.

Giving nodes a 'trust level' defeats the decentralized trustless architecture that is the glory of bitcoin.. It opens vectors to 51% and other attacks in addition to being a step backwards for what blockchain technology accomplishes. Only problems come to mind from this....