Bitcoin Forum
May 07, 2024, 10:11:29 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 51 percent attack  (Read 309 times)
AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 06, 2017, 04:11:27 AM
 #1

Hello!
I would really appreciate it if someone could clarify the following issue as I'm having hard times understanding how distributed ledger idea is actually implemented in Bitcoin. For simplicity assume that we have 10 miners (nodes in Bitcoin network). As far as I understand all of them have their own copy of the public ledger (right?) that is stored on their computers. Now assume that 1 miner gets 99% of the hash power and becomes dishonest in that he wants to change some of his past transactions. The question is: how is that possible (change past transactions) if he cannot access the ledgers of the other 9 miners? It seems to me that the dishonest miner can change only his own version of the ledger.
Thank you in advance!
1715076689
Hero Member
*
Offline Offline

Posts: 1715076689

View Profile Personal Message (Offline)

Ignore
1715076689
Reply with quote  #2

1715076689
Report to moderator
1715076689
Hero Member
*
Offline Offline

Posts: 1715076689

View Profile Personal Message (Offline)

Ignore
1715076689
Reply with quote  #2

1715076689
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Vod
Legendary
*
Offline Offline

Activity: 3696
Merit: 3073


Licking my boob since 1970


View Profile WWW
December 06, 2017, 09:27:10 AM
 #2

Hello!
I would really appreciate it if someone could clarify the following issue as I'm having hard times understanding how distributed ledger idea is actually implemented in Bitcoin. For simplicity assume that we have 10 miners (nodes in Bitcoin network). As far as I understand all of them have their own copy of the public ledger (right?) that is stored on their computers. Now assume that 1 miner gets 99% of the hash power and becomes dishonest in that he wants to change some of his past transactions. The question is: how is that possible (change past transactions) if he cannot access the ledgers of the other 9 miners? It seems to me that the dishonest miner can change only his own version of the ledger.
Thank you in advance!

You wouldn't be able to change the ledgers.

https://learncryptography.com/cryptocurrency/51-attack

https://nastyscam.com - landing page up     https://vod.fan - advanced image hosting - coming soon!
OGNasty has early onset dementia; keep this in mind when discussing his past actions.
Slava79
Member
**
Offline Offline

Activity: 182
Merit: 17

¯\_(ツ)_/¯


View Profile
December 06, 2017, 10:08:04 AM
 #3

The other nodes will pick up the longest chain, which complies to protocol rules, so if you have enough computing power you can alter the previous block, replacing it with new one, removing a transaction from it, for example.

Building a JavaScript Smart Contracts Engine
Github | Site | Chat
AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 06, 2017, 12:24:30 PM
 #4

You wouldn't be able to change the ledgers.
https://learncryptography.com/cryptocurrency/51-attack
Could you please elaborate a little on this? According to your link: "Realistically, an attacker would only be able to modify transactions within the past few blocks." How is that not changing the ledgers?

That's exactly what I don't understand. The ledger is distributed, and yet it could be altered by an attacker. Unless an attacker could hack everyone's computer and replace their ledgers with his dishonest version???
kahc
Member
**
Offline Offline

Activity: 350
Merit: 13


View Profile
December 06, 2017, 12:49:49 PM
 #5

You wouldn't be able to change the ledgers.
https://learncryptography.com/cryptocurrency/51-attack
Could you please elaborate a little on this? According to your link: "Realistically, an attacker would only be able to modify transactions within the past few blocks." How is that not changing the ledgers?

That's exactly what I don't understand. The ledger is distributed, and yet it could be altered by an attacker. Unless an attacker could hack everyone's computer and replace their ledgers with his dishonest version???

The concept is abstract.
To better visualize it, watch from 14:06 where they talk about double-spend, then 51% attack.
https://www.youtube.com/watch?v=Lx9zgZCMqXE
AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 06, 2017, 08:25:38 PM
 #6

The concept is abstract.
To better visualize it, watch from 14:06 where they talk about double-spend, then 51% attack.
https://www.youtube.com/watch?v=Lx9zgZCMqXE

Thanks! If I understand it right, a successful attacker will have to win (solve the puzzles faster than other nodes) several times in a row and create a longer branch. After that all other nodes will follow the rule of extending the longest chain. Right?
AdolfinWolf
Legendary
*
Offline Offline

Activity: 1946
Merit: 1427


View Profile
December 06, 2017, 08:35:18 PM
 #7

The concept is abstract.
To better visualize it, watch from 14:06 where they talk about double-spend, then 51% attack.
https://www.youtube.com/watch?v=Lx9zgZCMqXE

Thanks! If I understand it right, a successful attacker will have to win (solve the puzzles faster than other nodes) several times in a row and create a longer branch. After that all other nodes will follow the rule of extending the longest chain. Right?

"Other miners", yes, the nodes will automatically update/validate the longest chain ( as long the blocks are valid ).
You wouldn't be able to change the ledgers.
https://learncryptography.com/cryptocurrency/51-attack
Could you please elaborate a little on this? According to your link: "Realistically, an attacker would only be able to modify transactions within the past few blocks." How is that not changing the ledgers?

That's exactly what I don't understand. The ledger is distributed, and yet it could be altered by an attacker. Unless an attacker could hack everyone's computer and replace their ledgers with his dishonest version???

Because it can only choose to not confirm/confirm certain transactions, it CAN'T decide for example that all the coins should be sent to the miner's adress.

I would say that "modifying" is the wrong word, rather changing/excluding certain transactions..

These are some better sources:

https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power
https://bitcoin.stackexchange.com/questions/658/what-can-an-attacker-with-51-of-hash-power-do

AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 07, 2017, 05:50:26 PM
 #8

Because it can only choose to not confirm/confirm certain transactions, it CAN'T decide for example that all the coins should be sent to the miner's adress.

