Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: HCLivess on December 16, 2014, 01:57:27 PM



Title: What I got wrong about Bitcoin?
Post by: HCLivess on December 16, 2014, 01:57:27 PM
Please correct me where due.

1, The Double Spending problem:
This is why Bitcoin is being mined. Mining in fact is only transaction validation, for which you receive a reward. Mining is difficult so that there is ideally only one computer at a time which will manage to solve the current mathematic problem by mining, verify the transaction and receive the reward.

2, The Byzantine Generals problem:
The problem of someone hacking Bitcoin is solved by everyone having the blockchain. If everyone has the ledger of all transactions, which are linked though verifiable hashes, so it is impossible to inject your own mojo into the blockchain.

3, 51% attack:
If someone manages to get more than 50% of the network power by mining, they will be able to prolong transaction validation through refusal of transaction verification of the minority by building the blockchain fork faster through more power and own transactions.
-> I would need some explanation here, why do not transactions of the minority get validated? They are not passed to the 51% owner?


Title: Re: What I got wrong about Bitcoin?
Post by: turvarya on December 16, 2014, 02:08:03 PM
-> I would need some explanation here, why do not transactions of the minority get validated? They are not passed to the 51% owner?
The 51% owner has to knowingly refuse to take a transaction into his block. He can refuse whatever he wants, as long as he found the block. Problem is when somebody else finds a block and put the transaction into it, which is a 49:51 chance.


Title: Re: What I got wrong about Bitcoin?
Post by: Aswan on December 16, 2014, 02:08:27 PM

3, 51% attack:
If someone manages to get more than 50% of the network power by mining, they will be able to prolong transaction validation through refusal of transaction verification of the minority by building the blockchain fork faster through more power and own transactions.
-> I would need some explanation here, why do not transactions of the minority get validated? They are not passed to the 51% owner?

Because it's up to a miner if he includes a transaction in his block or not. A miner can just not process the transaction while ignoring all other blocks.


Title: Re: What I got wrong about Bitcoin?
Post by: turvarya on December 16, 2014, 02:16:13 PM
I did a small calculation with excel.
So, if someone has 51% of the network hash that means, that there is a 51% to find 1 block, 26,01% to find 2 in a row and so on.

1   51
2   26,01
3   13,2651
4   6,765201
5   3,45025251
6   1,75962878
7   0,897410678
8   0,457679446
9   0,233416517
10   0,119042424
11   0,060711636
12   0,030962934
13   0,015791097
14   0,008053459


So there is not really a good change, that you can withhold a transaction for long with "just" 51 %


Title: Re: What I got wrong about Bitcoin?
Post by: hhanh00 on December 16, 2014, 02:27:31 PM
You don't need to find them in a row, just faster than other people. They can add transactions but you can remove them by making their chain orphaned.


Title: Re: What I got wrong about Bitcoin?
Post by: OnkelPaul on December 16, 2014, 02:28:16 PM
I think the 51% problem is stated inaccurately here.
The actual problem is that with 51% hashing power, a malicious miner can refuse to mine on any chain which includes blocks mined by other miners, and can get away with it (i.e. his chain will be considered the real blockchain after some time).

Example:
(blocks mined by miner A, B or C are suffixed with a, b or c)

Miner A has more than 50% of hashpower.
All miners start with block 100.
- Miner A mines block 101a, broadcasts it, every other miner switches to 101a as the new head of the block chain.
- Miner B mines block 102b (based on 101a), he and miner C switch to 102b as the new head of block chain, A ignores it and stays with 101a.
- Miner C mines block 103c (based on 102b), which is used as the new blockchain head by B and C. A still stays with 101a.
- Miner A finally manages to mine block 102a (based on 101a), broadcasts it. Other miners ignore it since this chain is shorter than the 103c chain.
- Miner A manages to mine block 103a (based on 102a) before B or C mine a block, and broadcasts it. Depending on the calculations of the amount of work that went into each block, this may be accepted as the new head of the block chain, orphaning both 102b and 103c.
- If it does not happen now, it will happen eventually - miner A has the majority of hashing power and will eventually overtake any competing blockchain version with his own version.

(Hope I presented thet 51% problem correctly...)

Onkel Paul


Title: Re: What I got wrong about Bitcoin?
Post by: HCLivess on December 16, 2014, 02:52:21 PM
So in case of a 51% attack, there will be Total Chaos. People sending BTC, receiving BTC and then travelling back in time, because they do not have enough network power to prove that their version of the block chain is the correct one.


Title: Re: What I got wrong about Bitcoin?
Post by: turvarya on December 16, 2014, 02:57:14 PM
I think the 51% problem is stated inaccurately here.
The actual problem is that with 51% hashing power, a malicious miner can refuse to mine on any chain which includes blocks mined by other miners, and can get away with it (i.e. his chain will be considered the real blockchain after some time).

Example:
(blocks mined by miner A, B or C are suffixed with a, b or c)

