Why is Bitcoin forking?
medium.com
medium.com
The capacity cliff: https://medium.com/@octskyward/the-capacity-cliff-586d1bf771...
Crash landing: https://medium.com/@octskyward/crash-landing-f5cc19908e32
On consensus and forks: https://medium.com/@octskyward/on-consensus-and-forks-c6a050...
They were quite useful for someone not familiar with the topic.
Greg Maxwell's thoughts (small blocks): http://sourceforge.net/p/bitcoin/mailman/message/34090559/
About internet bandwidth growth (~neutral): http://rusty.ozlabs.org/?p=493
An attempt at a well-rounded overview (~neutral): http://rusty.ozlabs.org/?p=535
some thoughts by bittorrent creator Bram Cohen (small blocks): https://medium.com/@bramcohen/bitcoin-s-ironic-crisis-32226a...
Some thoughts by gavin andresen (large blocks): http://gavinandresen.ninja/
> some thoughts by bittorrent creator Bram Cohen (small blocks): https://medium.com/@bramcohen/bitcoin-s-ironic-crisis-32226a...
I give him a fair bit of credit and he really portrays this quite differently than in the main article here.
Has anyone responded to Bram Cohen's writeup on the pro side of things?
Most of the core devs of Bitcoin are strongly opposed to increasing the blocksize to 8mb. 2 people in particular, Mike Hearn and Gavin Andresen, have been making very strong political pushes to get the majority of Bitcoin users to favor their block size limit increase proposals, and it appears that they have largely been successful.
Everyone has an opinion on the block size debate, and it has become clear that politics are very important to Bitcoin. Bitcoin is a complicated and delicate protocol, and having a qualified opinion on something like the blocksize debate likely requires around a year of studying the academic properties of Bitcoin. Most people don't realize this, and hold their own opinion in high esteem. In many ways, this would be similar to non-cryptographers engaging in debates about key scheduling in AES - it takes a lot of education before you are really qualified to make an opinion.
Unlike AES however, with Bitcoin most people believe that they have a qualified opinion, and actively engage in debate, religiously clinging to certain ideas without properly grasping their full implications.
Perhaps even more interesting is all of the drama and chaos on /r/bitcoin. Right now there are posts with 93% upvotes requesting that the moderators be replaced. The comment threads have lots of brigading, trolling, loudmouthing, and occasional spurts of academic discussion.
There are many accusations of the moderators censoring discussion that opposes their viewpoint on the subject. The moderators have been very active in deleting posts. Certainly many of the deletions were of garbage comments, but there also seems to be abuse-of-power happening.
Certainly there are many people trying to be as disruptive as possible, and deleting their comments only results in more assertions of censorship.
One big controvertial decision by the moderator team was to censor all posts relating to Bitcoin-XT, a client that runs code which will hard-fork Bitcoin after reaching 75% miner-usage. The two biggest proponents of the block size increase are responsible for XT, and censoring posts about XT seems synonymous to censoring topics about the block size. 'Off-topic' really doesn't seem like an appropriate label.
The behavior of proponents of both sides of the debate has been abysmal. Something in Bitcoin is broken, and it's not just related to the block size limit. The decision making process, and 'social consensus' process as a whole, needs improvement.
2/5 of the core devs support increasing the blocksize, and of the remaining 3, at least 2 have vested interests in companies/technologies outside of core bitcoin that could stand to benefit from smaller blocksize, eg Blockstream.
Blockstream has to benefit from blocks as large as possible without losing decentralisation and security properties, like everyone else.
The argument that "I understand this and you don't, so you don't get a vote" seems like a lazy way to suppress democratic process. A better alternative is, "This might seem complicated, but really it's not; here's a simple but complete explanation to help you make an informed decision."
If you're a high energy experimental physicist you can say you work on a particle accelerator. That's a machine that makes particles hit into each other really fast, a bit like a super-high-speed game of conkers! When the particles hit together and break apart for a really short time you can see the parts that make them up, and you can learn things about them!
You've now explained what you're doing to an 8 year old! But if you ask the 8 year old whether they think it's a good idea to use Fox-Wolfram moments to partition phase space and suppress the continuum background, like B-factories do, or whether you'll have difficulty determining the centre-of-mass frame due to missing energy? Probably the 8 year old won't have an informed opinion either way.
Or could it maybe, just maybe, be that it is entirely reasonable that it takes years to have sufficient background understanding before an expert can convey the knowledge you need to study for another few months to actually understand something and also have an expert opinion on it?
Politics is about ethics. In this case: the ethical consequences of certain technical choices (under which I include a consideration like 'I will make less money'). (Expert) knowledge of the technical choice itself is mostly irrelevant for those parts of the debate. We can discuss the military merits of e.g. nuclear weapons until kingdom come, but if I'm opposed to them on humanitarian grounds, no amount of technical merits will convince me.
As for the quote, it depends on context. In a context where expert knowledge is necessary to make useful contributions to the debate, there is nothing redeeming in the quote. It merely encourages people to be disrupt it. In the more general context where you ask a researcher to be able to explain his work: of course he should be able to dumb it down. But not for the purposes of subsequently engaging in fruitful discussion with him.
And, I'll additionally argue that technical merits can convince someone opposed on humanitarian grounds, the two are not incomparable, we do these sorts of comparisons just fine in the real world.
You are attempting to modularise the argument in a way I find unpalatable is all, our differences are likely surface deep.
But sometimes things are complicated, and there's no simple but complete explanation...
I do not like statements like that -- it basically says unless you know as much as me (and if you knew as much as me you'd agree with me), you can not have an opinion. It is pretty exclusionary. Most people can get up to speed fairly fast than that if they have access to good information on both pros and cons.
I wouldn't expect Linus to listen to my opinions about the Linux task scheduler.
Why should the Bitcoin community listen to some random guy's unsupported opinions about block size? This isn't about politics or being nice and listening to everyone. This is about making a massively technical choice and it better be made based on solid technical reasoning, not on a desire to be happy and inclusive.
Furthermore, a year is a really silly measurement of time for how long learning something will take. If you have some background knowledge in the field, then most individual blind spots can be cleared up in a month or two of full time study. It took me about 2 months from not knowing how Bitcoin worked to implementing my own cryptocurrency with a novel PoW approach. This stuff isn't that hard.
Totally agreed. Just because you're an expert, that doesn't absolve you from having to make your case.
But the same is true of anyone else, and that necessarily excludes non-experts who will not be able to make their case effectively.
That is the crux of why this is a huge deal, and Linus changing the Linux scheduling algorithm is not a huge deal. People are afraid that Bitcoin is going to break, or meet an obstacle that prevents them from making massive ROI on their speculation, and they have a lot of stake in the game in protecting Bitcoin.
> It took me about 2 months from not knowing how Bitcoin worked to implementing my own cryptocurrency with a novel PoW approach.
"It took me about 2 months from not knowing how cryptographic hashing worked to implementing my own hash with a novel sponge function."
The hard part is not making a cryptocurrency that works when people use it normally. The hard part is making a cryptocurrency that works when people around the world can profit tens of millions of dollars by breaking the cryptocurrency (either abusing the mining, spending coins that don't belong to them, DoS'ing competing miners, etc.)
I don't know which cryptocurrency you made (I tried to look it up via your HN profile, but didn't find anything), but if you get it peer reviewed I imagine that experts will quickly be able to find a reason or two for why it is either broken or uninteresting.
Anyone can make a cryptosystem that they themselves cannot break. Bitcoin is among the most complex and cutting edge cryptosystem we have today. Even in the past few months, several important and severe flaws in Bitcoin have been discovered and fixed.
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015...
https://www.reddit.com/r/bitcoin_devlist/comments/3bsw60/upc...
Decisions as seemly small as updating the blocksize limit are enormously nuanced. It changes the entire game theory behind the mining, affects how people will be running validation nodes, and requires a strong understanding of how blocks propagate around the world, and what a nice 'average' block looks like vs. a block that was made maliciously.
> better follow it up with links to a list of the academic papers that one would need to get up to speed
This is a very difficult thing to do, especially because Bitcoin is so new. Much of the important discussion that has happened resides only in mailing lists, blog posts, irc logs, github issues, and forum posts.
But here is a good set of papers to get started:
http://diyhpl.us/~bryan/papers2/bitcoin/
A smaller, more focused list:
It will also help if you read the full #bitcoin-wizards log, dating back to around 2013 I believe. There you will find lots of highly technical discussion with links to more discussion and research papers. It's probably got the highest signal to noise ratio of any public discussion.
Even the normal political problems that governments concern themselves with typically have technical aspects as well as their social values aspects, and while democracy can hopefully allow us to take many different peoples ideas of what constitutes the good life into account, we don't expect them all to have a complete understanding of the technical aspects of each decision.
It's quite possible that random guys might have relevant things to say about the values that inform the block size discussion even if they don't understand the details of the technical discussion.
Why not? As an end-user your opinion is very important, you're the one that has to live with the detached decisions that Linus makes regarding the scheduler.
Task scheduling is deeply complicated. Optimising for one set of cases hurts others, so it's an exercise in hard tradeoffs. It also has deep knock.on effects in other parts of the system.
I do not have the expertise to make proper judgements regarding choices in that space. The breadth of knowledge and experience required greatly outstrips my own.
Moreover its a space where subjective experience is the worst possible measure. So my gut feeling as a user is utterly useless in making appropriate technical choices in the space.
I'm pretty sure giving people the time of day is an admirable trait and can teach you many things regardless of their expertise. It's after the fact that you disregard the cruft.
It's like the Republican debates for me, I can't seem to find any common ground with these candidates but then I find a few nuggets that I do like (such as Jeb Bush's funding of crisis birth centers and increasing the adoption rates in Florida through better funding and education for adoption centers. Even if I'm pro choice I think those are good ideas). Of course, the Republican debates are two to three hours long so it's very thankful they're not very often and you need to find the balance so that you're not just wasting your time.
I think it's fair to say that there is no black and white answer to this issue and you really have to go on a case by case basis to maximise your use of the information contained in the people around you.
If it can be done, eventually it will be done. It's inevitable that people will eventually propose all manner of changes to bitcoin, some good, some stupid. Real bitcoin (or original bitcoin) could still continue to run as its own fork, in the background, waiting for the market to decide on a winner. Just as it is inevitable that developers will propose a small infinity of bitcoin-derived altcoins, trying to capture the windfall of a self-published bootstrapped currency. But very few altcoins will become successful networks in the long term, a smaller and smaller percentage of new coins as time goes on.
Either Hearn and Andresen are correct, in which case their success will speak for itself -- even if they totally screw over the large bitcoin bag-holders in the process. Or, XT will become an insecure, centralized network and will die off on its own. No need for politics, in this case mathematically dictated incentive structures will decide who wins.
Could someone explain how the XT fork might affect the future value of currently-existing Bitcoins?
I expected it to have a neutral effect, since one fork will eventually die out (and since the fork does not try to change the rate at which Bitcoin are created). Even if both forks persists somehow, every holder of a current Bitcoin will essentially have 2 Bitcoin -- one spendable on one fork, another spendable on the other.
Whenever I see a statement like this I smile because that's what politics is[1]. If many people decide to do something based on their interests (rather than, say, being forced to leave their homes because of an erupting volcano) -- that's politics. Thing is, people who say they hate politics usually don't know what it is, and the result is that they just do politics badly. You can't not have politics in any social structure -- it is an inherent process in any kind of social interaction. Whenever one person tries to convince someone to do something, or to reach any sort of an agreement -- that's politics by definition. Whether the incentive are mathematical (though they never really are when it comes to humans) or not doesn't matter. Politics is the process by which a decision -- any decision -- is eventually taken by a group.
That's a rhethoric device one should avoid using.
I mean this change will affect miner revenue, but transactions fees are still completely insignificant compared to block rewards.
For an example of something that would favour one group of users over another, we can take a change of block reward decay schedule. If it decays faster, old users are favoured. If it decays slower, new users and miners are favoured.
An increase in blocksize later on, when fees are majority of mining revenue would favour users over miners.
Forking code sounds great but we are talking here about money and assets, I would prefer agreement even when distributed systems are exciting.
"...bitcoin is an experiment. It's getting to be a scarier and scarier experiment as it gets larger and larger, because if it fails there will be a lot of people who will lose the money they've invested..." Gavin Andresen, Bitcoin Developer, 2014 - http://www.econtalk.org/archives/2014/05/gavin_andresen.html
There is great debate and concern about Bitcoin trying to change its core software. Network tests have found the credit card processor can process many more transaction per second than Bitcoin can. Some influential leaders want to make changes that will make the protocol more competitive with VISA/MASTERCARD. They want to change increase amount of transaction processed in each block (the block in blockchain technology). The important issue is not about changing Blockchain size it is about changing the hard coded rules that are the foundations for trust in Blockchain based systems. What is there to stop future forks that change other rules that users relied upon in their choice to participate in this financial system. Lets say some economic interests in the future lobby the influential core developers and miners to change the amount of coins mined in the future to let say 100 million. If the users rely on the software to enforce it rules any important changes to the rules that are significant can effect the end users in unpredictable ways. The users of Bitcoin have no say. Once again a small group is making choices and if they are wrong they can destroy the entire system. A system that relies on influential few promoting there own economic interest is no better than a public company issuing out more shares when they see the need or the government printing more currency. Those who want to take Bitcoin into direct competition with VISA/MasterCard should simply create a new coin designed to do this. There is so much more to the potential of the protocol than just a cheaper way to spend money. The principal of hard coded rules they can not be changed and are enforced by the software is one of the true revolutionary idea’s of Bitcoin. There is more at stake than creating competition for banks. Its about staying true to a financial system rules that users chose to participate in.
Why do you think it was OK to make a change to add a limit but not make a change on the size of the limit?
If there is a fork and it is because of this advocacy of Mike Hearn and friends, do they become more prominent as the defacto leaders of bitcoin?
"Why are we forking Bitcoin?"
I see many articles touting the so called democratic governance model of Bitcoin and if that is indeed the model then what other "popular delusions and madness of crowds" will my money be subject to in the future?
An independent miner with an average affordable rig might find somewhere on the order of one block per year on average. This means that due to variability, a good proportion of miners would not find any blocks at all within the lifetime of their hardware, and give up forever.
If low-income-variability pooled mining becomes impossible, then my guess is that mining will be centralised to people who run purpose-built datacentres full of miners, not the casual users.
AFAIK, that's already happened. The difference is only that mining pools owned by independent entities wouldn't be able to collaborate. So you'd be more likely to have e.g. 5-10 big pools, as opposed to 2.
Nobody wants to buy unspendable BTC, so it's in almost everyone's interest to find consensus, even if it's tragedy-of-the-commons consensus, very quickly.
The problem is that some people want to change the specification (bigger blocks) and some want to keep the current specification. The block size is part of the specification or that it's only an implementation detail?
For me, it's not clear what a "specification for a federated networks" means
* One interpretation is that the specification is written in assembler and is the current official Bitcoin client, and any other client has to be 100% bug compatible with it. Nobody can change it ever.
* Another interpretation is that anyone can add a new version inside a general framework, and somehow the people decide which version to use. You need some kind of number identifier for each version, or to make it user friendly you can use a nickname. If the network is too general, you can include Bitcoin and Litecoin (and all the Altcoins) in it. The network is just Internet.
Both alternatives have "zero single points of failure". The problem is that people want something in between.
When I've thought about it, I come to the conclusion that the base specification needs to be so simple (with clear path for extensibility) that no one will disagree, and everyone can see that it's critical for an electronic currency to exist. Namely the ability to own it, and to exchange it.
Another thing is, I believe that in order for something like a global electronic currency to become universally accepted, without support from / cooperation with governments, there can be no center of power, and unfortunately structurally I can't imagine something like that could happen with a blockchain-based currency.
Don't get me wrong. I see the beauty / elegance of the blockchain, but I can't get my mind wrapped around the idea that everyone (or even a significant percentage of people) around the world will accept the idea that their currency is at the mercy of decisions being made by some relatively small group of people who basically answer to no one except in the sense that they'll always attempt to do popular things in order to prevent people from leaving their currency for another.
In my mind the only useful trait of Bitcoin has been its decentralized nature. Take that away and I'd rather deal with USD, EUR and my local banking system, thank you very much.
And for me, the only dangerous thing of Bitcoin is its decentralised nature.
Or you use banks, letters of credit from them (https://en.wikipedia.org/wiki/Letter_of_credit), etc.
Many crashes in the 1800s were about Banks issuing too many certificates for the amount of Gold that was actually stored in their vaults.
Gold Certificates are no different than credit cards or fractional reserve banking. The bank makes a promise without proving anything, and people are expected to trust the banks for things to work out.
And when the poop hits the fan, people look into the vaults and realize they've been fooled. Maybe the gold really was there, but has been loaned out to another bank (and the banks have gold certificates to another bank). And maybe _THAT_ other bank has been lying this whole time. Its your standard economic issues, too big to fail and all that.
Besides, leaving the Gold Standard was how the world recovered from the Great Depression. https://en.wikipedia.org/wiki/Great_Depression#Gold_standard
Which might be why I said:
but at least you get a clear signal when they get repudiated.
When, not if. I think this may be better than how fiat money "works", but obviously opinions vary.
I don't see how a gold standard would change any of this. Should the banks have issues, they will legally prevent bank runs by making it impossible to withdraw money.
Whether or not a bank is tied to the gold standard, this will occur.
> When, not if. I think this may be better than how fiat money "works", but obviously opinions vary.
No sarcastic "quotes" needed. We both know that both Gold Standard and Fiat Money works. The question is if anyone has actually studied the 1800s economy and honestly can tell me that it was better than the 1970s+ economy.
Bank runs a plenty, private persons losing their entire savings as banks folded. Etc. etc...
The fixes for those have only a limited bearing on a gold standard, which, BTW, I have no interest in debating, don't know much about them.
It was institutions like the FDIC with its limited backstop of bank accounts, and during the recent crisis a backstop for non-interest bearing business transaction accounts (e.g. those used for payroll, accounts payable, etc.) that fixed those problems well enough. As far as I can see a gold standard would only be an issue if it would prevent the government from doing that, which is certainly possible, but would not be a direct or inevitable thing.