I would say that "modifying" is the wrong word, rather changing/excluding certain transactions..

These are some better sources:

https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power
https://bitcoin.stackexchange.com/questions/658/what-can-an-attacker-with-51-of-hash-power-do
I assume by "it" you mean "an attacker". It seems to me a bit clear now, but... just to make sure I understand it right. Based on my understanding of Satoshi's paper it follows that 51% attacker will be able to extend any block in the chain with probability 1 (provided the attacker has unlimited resources). Is this true?
And my second question: according to your first link:"...exclude and modify the ordering of transactions". What is the attacker's gain of changing the ordering of transactions?

Thanks!
mayo2u
Member
**
Offline Offline

Activity: 325
Merit: 26


View Profile
December 07, 2017, 06:45:48 PM
 #9

Because it can only choose to not confirm/confirm certain transactions, it CAN'T decide for example that all the coins should be sent to the miner's adress.

I would say that "modifying" is the wrong word, rather changing/excluding certain transactions..

These are some better sources:

https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power
https://bitcoin.stackexchange.com/questions/658/what-can-an-attacker-with-51-of-hash-power-do
I assume by "it" you mean "an attacker". It seems to me a bit clear now, but... just to make sure I understand it right. Based on my understanding of Satoshi's paper it follows that 51% attacker will be able to extend any block in the chain with probability 1 (provided the attacker has unlimited resources). Is this true?
And my second question: according to your first link:"...exclude and modify the ordering of transactions". What is the attacker's gain of changing the ordering of transactions?

Thanks!

One needs to find a correct hash to claim a block.  Once you have done this work you need to do it again, again in order for your block to become the longest and for other miners to consider you branch to be the correct one.  If you have half the hash power of the entire network you would expect to get every other block (over time) but, with half the hashpower. it is not inconceivable for you to get 5 blocks in a row (1:32) or even 10 in a row (1:1024).

Today, 2017, it's virtually impossible for one entity (not talking about a mining pool here) to get half the network hashrate. Still - there are scenarios where 51% attacks are possible.
AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 07, 2017, 07:00:59 PM
 #10

One needs to find a correct hash to claim a block.  Once you have done this work you need to do it again, again in order for your block to become the longest and for other miners to consider you branch to be the correct one.  If you have half the hash power of the entire network you would expect to get every other block (over time) but, with half the hashpower. it is not inconceivable for you to get 5 blocks in a row (1:32) or even 10 in a row (1:1024).

Today, 2017, it's virtually impossible for one entity (not talking about a mining pool here) to get half the network hashrate. Still - there are scenarios where 51% attacks are possible.
My claim is stronger: with probability 1 a 51% attacker will be successful (as I see it, it follows from Satoshi's paper). What about the ordering question: What is the attacker's gain of changing the ordering of transactions?
mayo2u
Member
**
Offline Offline

Activity: 325
Merit: 26


View Profile
December 07, 2017, 07:10:11 PM
 #11

One needs to find a correct hash to claim a block.  Once you have done this work you need to do it again, again in order for your block to become the longest and for other miners to consider you branch to be the correct one.  If you have half the hash power of the entire network you would expect to get every other block (over time) but, with half the hashpower. it is not inconceivable for you to get 5 blocks in a row (1:32) or even 10 in a row (1:1024).

Today, 2017, it's virtually impossible for one entity (not talking about a mining pool here) to get half the network hashrate. Still - there are scenarios where 51% attacks are possible.
My claim is stronger: with probability 1 a 51% attacker will be successful (as I see it, it follows from Satoshi's paper). What about the ordering question: What is the attacker's gain of changing the ordering of transactions?

Having 51% means that, over time, the attacker will be able to make the longest chain. In today's world that is highly unlikely. You would need to be getting 51% of the hashrate (highly unlikely) and not be detected as someone trying to reverse a transaction. Meaning that if one group of people are consistently adding work to a chain that is one behind the "real" chain - other miners will notice this and wonder why. As the attack continues they will look into the transaction details and find that the attacker is trying to reverse a transaction, then the attacker will be left all by himself. No one will be mining with him.

Again - for the attacker to succeed he needs to have more than 50% of the total hashpower. Why would he spend millions, if not tens of millions of dollars on a 51% attack in order to reverse a transaction? And which receiver of 100,000,000 dollars in bitcoin would not wait at least one full day (144 blocks) before releasing the product?

What ordering question are you referring to? The ordering within a block? Yes. Each miner will order the transactions in slightly differently.
AlexR12 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
December 07, 2017, 07:40:42 PM
 #12

You are talking about incentives, but I was talking about pure math given in Satoshi's paper.

About ordering. Here

https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power

it is claimed that an attacker can change the ordering of transactions. What is the attacker's gain of changing the ordering of transactions?
mayo2u
Member
**
Offline Offline

Activity: 325
Merit: 26


View Profile
December 07, 2017, 08:22:23 PM
 #13

You are talking about incentives, but I was talking about pure math given in Satoshi's paper.

About ordering. Here

https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power

it is claimed that an attacker can change the ordering of transactions. What is the attacker's gain of changing the ordering of transactions?

You're referring to a 51% attack. Changing the order of transaction can mean a lot depending on which transactions.  In an attack scenario it means that the attacker is trying to reverse his transaction.

Say Attacker (Alice) sends all the BTC  from Wallet A and buys something from Bill. And then sends another transaction for the same amount to another wallet she owns (Wallet A2). Bitcoin protocol considers that the first transaction is the valid transaction and all subsequent attempts to double spend this bitcoin to be invalid. In this scenario changing the order of transactions makes all the difference. The moneys are now sent to Wallet A2, Alice has the product from Bill and Bill was defrauded. He will not receive his BTC.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!