Miner A has more than 50% of hashpower.
All miners start with block 100.
- Miner A mines block 101a, broadcasts it, every other miner switches to 101a as the new head of the block chain.
- Miner B mines block 102b (based on 101a), he and miner C switch to 102b as the new head of block chain, A ignores it and stays with 101a.
- Miner C mines block 103c (based on 102b), which is used as the new blockchain head by B and C. A still stays with 101a.
- Miner A finally manages to mine block 102a (based on 101a), broadcasts it. Other miners ignore it since this chain is shorter than the 103c chain.
- Miner A manages to mine block 103a (based on 102a) before B or C mine a block, and broadcasts it. Depending on the calculations of the amount of work that went into each block, this may be accepted as the new head of the block chain, orphaning both 102b and 103c.
- If it does not happen now, it will happen eventually - miner A has the majority of hashing power and will eventually overtake any competing blockchain version with his own version.

(Hope I presented thet 51% problem correctly...)

Onkel Paul
Thanks for the explanation. I wasn't sure, if my calculation was right.
But like I read recently some where: If you want an answer on the internet, post a wrong answer and people will correct you faster, than if you ask the question ;)


Title: Re: What I got wrong about Bitcoin?
Post by: Febo on December 16, 2014, 03:23:05 PM
So in case of a 51% attack, there will be Total Chaos. People sending BTC, receiving BTC and then travelling back in time, because they do not have enough network power to prove that their version of the block chain is the correct one.

It happened on many alts already. So just find what was the ending resoult. This is why altcoins are so important for Crypto. So progress can happen much faster.


Title: Re: What I got wrong about Bitcoin?
Post by: hhanh00 on December 16, 2014, 03:46:22 PM
I think the 51% problem is stated inaccurately here.
The actual problem is that with 51% hashing power, a malicious miner can refuse to mine on any chain which includes blocks mined by other miners, and can get away with it (i.e. his chain will be considered the real blockchain after some time).

Example:
(blocks mined by miner A, B or C are suffixed with a, b or c)

Miner A has more than 50% of hashpower.
All miners start with block 100.
- Miner A mines block 101a, broadcasts it, every other miner switches to 101a as the new head of the block chain.
- Miner B mines block 102b (based on 101a), he and miner C switch to 102b as the new head of block chain, A ignores it and stays with 101a.
- Miner C mines block 103c (based on 102b), which is used as the new blockchain head by B and C. A still stays with 101a.
- Miner A finally manages to mine block 102a (based on 101a), broadcasts it. Other miners ignore it since this chain is shorter than the 103c chain.
- Miner A manages to mine block 103a (based on 102a) before B or C mine a block, and broadcasts it. Depending on the calculations of the amount of work that went into each block, this may be accepted as the new head of the block chain, orphaning both 102b and 103c.

103a does not orphan 103c because it has the same amount of work. Work is calculated based on the difficulty not on the hash. However, a 51% miner eventually will be able to release a block before the rest of the miners.

@OP, Bitcoin is essentially a senate. The blockchain is a recording of the laws passed. Normally, members will vote on the same laws and everything goes smoothly. If someone wants to disrupt the system by himself, he needs at least the majority. Without it, he can still succeed but his chances decline. He could also be sure to win if the other members don't agree.
It's why it's important to have very stable software in a consensus system.


Title: Re: What I got wrong about Bitcoin?
Post by: odolvlobo on December 16, 2014, 05:11:59 PM
Please correct me where due.

1, The Double Spending problem:
This is why Bitcoin is being mined. Mining in fact is only transaction validation, for which you receive a reward. Mining is difficult so that there is ideally only one computer at a time which will manage to solve the current mathematic problem by mining, verify the transaction and receive the reward.

The double-spending problem is due to the fact that bitcoins are just numbers and not distinct objects that can't be copied. You can't double-spend a dollar bill. Mining itself does not solve the double-spending problem. It is the distributed ledger protected by consensus that prevents double-spending.

2, The Byzantine Generals problem:
The problem of someone hacking Bitcoin is solved by everyone having the blockchain. If everyone has the ledger of all transactions, which are linked though verifiable hashes, so it is impossible to inject your own mojo into the blockchain.

The Byzantine Generals problem is solved by the combination of proof-of-work and accepting only the longest chain.

3, 51% attack:
If someone manages to get more than 50% of the network power by mining, they will be able to prolong transaction validation through refusal of transaction verification of the minority by building the blockchain fork faster through more power and own transactions.
-> I would need some explanation here, why do not transactions of the minority get validated? They are not passed to the 51% owner?

Someone with 51% can do two things: they can rewrite the block chain and remove or invalidate previously accepted transactions, and they can mine all the blocks and control which transactions are included and which are not.


Title: Re: What I got wrong about Bitcoin?
Post by: HCLivess on December 21, 2014, 10:46:23 PM
Thank you, it is clearer now :)