Bitcoin Blockchain Forked By Backward-Compatibility Issue 351
New submitter jhantin writes "The Bitcoin blockchain has forked due to a lurking backward-compatibility issue: versions older than 0.8 do not properly handle blocks larger than about 500k, and Slush's pool mined a 974k block today. The problem is that not all mining operations are on 0.8; blocks are being generated by a mix of several different versions of the daemon, each making its own decision as to which of the two forks is preferable to extend, and older versions refuse to honor or extend from a block of this size. The consensus on #bitcoin-dev is damage control: miners need to mine on pre-0.8 code so the backward-compatible fork will outgrow and thus dominate the compatibility-breaking one; merchants need to stop accepting transactions until the network re-converges on the backward-compatible fork of the chain; and average users can ignore the warning that they are out of sync and need to upgrade."
Turns out there's an approximately 512K limit to atomic updates in Berkeley DB which were used by versions prior to 0.8. 0.8 uses a new database, allowing blockchains that old versions won't accept to be created.
Old news. (Score:5, Funny)
Re:Old news. (Score:5, Insightful)
You laugh, but some of the developers, the lead developer Gavin, and another core developer Mike Hearn, are pushing really hard to get the current 1MB limit (7 transactions/second) on blocks lifted so Bitcoin can directly scale to VISA-like volumes.
Never mind that Bitcoin is inherently an unscalable O(n^2) network - every transaction has to be broadcast to every node - and the issue they ran into was also a problem scaling. Mike's solution is to just throw thousands of dollars worth of hardware [bitcoin.it] at the problem. Never mind that for Bitcoin *any* issue the means that some nodes can process a large block, and some can't, turns into the same hard-fork we just saw. Never mind that it will make Bitcoin centralized, and lead to perverse incentives [bitcointalk.org] for large miners to attack smaller ones.
You'd think they'd say "OK, hold on, how about we just use ways to transfer funds that don't have to go into this shared state ball of mess?" but no, they're desperate to take the easy way out at any cost.
I really wonder if my Bitcoins will be worth anything in a few years.
Re:Old news. (Score:4, Insightful)
Never mind that Bitcoin is inherently an unscalable O(n^2) network - every transaction has to be broadcast to every node
It may be possible to store the block chain as a distributed hash tree such that each node is responsible for maintaining its own transactions and a portion of the block chain. This would reduce the storage requirement to O(n*m) where n is the total number of transactions and m is the average number of addresses that appear in a transaction. Communication would also be reduced to O(n*m) because only nodes responsible for the addresses in a transaction would be responsible for checking and approving the transaction. The block chain itself would just be a merkle-tree of hashes of nodes' own block chains. Double-spending would be prevented by transactions incorporating the last hash of each responsible node's block chain so that an individual block chain exhibiting double spending would not be signed into the merkle tree. It would be possible for the history of particular coins to be lost but the overall hash tree would guarantee that at the time of a transaction all balances (including historically lost ones) were valid. Still, not being able to validate the entire economy could be a fairly large weakness. There wouldn't be a hard requirement that nodes could only store certain addresses, so it's entirely possible that some nodes would still try to collect and maintain the entire history. That would only add O(n*p) communication and storage where p is the number of full "archive" nodes. Of course then it wouldn't really be bitcoin anymore, but it might be possible to rebuild the existing block chain into such a structure while retaining the current mining payouts and total number of coins.
I really wonder if my Bitcoins will be worth anything in a few years.
Something, because there will always be some core of crazy people running miners and keeping the difficulty just high enough that it's not worth it to mine as many bitcoins as you want in the original chain. That value will probably be the cost of the electricity to run whatever the last ASIC miner produced is, at least before general purpose GPUs become more powerful than ASICs.
Re:Old news. (Score:5, Interesting)
Is that you Peter? :) I don't know anyone else who would describe the system like that.
Bitcoin is not an O(n^2) network. The total work done by the core nodes is "number of nodes multipled by number of transactions" - that is two very different quantities. It doesn't help the argument to abuse formal notation like that.
Pieter reported today that his optimized secp256k1 implementation can reach 20,000 signature checks per second on a single core. That is a lot better than the generic OpenSSL code was able to manage. Bear in mind that although it sounds scary, all of VISA is only about 10,000 transactions per second. So even if we're generous about our assumptions on number of inputs, CPU load would barely stress a single core. Today. With existing hardware. Disk IO will be the bottleneck for the forseeable future, but we're talking about a working set of a few hundred megabytes today. Even with an order of magnitude growth the entire thing fits in RAM on my puny laptop. And with two orders of magnitude growth it still fits on a pretty average dedicated server.
But Bitcoin will not reach VISA traffic loads today, or this year, or even this decade. By the time it does, dedicating one single computer to being a node will seem a completely trivial investment in order to have full security on the worlds financial system, because let's face it, if Bitcoin is processing tens of thousands of transactions per second then it's well on its way to being exactly that.
Ultimately, Bitcoin is growing fast and will scale up. That is what Satoshi wanted it to be, that is what most of the people actually creating businesses and writing lots of code also want - so if you think that'll make your coins worthless in a few years, I will happily buy them off you.
-Mike Hearn
Re: (Score:3)
TMI :-)
Re: (Score:3)
Ooh, exciting! (Score:5, Funny)
Why achieve 'consensus' when we could let the fork fester, and have two virtual currencies floating wildly against one another as well as USD?
In fact, why not introduce Bitcoin-0 through Bitcoint-Aleph and let them fight it out? I'll bring popcorn!
Re:Ooh, exciting! (Score:5, Informative)
The nice thing about standards is there are so many to choose from.
How much time did this take? How much electricity was spent 'mining' ~$150 worth of BTC?
Re: (Score:2)
At a guess, around $20.
Re: (Score:3)
Re: (Score:3)
Yeah, right. If it was profitable to mine BTC then the people making BTC mining hardware would operate it, not sell it.
And yet the makers of oil, natural gas, coal, silver and gold mining equipment sell their equipment and don't operate it.
The reason that makers of traditional mining equipment sell them and don't operate them is that they don't own the rights to mining operations. Owning the rights to speculatively mine is a big-money investment game (sometimes it doesn't pan out, sometimes it does, so you need a really-big set to average that out). Every once and a while, you get a wild-cat hit, but that's the exception rather than the rule. Especially for oil, it costs $1B to build a platform, you can sell it to someone for $3B (making y
Re: (Score:3)
Bitcoin cash: $150
Electricity spent mining cash: $20
Breaking everyone's favorite geek currency: Priceless
Re:Ooh, exciting! (Score:4)
Probably a lot less energy than banks spend shlepping around wads of checks and bills.
Which is why banks use these things called "Electronic Funds Transfers" for most transactions. That way, no checks and bills have to be transferred.
Re: (Score:3)
> Hardware break even 5 days
> Net profit first time frame 24635.31 USD
Oh yeah, because I know a bunch of
You know what this reminds me of? All those ponzi schemes back in the 2005 time frame. You 'invested' money in various forms and then browsed only 10 websites a day and this money transformed magically on their servers into more! And you could roll it over or reinvest!
And then magically one day... they were all gone.
It's a Wonderful BitCoin! (Score:5, Funny)
Why achieve 'consensus' when we could let the fork fester, and have two virtual currencies floating wildly against one another as well as USD?
In fact, why not introduce Bitcoin-0 through Bitcoint-Aleph and let them fight it out? I'll bring popcorn!
BitCoin Bailey: No, no, no, everybody remain calm. We'll get through this together. You're thinking of this virtual currency all wrong. As if I had the BitCoins back in a safe. The money's not here. Your money's on Bill's computer, and Fred's computer ...
Angry BitCoin User: Hey Fred, what the hell you doin' with my BitCoins?!
*a run on MtGox ensues [arstechnica.com]*
Re:Ooh, exciting! (Score:5, Funny)
Post 0.8 users - if you fuck over the people on the earlier bitcoin format, the value of your bitcoins effectively DOUBLES!
0.8 and prior users - if you fuck over the people on the later bitcoin format, the value of your bitcoins effectively DOUBLES!
Just ask yourself what Ayn Rand would do in the same situation.
Re:Ooh, exciting! (Score:5, Insightful)
Just ask yourself what Ayn Rand would do in the same situation.
Die in penniless poverty while dependent on the state to provide basic income and medical facilities that are necessary to maintain her life, all while maintaining that such a system is inherently evil? It's what I like to think of Ayn Rand doing in *any* situation.
Re:Ooh, exciting! (Score:4, Insightful)
Just what would happen if the great and powerful architect decides to go it alone? Well, the bricklayer, the carpenter, the plumber, and the electrician build some houses following the well developed rules of thumb and then go have some beers while laughing at the architect as he tries to figure out how to rivet....
Re: (Score:3)
Actually, you didn't RTFA. Only one block is in dispute, all other blocks remain valid for both groups. Also, 0.8 is post behaviour, not pre.
So;
0.8 and later users - If you fuck over the people on the earlier bitcoin format, the value of your bitcoins effectively remains exactly the same!
Pre 0.8 users - if you fuck over the people on the later bitcoin format, the value of your bitcoins effectively increases by a very small amount, less than 1 percent!
Far less exciting. Sorry to burst your rant bubble.
Re: (Score:2)
I don't see a problem with multiple virtual currencies. In fact, if virtual currencies ever come to dominate traditional currencies, I would not want a single virtual currency to exist.
Like anything that deals with economy, diversity brings strength. Relying completely on a currency that is a major exploit away from bringing down the global economy would be a disaster waiting to happen.
Re:Ooh, exciting! (Score:4, Insightful)
I tend to think of fiat currencies as being on the 'lead standard', with their reality largely measured by how many guys with guns are available to uphold them. USD, among others, passes the test.
Re: (Score:3)
Re: (Score:3)
The USD isn't cyclical, except versus world currency. However, when you borrow money with interest, you need to pay back the interest. There simply isn't money to pay back the interest; we must issue new money, or more debt. Businesses borrow money, so the theory of "more labor to move money faster to pay off the debt" doesn't work--the creditors are concentrating ownership of the money, the businesses are raising prices and/or selling more product to obtain money to pay their debt, etc. Salaries increa
Re:Ooh, exciting! (Score:5, Insightful)
Re:Ooh, exciting! (Score:5, Informative)
If you'd like to live in a ditch and swap dead squirrels with other people, you're free to do so.
If you do so in the USA, then the US government will still require that taxes be paid in US dollars on the transactions.
Re:Ooh, exciting! (Score:4, Insightful)
Currencies are as real as your ability to spend them. By that standard, USD is very real and Bitcoin is not.
Re: (Score:2, Informative)
No, Steam never accepted BitCoin; I don't know where you got that from.
There was some reseller that would sell Steam codes for BitCoin; you would pay him and he would buy a Steam game with dollars and then gift it to your account. I don't really know what the point of that was supposed to be, or if it's still a thing.
Fiat money is backed by lame duck lead (Score:2, Informative)
If a large enough percentage of people stopped accepting the Euro tomorrow, it would be just as dead.
Tell that to governments that use firearms to compel payment of tax in euros in the days between when "a large enough percentage of people stopped accepting the Euro" and when the people have a chance to elect legislators who will amend the tax statutes to reflect this. See fuzzyfuzzyfungus's post about the "lead standard" [slashdot.org].
Re: (Score:3)
sorry, a bug eat your money! (Score:2, Insightful)
OTOH, it was a really big bug
consensus should be put into specification (Score:3)
The consensus on #bitcoin-dev is damage control: miners need to mine on pre-0.8 code so the backward-compatible fork will outgrow and thus dominate the compatibility-breaking one;
Either this should be put into the bitcoin specification or not accepting any size should be seen as a bug. There should not just be an unofficial consensus that "this is what should be done"
Re:consensus should be put into specification (Score:4, Insightful)
Re: (Score:2, Funny)
Me: Sadly, you don't understand anarchism. There's no hierarchy, no "official", no gods or kings, only men.
You: Don't tell me what anarchism means!
Me: That's my boy.
Re:The concensus should be... (Score:5, Informative)
I think its fair to say that while forking code may be a good idea most of the time - when its code running a virtual currency its a very BAD idea.
This isn't a code fork, it's a block chain fork" [bitcoin.it] caused by an incompatible version update. That said, I agree with your assessment that it is not suitable for storing wealth unless you are prepared to take risks. To be fair bitcoin describes itself [bitcoin.it] as ".. an experimental, decentralized digital currency".
So what now? (Score:2)
You need to stop buying stuff until the "currency" (and I use that term very loosely when talking about bitcoin) is valid again? Good thing it isn't used exclusively by anyone, else they'd now be starving.
Re: (Score:3)
I was wondering that - if there is now a fork in the blockchain, with some groups going in one direction and some in another, does that mean that if this isn't resolved very quickly then bitcoin holders now have twice the number of bitcoins, an initially identical set on each fork?
I guess one fork would become the accepted fork, and hte other one would wither - but until that point, people could conceivably spend both forks with whomever accepts either one?
Re:So what now? (Score:4, Informative)
Yes.
Branches are a part of the protocol, they are mostly natural. That's why it's recommended to wait for confirmations for higher value transactions. However long branches should be very improbable and this software glitch broke this condition. Even so, since the protocol is built on this, all transactions from the orphaned chain are carried to to the one selected by the highest hashing power. Valid transactions are not lost and double spends are invalidated. However, as you said, a careful attacker can do a double spend far more easily during such a long fork.
Re: Was an issue for about four hours yesterday (Score:4, Informative)
The forking was fixed within a few hours. Mining pools were notified of the issue and alerted to the recommendation to revert mining activity back to 0.7.x, which was a simple fix to grow a blockchain compatible with all mining pool Bitcoin versions. The majority of miners ignoring the incompatible fork (which caused a "Lock table is out of available lock entries" database error on Bitcoins compiled against certain BerkeleyDB libraries), let the new fork grow longer and all is fixed.
Almost all transactions are expected to be included in the new chain, so there is little opportunity for malfeasance. If you sent someone money for goods, your transaction sending money will likely be in both the new chain and the old.
Re: (Score:3)
The forking was fixed within a few hours. Mining pools were notified of the issue and alerted to the recommendation to revert mining activity back to 0.7.x, which was a simple fix to grow a blockchain compatible with all mining pool Bitcoin versions. The majority of miners ignoring the incompatible fork (which caused a "Lock table is out of available lock entries" database error on Bitcoins compiled against certain BerkeleyDB libraries), let the new fork grow longer and all is fixed.
Almost all transactions are expected to be included in the new chain, so there is little opportunity for malfeasance. If you sent someone money for goods, your transaction sending money will likely be in both the new chain and the old.
(Emphasis mine)
Re: (Score:3)
A technical error should not introduce "little opportunity" for malfeasance. When my bank has a glitch, the cash in my wallet does not turn worthless for "a few hours".
Yeah but when your bank is the largest in the country and goes down for an entire week, you run out of money in your wallet way before the glitch has passed. But apparently that isn't enough to sink the government owning the bank (wasn't their fault anyway) or the currency.
In the real world, with banks with buggy software, credit card compan
Re: (Score:3)
If I have already completed a transaction, with cash in hand, that transaction must not be "most likely" legitimate. It must be legitimate from the very moment that I verify the currency that I received as legitimate. It must not pass verification, then "most likely" have to pass verification again.
I guess you've never deposited a check into a bank, only to have it come back on you for insufficient funds?
Re: Was an issue for about four hours yesterday (Score:4, Insightful)
The very first words on their website state quite clearly that Bitcoin is an _experimental_ currency. If people choose to use it as more than that, that's their fault. Finding issues like this is exactly what Bitcoin's current purpose is.
Re: Was an issue for about four hours yesterday (Score:4, Insightful)
You misunderstand the parent post. There was no outage -- transactions were processed as normal during the event. Only miners (i.e. people running the network for the random chance of being rewarded as recipient of newly created coins) may have lost out due to the error. Events like this were anticipated in the design, and the system has an automatic method of resolving it, which unfortunately leaves some miners out of pocket, but has no effect on general users.
Uh oh... Bitcoin is having growing pains (Score:2)
It seems that good ol' Bitcoin is having problems scaling up to meet the new demand for cryptocurrency. Perhaps we should start looking into alternate cryptocurrencies like Litecoin instead?
Re: (Score:2)
Actually it doesn't have a problem, since it's already solved.
Now, please tell me how some users switching to a completely different cryptocurrency would solve your perceived problem with forked bitcoins?
So much for being based on crypto (Score:2)
Re: (Score:3, Informative)
No because the morons who created it did not understand what they were doing. If you don't know the limits of the DB you use why would I trust you to create a digital currency?
Re:So much for being based on crypto (Score:4, Insightful)
It's worth noting, that Berkeley DB (the one with the weird limits) was already replaced. The problem is that not enough users have upgraded to the replacement yet, and it's better to match their brokenness than diverge unexpectedly. They'll have to upgrade sooner or later though.
Re: (Score:3)
The problem is that not enough users have upgraded to the replacement yet
This sounds like a horribly broken cryptosystem: your security depends on how many other users of the system have upgraded to a new version of some database?
They'll have to upgrade sooner or later though.
According to whom?
Re: (Score:2)
Re:So much for being based on crypto (Score:4, Insightful)
Re:So much for being based on crypto (Score:5, Insightful)
A cryptographic currency system needs to be secure regardless of how it is implemented
That's kind of an impossible standard, don't you think?
Re: (Score:2)
Re:So much for being based on crypto (Score:4, Insightful)
Do you even know what "crypto" means? How is that in any way related to the database chosen in the implementation?
Usually, cryptosystems do not rely on things like the maximum size of atomic transactions in a database to work or to be secure in the abstract sense; it seems that in the case of Bitcoin, that is exactly what happened. This bug is not some kind of side channel attack (e.g. as you saw with Skype, where the cryptosystem was theoretically secure but where the implementation had an easily exploited side channel), it is not an implementation that leaves a secret key in some publicly accessible place, it is not a failure to properly implement the abstract cryptosystem. This is a cryptosystem whose security depends on specific implementation details.
To put it another way, imagine if instead of the database implementation, it was the CPU architecture that determined the security of the system. As long as everyone uses x86, it is fine, but if a few people start using ARM or PowerPC the system "forks." Would you trust such a system? What differentiates that hypothetical scenario from the database issue?
Re: So much for being based on crypto (Score:4, Informative)
The security was never broken and does not rely on the database specifics. Compatibility was broken. Security was not.
A better analogy would be like having a system that uses SHA-1 to hash passwords using a hardware chip....then they make a new version whose chip only does SHA-512. Everything is still as secure as it was, but you would no longer be able to transfer the output between devices.
Re: (Score:3)
The security was never broken
If the system "forked" the security against double spending is broken. Can I spend money I accumulated prior to the fork on both networks? If money is generated in one network, can I use it on both networks simultaneously?
In general, a digital cash system should not permit one unit of value to be spent by more than one party simultaneously.
Re: (Score:3)
The security was broken. Suddenly, an attacker had the ability to easily spend the exact same set of coins twice, violating one of the key security properties Bitcoin was meant to have.
Re: (Score:3)
The security was broken. Suddenly, an attacker had the ability to easily spend the exact same set of coins twice, violating one of the key security properties Bitcoin was meant to have.
How would an attacker do that and still have both chains validated?
Re: So much for being based on crypto (Score:2)
It's not even 1.0; they're very clear that it is still _experimental_; and the only reason there was a problem was because people weren't bothering to update their clients.
In other words, if people run an outdated version of still alpha/beta-stage software as though it is production-ready...well, who's fault is that _really_?
It's not a currency; it's not advertised as a currency; it's an experiment in how to create a currency.
Stonehenge (Score:4, Funny)
Someday, someone in some future generation will read that sentence and think, "No wonder they almost caused the extinction of the species".
Best to figure this out now ... (Score:2, Insightful)
Just wait until countries start pulling out of the EU.
Then we'll have a real currency backwards-compatibility problem!
BDB (Score:4, Funny)
Oh Berkley DB, is there any application you can't screw up?
This type of problem was solved a long time ago (Score:3, Insightful)
This sort of thing was solved a long time ago, but because it's "old", people just dismiss it out of hand.
It's called versioning the protocol and having compatibility lists. When two clients connect, they exchange version numbers and if one is too old then the newer one performs additional checks to verify compatibility. If the issue is reconcilable then it aborts the connection with an error. Or programatically enforce that the older version is discontinued and that anyone who is using it can no longer participate in the chain.
I apologize if I sound exasperated and holier than thou... actually, no, I don't. How the hell do people design a system that they intend to be the backbone of a major financial system but fail to accommodate for such things? It is nothing short of stupidity and incompetence.
If a major bank tried to pull this sort of nonsense, they'd be bankrupt so fast that the stockholders would have whiplash.
Re:This type of problem was solved a long time ago (Score:4, Informative)
I can't claim that the bug is not a stupid one, but I don't think your solution would have saved it. It was really an unknown problem at the database layer and it would be decided as reconcilable anyway. And it's at a specific level in the network architecture; clients were never incompatible and transactions were being relayed just fine.
Furthermore, you don't want any method to top-down enforce anything on a network like Bitcoin. Actually a wider variance of software increases network's resilience.
If a major bank tried to pull this sort of nonsense, they'd be bankrupt so fast that the stockholders would have whiplash.
Well, Bitcoin is not a major bank though. Bitcoin's market cap is probably much lower than a major bank's janitorial costs.
My wife is the manager of an operations branch of a major bank, and snickered at your comment though. What I gather is, this sort of nonsense happens all the time in major banks too, but they have several layers that keep it going even if some part is broken. Bitcoin, as a greater structure, isn't quite there yet.
Raises the question (Score:3)
Sounds like a currency fork. You could conceivably end up with two currencies. Which raises the question: what is to stop groups of people (say China) from creating parallel systems?
If the answer is nothing, BTC is wide open for undermining by fragmentation.
Re:Gobble bobble wobblywob? (Score:5, Informative)
Bitcoin is a virtual currency that works by "doing work" (a complicated mathematical "puzzle") on your computer. It becomes a currency by the difficulty of the puzzle, and that when you have solved it you tell other BitCoin users about your success and it goes into a "chain".
That chain is the history of EVERY transaction performed on the BitCoin network and the integrity of the system is given by every user relying on the same chain - so trying to create some extra BitCoins or a fake transaction requires compromising a lot of machines around the globe to believe it happened.
Because of a stupid bug that nobody knew about related to the size of a transaction in this chain, a transaction that's too big for older clients to handle was (legitimately) created. Older clients can't handle it, so they have no idea what to do when it comes into their chain updates. Newer clients can handle it, but can't synchronise their chains with older clients because of it (they can accept the transaction whereas older clients don't).
Because the chain is now effectively split into two chains, and that all the integrity of the system comes from the fact that everyone is using, verifying and updating the same chain, BitCoin is now in an "emergency" (quoted from the forum post in the summary) situation. New clients are generating coins that old clients can't see and vice-versa, so BitCoins are being generated and lost or transacted and forgotten about.
The fix is to go back to the old code, ignore the over-size transaction, and hope to fix the code in a more backward-compatible way. Unfortunately, that requires some people on newer clients to lose coins, revert transactions, and for exchanges to shut down (temporarily) until the issue is resolved.
Basically, someone really messed up by not checking that the database could handle transactions that could pop up in the real-world.
Re:Gobble bobble wobblywob? (Score:4, Insightful)
Nice explanation. Now can you explain why exactly is the preferred solution to revert to the old, flawed, code rather than updating everything to the newer code that can properly handle the larger transactions?
Re:Gobble bobble wobblywob? (Score:5, Insightful)
It's not the preferred solution.
The value of the currency is in the people who use it and most major exchanges have already reverted to 0.7, hence 0.7 blockchains are the de-facto standard at the moment. There was a bit of back-and-forth when the problem was discovered but all the large exchanges have settled on 0.7 as the standard for now.
It's like saying we're going to upgrade the dollar, and yet nobody moves to the "new dollar". The new dollar ends up valueless and everyone just stays on the old one.
The client fix is to accept large transactions but not create them - there's already code in a lot of BitCoin software to do that, but not all clients are running it - someone now has to force them to upgrade to a good version in order to stay compatible, and a lot of people might be generating coins that will later fail without knowing it.
Re:Gobble bobble wobblywob? (Score:5, Funny)
Yet 0.7 is the version with the database bug.
These bitcoins certainly aren't a replacement for gold - they're far too irony.
Re:Gobble bobble wobblywob? (Score:4, Insightful)
Yes. At some point everyone will have to upgrade to 0.8 and people who don't will effectively be disconnected from the system. However that needs some kind of co-ordination. The fact that there was a chain split is not the emergency, the fact that it came unexpectedly was the problem.
Re: (Score:3)
The dollar has one significant difference: the government requires that you use it to pay taxes. This forces nearly everybody to value the new dollar, which forces everybody to move to it.
Whence comes the power of the IRS? (Score:2)
Re: (Score:2)
Complexity of moving the entire userbase to the new codebase? You are talking about mass migrating *everyone* as a reactionary measure, rather than doing a planned, tested migration through backward compatibility and progressive upgrade.
Its the same issue as IPv4 and IPv6.
Re: (Score:2)
Its the same issue as IPv4 and IPv6.
Except that with Bitcoin the developers are telling users and specially miners to stay with the older 0.7 version until there is a "good" 0.8 versions. People aren't telling us to say with IPv4 until a good version of IPv6 is ready.
Re: (Score:2)
No, they are not saying that. If you look at the announcements, people are being told to use 0.7 if they are miners, and for everyone else it doesn't matter what version they're on (so you might as well be on the latest version). At some point miners will need to switch to 0.8 too. It's a matter of co-ordination.
Re: (Score:3)
At some point miners will need to switch to 0.8 too.
I don't think it's feasible to get everyone to upgrade at once and miners switching to 0.8 gradually would just cause a repeat of the problem we are having now.
What i'd think needs to happen is a new version be put out that says "big blocks are only valid after block x" and then all exchanges and a sufficient proportion of miners need to be persuaded to upgrade to that new version before block x hits.
Re: (Score:2)
Nice explanation. Now can you explain why exactly is the preferred solution to revert to the old, flawed, code rather than updating everything to the newer code that can properly handle the larger transactions?
because then the guys suggesting that get a bigger share of the total bitcoins out there.
Re:Gobble bobble wobblywob? (Score:5, Informative)
Now can you explain why exactly is the preferred solution to revert to the old, flawed, code rather than updating everything to the newer code that can properly handle the larger transactions?
Because updating everything is likely to be impossible. The system relies on a distributed network of data processors that perform very large numbers of difficult cryptographic operations in the hope of randomly hitting the right answer for a cash reward (this is what is referred to as 'mining' in the summary). Because of the high rewards offered, a lot of people have invested large amounts of money into these operations, with many of the larger players using hardware built around custom ICs (if you do google searches for 'bitcoin' and then 'asic' you'll start seeing adverts for them, even if you leave it months between the two searches...). These likely cannot be upgraded to the new version trivially, as it would rely on the developers of the chips providing updates to their support software -- that is, if it is even possible at all (they may have hard-coded that 512KB block size limit directly into their design).
Re: (Score:3)
The problem is that there's no way to get 100% of the userbase to either upgrade to 0.8 or downgrade to 0.7 instantly. However, since the new version accepts everything that the old version does it was possible to mend the fork merely by getting enough people to move over to 0.7 and start mining on that fork. Eventually the 0.7 side of the fork became longer than the 0.8 side at which point all the clients running Bitcoin 0.8 recognised it as the correct version of the blockchain and everyone was working fr
Re: (Score:3)
Wait, so Bitcoin is decentralized and distributed but requires all clients to remain in lockstep with each other? Nope, can't foresee any problems with that model...
Re: (Score:2)
That chain is the history of EVERY transaction performed on the BitCoin network and the integrity of the system is given by every user relying on the same chain
So every bitcoin user has a history list of every coin ever mined and EVERY TRANSACTION EVER DONE??!? So if I want to buy a chewing gum with BC, every BC user would neet to create a record of that transaction?
And now how is this supposed to scale into a real currency???
Re: (Score:2)
I'm not an advocate for BitCoin. I don't even use it myself.
But, yes, eventually every user ends up having to store every transaction in some way (there's shortcuts but pretty much that's true). A BitCoin client I just installed is synching 225,000 blocks of transaction history (more than one transaction in each block), the earliest generated a few years ago. It'll take about an hour to catch up from an empty wallet.
Once it's synched, you keep it running whenever is convenient and - after X amount of oth
Re: (Score:3)
1 our synching time. With hardly anyone using it. And the number of transactions won't grow liear when the user base does so.
Sorry, but this system has severe scaling issues.
Re:Gobble bobble wobblywob? (Score:4, Interesting)
So if I want to buy a chewing gum with BC, every BC user would neet to create a record of that transaction?
No, every user who wants to be able to check that transactions are valid needs to create a record of it. In the event of the network becoming too large, scaling would likely happen by service providers offering to validate transactions on behalf of customers for a small fee, thus relieving customers of the need to keep a copy of the transaction list. Anyone who wants to set up such a service provider could do so with relative ease.
If this becomes too hard to manage, a further simplification can be made: it would be entirely possible to use a system that summarises the block history list, so that you only have to hold (e.g.) the last few months worth of transactions. Of course, you'd have to trust your source of summaries, but at the moment we have to trust our banks and the credit card processing companies, so we're used to trusting people like this.
What makes bitcoin not scalable on the level of a real currency is the fact that the system is designed so that there can never be more than 21 million of them. OK, they can be subdivided, but even assuming you subdivide them to their technical limit, if the amount of money represented by BTC ever reaches the scale of the amount of USD that was in circulation as of 2008, that would be equivalent to the smallest possible unit of exchange being around 30c. Over time, this figure would increase. And as bitcoin can be lost (e.g. by data loss without backup, owners dying without a record of their passphrases, or simply by people forgetting they own them) and once lost can never be recovered (except by very expensive cryptographic key cracking exercises), the number in circulation is doomed to drop over time. This will merely exacerbate the problem.
Re: (Score:2)
Re:Gobble bobble wobblywob? (Score:5, Insightful)
"except for miners who lost their reward for mined blocks on the abandoned (v 0.8) chain."
Which currently amounts to about $25,000 of BitCoins, last I heard. That's $25,000 of BitCoins that might have been spent, sent, transferred, etc. but never existed in the chosen chain and the knock-on effects on your own wallet if you're dealt with someone who dealt with someone who dealt with someone.... (ad infinitum) ... who dealt with one of those mined blocks.
Sure, it'll "catch up", but saying nobody lost out is plainly false. And isn't the point of BitCoin that everyone is a miner in some small way?
Re: (Score:3, Insightful)
Miners don't have access to their reward for 120 blocks, so they never had them in the first place. The rewards will instead go to the miners in the new chain. Again, no coins are lost.
Re: (Score:3)
Re:Gobble bobble wobblywob? (Score:4, Informative)
Imagine your employer operated on a scheme were instead of paying all of their employees every month they randomly picked an employee and gave them the entire month's pool every time. Now imagine the result of that random selection was ambiguous due to, say, nobody having noticed that two people had picked the same lottery numbers. They then decide arbitrarily in favour of one employee over the other. Does it sound as much like they've lost now?
Also: miners should be well aware that they aren't guaranteed to receive the bitcoins even if they do successfully produce a signed block. The system is designed to cope with the fact that such chain forks may occur and to resolve them automatically by checking which chain is longest. It's part of the protocol that they signed up for from the very beginning, so it's hard to argue they were in some way cheated.
Re: (Score:2)
Re: (Score:2)
How can you deny that there is a value to having a Paypal with no 'central authority' or any 'One trusted third party'?
Do you use Paypal? Have you ever been robbed by Paypal? I guess you could deny it, if the answers to both of those questions are not both 'yes'. For many people though, I am sure, there needs to be a way to have your money 'on the wire' without putting it into the hands of someone who can seize it when their authority or government of favor decides it's time to do so.
For people who don't
Re: (Score:2, Informative)
You can still get robbed when the money transmission service has no central authority, it just works in the other direction. PayPal has the ability to reverse charges that it shouldn't reverse, whereas BitCoin does not have the ability to reverse charges that it should reverse.
Customers like the ability to reverse charges under appropriate circumstances.
Re: (Score:2)
Re: (Score:3, Informative)
Well, I read the article and still don't understand Bitcoin, the concept or the need for it. Just seems like a product without a real need other than the idea of being subversive. But perhaps I don't understand it at all. Of course that's why I come here.... So if any /.ers can explain this, I'm sure others would appreciate it as much as I would.
It's a decentralized, trustless value storage and transfer protocol that allows you to send or receive value to anyone on the internet without the need of a third party. It has the potential to do to banking what email did to the post office.
Re:For those, like me, reading this and saying wtf (Score:4, Interesting)
Not even close.
You can send money now without a trusted 3rd party ... look, I'm transferring you a bajizzillion dollars right this instant in this message! Since you don't need anyone else to verify it, it must be true! Whats that? Bitcoin does require others to verify, it just doesn't have any way to confirm that those others should be trusted either ... my bad.
Email is in no way decentralized. Neither is anything else on the Internet that actually works.
Email DEPENDS on DNS, DNS is most certainly centralized. Both are then delegated to individual organizations to control, but they are in no way decentralized. You fail to understand how things you speak of work.
Email can not replace the post office either. Email can not provide me with a certified legal proof that the recipient received the message. Email'd scans of most objects aren't accepted, though we are getting to the point where we can scan checks and email them if you want to wait extra days for the bank to verify you aren't scamming them. You utterly fail to take into account all the services the USPS offers.
BitCoin solves no problem that were actual problems before BitCoin existed and introduces ones that everyone else in the world resolved via common sense thousands of years ago. You can't makeup a currency without anything backing it of value. Fiat currencies have governments. BitCoin's entire point as you put it is to not have anyone who can back it, brilliant plan.
You BitCoin guys live in a fantasy world. BitCoin is as likely to work properly as pure communism or socialism.
Re: (Score:2)
Regarding the need, imvho it has the potential to solve the micropayments problem. At this point it's almost impossible to charge for anything less than a dollar unless you're processing a large number of transactions. The fees and discount rate of credit card transactions is simply too high. With bitcoins there can be a transaction fee, but the "friction" is essentially zero. Meaning that if you want to send the equivalent of a penny for access to an article, it's as simple as clicking a few buttons in
Re:For those, like me, reading this and saying wtf (Score:4, Interesting)
It's a new fiat currency (ie. it exists because someone says it exists).
There's no reason why you, I and a bunch of our friends can't get together and say "Right, we'll use this new currency called DollarPounds, we'll use a spreadsheet to keep track of who has how many and they're exchangeable for US$ at a rate of US$1 = $£1" but the only way a fiat currency can possibly work is if you have enough people who will use it.
The idea of Bitcoin is it's a currency that doesn't require a central bank to produce more money. Instead, Bitcoins are "mined" (ie. brought into existence) through means of a mathematical algorithm that generates a verifiable block of numbers. The algorithm is designed to get harder as more bitcoins are mined. Meaning that the rate at which Bitcoins can be mined slows down eventually reaching the point where no more can be mined.
On the one hand, this resolves the "Leaves as currency" inflation problem in the Restaurant at the End of the Universe by creating artificial scarcity. On the other, they've done too good a job - as soon as it becomes impossible - or even impractical - to mine further bitcoins, the currency is likely to become subject to massive deflation. We know what happens when a currency undergoes massive deflation - Germany in the 1930's or, more recently, Zimbabwe happens.
FWIW, my view is it's probably best viewed from a distance with an air of morbid curiosity.
Re:For those, like me, reading this and saying wtf (Score:5, Insightful)
Re: For those, like me, reading this and saying wt (Score:2)
I generally avoid bitcoin news, but if you have any knowledge of distributed crypto the summary here makes perfect sense. I got it and I haven't touched any of that sort of stuff since highschool.
Of course not everyone is familiar with every field, but this is Slashdot not the New York Times. I think the assumption is and should be that if you care you either already have some very basic knowledge of the field or can do your own research -- which I see you did, and I thank you for posting the link for other
Re: (Score:2)
Berkeley DB is a nuisance and a piece of shit
Which key-value store would you recommend using instead?