4 ms·
Bitcoin's security is based on the idea of a "block chain", which is sort of a mutually agreed-upon list of transactions. As long as all participants in the Bit
by jmillikin 14y ago
Bitcoin's security is based on the idea of a "block chain", which is sort of a mutually agreed-upon list of transactions. As long as all participants in the Bitcoin economy are using the same block chain, then double-spending money is (for all practical purposes) impossible.
It was recently discovered that a change in Bitcoin 0.8 caused an entry in the block chain that old versions can't process. The old versions, unable to verify the 0.8 block chain, automatically started their own block chain based on the last block they could deal with.
0.8-readable block chain continues
|
---> |
| | <- 0.7-readable block chain splits off
| /
|/
* <- block that old versions can't process
|
|
(history)
For technical reasons, it was decided that the 0.8 block chain would be abandoned, and all clients should switch to the "forked" block chain that was accidentally created by old clients.
dead | <- 0.7-readable block chain is now "official"
| |
---> _ |
| |
| /
|/
* <- block that old versions can't process
|
|
(history)
This causes a problem, because until that switch happens, a person could issue a transaction to a 0.8 client that would be accepted only by clients running the "bad" 0.8 blockchain.
The OP states that he has done this successfully. He submitted a transaction to a BTC<->USD service running 0.8. The service, checking the bad block chain, thought it had received Bitcoins and therefore sent him USD. But his transaction was never sent to the "official" block chain, so according to the rest of the Bitcoin world, he still has his original Bitcoins.
This is significant because prevention of double-spending is a fundamental feature of Bitcoin. If it can be bypassed, then the entire Bitcoin economy is endangered.
- deleted 14y ago[deleted]
- ctz 14y agoWhat happened to bitcoins 'mined' on the 0.8 chain in the meantime? Did people lose their currency?
- bumeye 14y agoYes. For the 0.7 chain, it's as if the 0.8 chain never happened. All transactions and all mining in that part of the chain is irrelevant now.
- simondlr 14y agoGood question. I know that any transactions in forked chains that have been orphaned are included as transaction if it hasn't been double spent on the other chain. But what happens to the mining reward, I don't know. Anyone?
- RoboTeddy 14y agoThe mining rewards on the 0.8 branch went poof A mining reward is actually just a special transaction that the miner includes in blocks they find that let them pay themselves out of thin air. So, the mining reward transactions on the 0.8 branch only exist on that branch, since the 0.7 chain had its own reward transactions made out to its own miners. When the network reached consensus on the 0.7 branch, money that miners on 0.8 thought they earned just disappeared (other clients stopped acknowledging their reward bitcoins). Some pool operators lost out too, since they paid people who found blocks on the 0.8 branch.
- erja 14y agoHow would a pool operator lose? They would pay out on the 0.8 branch, in bitcoins. Do pool operators pay in real-world currency like USD?
- RoboTeddy 14y agoThey do indeed pay in bitcoins. The payment transactions during the fork weren't lost, however-- they were confirmed on both branches of the chain. The only transactions that disappeared were the block reward transactions on 0.8. If pools paid miners using bitcoins from their own mined blocks, this problem would go away-- that's not a bad idea! edit: I asked -- some pool operators apparently already do this. The ones that lost out are the ones that don't.